Openwrt功能
基础网络功能 :支持多种常见路由协议,如 RIP、OSPF、OLSR、BATMAN 等,适用于各种网络场景。
自定义与扩展功能 :用户可自定义设备的功能,通过安装各种软件包,如防火墙、DNS 服务器、代理服务器等,来扩展设备的功能。
包管理系统 :使用 opkg 作为包管理系统,用户可以通过简单的命令行操作安装和卸载软件包,极大地扩展了设备的功能。
网络优化功能 :支持 DMZ(隔离区)、VLAN(虚拟局域网)、虚拟服务器(端口映射)、访问控制列表(ACL)、NAT(网络地址转换)等常用功能模块以及支持防火墙功能。
安全功能 :提供一系列的安全特性,包括防火墙规则、SSL/TLS 加密支持等,有助于保护用户的网络免受攻击。
命令行与 Web 界面管理 :具有强大的命令行界面,用户可以通过 SSH 连接和 Linux 终端轻松管理设备;同时支持 Web 用户界面(LuCI),方便用户进行配置。

编辑教程
作者以以RY-1(如意云一代)路由器为例子,简要介绍openwrt固件的编译过程。
一、搭建编译环境。编译建议在Linux下进行。我的系统是Linux mint 17,执行以下命令,构建编译环境:
sudo apt-get update
sudo apt-get install git-core build-essential
二、获取openwrt源码。在当前用户主目录下执行
git clone git://git.openwrt.org/openwrt.git
等待代码下载。结束后,目录下会出现openwrt文件夹。
三、配置软件源。进入openwrt目录,执行
./scripts/feeds update -a
./scripts/feeds install -a
四、检查编译环境是否完整:
make defconfig
make prereq
根据提示信息安装需要的软件包。如果提示类似
“tmp/.config-package.in:22022:warning: mult strings not supported”
的信息,打开 openwrt/tmp/.config-package.in,定位到对应行,添上丢掉的一个引号就可以了。
五、编译选项:
执行 make menuconfig,根据路由器情况,选择 Target System 和 Subtarget。如意云一代和极壹S的 Target System 均为 Ralink RT288x/RT3xxx 。对于Subtarget ,前者为 MT7620n based boards ,后者为 MT7620a based boards。
其他选项根据个人喜好选择。一般来说要选中LuCI界面,选中中文语言包等等。
六、开始编译:
执行 make -j2 V=s 进行编译。-j后面的数字是电脑物理CPU数量加一。V=s可以显示出编译的详细信息。首次编译大概需要几个小时的时间。
七、错误排查:
编译失败,一般有两种情况:
1、代码下载链接失效。首次编译时,编译程序会实时从网上下载一些软件包的代码。如果下载链接失效,编译就会失败。这时需要根据软件包的名称,从网上自行下载,然后放在 openwrt/dl/ 目录下,执行 make -j2 V=s 继续编译即可。
2、软件包自身有问题。这时重新执行 make menuconfig ,取消对应软件包选中即可。这种情况比较少见,目前已知的有 tor 等。
编译成功,但没有生成固件。这种情况一般是因为选中的软件包过多,导致固件大小超过16MB。重新执行 make menuconfig,去掉一些软件包,重新执行编译即可。
八、得到固件。在排除了所有错误后,现在终于得到了固件。对于如意云RY-1,固件在 openwrt/bin/ramips 目录下,形如
openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin
等等。
注意:编译时要连接到互联网。
Openwrt使用方法
第一步:登录并打开路由器管理界面—“系统”—“文件传输”—“选择文件”—“选择存放的ipk软件包”—“上传”

第二步:ipk 上传完毕后,会有如下图“文件上传成功”的提示

第三步:此时,页面底部的 “上传文件列表”会出现 “ luci-app-passwall_3.9-73_all.ipk ”—“安装”

在点击“安装”后, 在“上传文件列表”会显示 “Installing luci-app-passwall (3.9-73) to root… Configuring luci-app-passwall.” (正在安装并配置 passwall)

第四步: 安装完成,查看 passwall 插件是否安装成功, “服务”下是否有Passwall 插件。

PS: 如果后续 想使用最新的 passwall 插件,只需重复上述操作,就能更新插件了;或者先卸载已安装Passwall 插件,再重新安装自己想要的插件版本。
Openwrt固件优势
高度可定制:提供了一个 Linux 软件的架构,用户可以根据实际情况安装各种软件包,加上需要的功能且不引入没用控制模块。可靠性:核心和用户室内空间应用软件经历了严格检测和改进,以保证在资源有限的资源机器设备上也能高效运行。
安全系数:给予多层面安全策略,包含 IPSec/SSL VPN、硬件配置级网络防火墙等,用户可审核和改动源代码,清除侧门安全隐患。
开放式与平台生态:开源软件,有着有活力的开发者平台和丰富资源适用,编码透明度高,小区驱动更新,持续获得特色功能和安全更新。
性能调优与资源操纵:容许用户根据核心配置软件包裁切优化软件资源,适用低能耗运作、实用性提高和互联网性能调优。































