开源路由操作系统OpenWrt详解
创作时间:
作者:
@小白创作中心
开源路由操作系统OpenWrt详解
引用
1
来源
1.
https://dashen-tech.com/blog/openwrt/
OpenWrt是一个基于Linux的开源路由器操作系统,它允许用户通过安装特定应用的软件包来自定义其路由器的功能。与传统的路由器固件不同,OpenWrt提供了一个完全可写的具有软件包管理的文件系统,使用户能够摆脱供应商的限制,实现高度的灵活性和可定制性。
安装和基本配置
- 硬件要求:选择用于OpenWrt的新路由器时,建议寻找具有“大于8兆字节的闪存和大于64兆字节的RAM”的设备,以确保操作系统和GUI的全部功能。
- 固件选择:必须为路由器的特定型号和硬件版本选择正确的固件文件(例如,“WR841N”硬件版本“8”),因为使用错误的文件可能会“砖化”设备。正确的固件文件将以“factory.bin”结尾。
- 刷写过程:刷写是通过路由器的Web界面完成的,用户应使用以太网电缆连接,并且必须转到“系统工具”->“固件升级”页面。
- 初始访问:安装后,通过路由器的IP地址(通常为192.168.1.1)通过Web界面LuCI访问OpenWrt。
- 安全加固:安装后的第一步应该是设置root密码以提高安全性,并将设备设置为Wi-Fi接入点。
- 无线设置:默认情况下,无线是关闭的,必须在LuCI界面中手动打开无线才能使无线接入点功能正常工作。
- 基本网络配置:OpenWrt允许配置DHCP租约、网络接口和设置端口转发。
- 更改LAN IP地址:该教程演示了如何更改路由器的默认LAN IP地址(例如,更改为192.168.9.1)。但是,必须手动编辑DHCP设置以防止冲突。
高级配置和功能
- 无线客户端模式(AP客户端):OpenWrt可以配置为无线客户端,以连接到现有网络,然后将该连接重新分配给LAN上的设备,此功能对于扩展现有网络覆盖范围很有用。
- 系统日志:OpenWrt存储全面的日志,可以提供有关网络运行情况的实时信息,例如哪些设备已收到IP地址和常规活动。这些日志提供了当前网络配置的良好概述。
- LuCI应用:该教程介绍了luci-app-statistics的安装,该应用提供了“路由器历史数据图表的良好视图”,例如CPU、RAM、ping时间和系统正常运行时间。
- 配置文件:OpenWrt的配置文件使用节和选项/值结构,并且位于/etc/config/中。
- 通用语法是config[""]用于节,option""用于选项。这些文件由shell解析。
- 网络配置:网络接口配置存储在/etc/config/network中。这些可以设置为“none”、“static”、“dhcp”或“pppoe”协议。使用静态方法时,ipaddr和netmask选项是强制性的。
- 交换机配置:OpenWrt支持用于设置VLAN的交换机配置。
- 交换机配置存储在/etc/config/network中。
- 在Broadcom硬件上,节名称需要为eth0。
- 每个VLAN都需要具有名称vlan,其中n是VLAN号。这些值可以包括:*(用于设置默认VLAN),u(未标记)和t(已标记)。Broadcom硬件上的CPU端口为端口5。
- 无线配置:WiFi设置在/etc/config/wireless中配置,每个无线驱动程序在/lib/wifi/.sh中都有一个配置文件。
- 您可以为wifi设备设置的一些选项包括:distance, mode, diversity, rxantenna, txantenna, txpower。
- wifi接口的选项包括:network, device, mode, ssid和bssid。
- 支持的模式包括:接入点、客户端、ad-hoc、监视器和WDS点对点。
- 802.1x身份验证:OpenWrt支持802.1x身份验证(客户端和接入点配置),EAP类型为TLS、TTLS或PEAP。
开发和自定义
- 构建系统:OpenWrt构建系统使开发人员能够使用交叉编译过程创建自定义固件映像。
- 源代码:OpenWrt可通过Subversion存储库获得。主要目录包括tools、toolchain、package和target。
- 构建映像:命令make menuconfig用于配置构建过程,包括选择平台、工具链和所需的软件包。
- 软件包:OpenWrt固件中的几乎所有内容都是软件包(.ipk)。可以将这些软件包添加到固件中以提供新功能,也可以删除以节省空间。
- 构建环境:OpenWrt提供了一种使用命令./scripts/env为多个配置构建映像的方法。
- 创建软件包:通过创建一个makefile来创建一个软件包,该makefile会在下次运行make menuconfig时自动显示在菜单中。
- 您可以配置的一些选项是:PKG_NAME、PKG_VERSION、PKG_RELEASE、PKG_SOURCE、PKG_SOURCE_URL、PKG_MD5SUM、PKG_CAT、PKG_BUILD_DIR。
- 您还可以添加诸如DEPENDS、BUILDONLY Package//conffiles之类的信息。
- 您还需要定义Build/Compile、Build/Install和Package//install选项。
- 创建内核模块软件包:可以为随主线内核一起提供的模块以及通过定义KernelPackage节来创建外部内核模块。
- 可以配置的选项包括TITLE、DESCRIPTION、SUBMENU、KCONFIG、FILES和AUTOLOAD。
- 故障排除:命令TOPDIR=$PWD make -C package/DUMP=1 V=99 可以帮助诊断软件包是否正确显示在menuconfig中。您还可以使用诸如make package//clean V=99或make package//install V=99之类的命令来清除或安装特定的软件包。
- 添加平台支持:许多设备运行Linux操作系统,即使固件不对消费者开放。可以通过发现它们是否已经运行Linux并查找开发人员工具包来将OpenWrt移植到这些设备。
- 检查此项的有用技术包括:操作系统指纹识别、端口扫描、分析二进制固件映像、检查闪存量和插入串行端口。
- 找到开发人员工具包后,可以为OpenWrt调整内核补丁和二进制驱动程序,并且可以开发新的闪存映射驱动程序和固件构建工具。
- 报告错误:OpenWrt使用Trac系统进行错误报告。
- 报告者可以针对错误、新软件包或请求的功能打开工单。
- 开发人员可以关闭、接受和修复工单。
其他信息
- SSH:通常使用SSH完成对OpenWrt的命令行访问。
- 文本编辑器:vi和vim可用于在命令行中编辑文本文件。常见快捷方式可以在FAQ中找到。
- Windows管理工具:可以使用cmder、SmarTTY、PuTTY和WinSCP之类的工具从Windows管理OpenWrt。
- WAN和WAN6接口:WAN和WAN6接口分别用于网络上游侧的IPv4和IPv6连接。LAN接口处理下游侧的IPv4和IPv6,从而无需单独的LAN6接口。
- Hotplug:可以通过hotplug根据事件动态配置OpenWrt,hotplug是使用脚本配置的。
- Init脚本:所有init脚本都需要作为/etc/init.d/name安装,并使用/etc/rc.common作为包装器。这些脚本用于启动系统服务。
- 网络脚本:可以通过包含/lib/network来访问网络脚本。这些脚本有助于管理接口,并具有诸如find_config和setup_interface之类的功能。
热门推荐
番禺City Walk游玩指南,解锁小众宝藏地!
山本耀司:从东京到巴黎的时尚传奇
揭秘泰国佛牌:佩戴它,真的能带来好运和幸福吗?
076型两栖攻击舰:无限接近航母的最强两栖战舰
什么时候补仓更合适?补仓时需要考虑哪些因素?
化石如何揭示地球的历史?
鼻塞咳嗽时,多喝热水真的好吗?
音响蓝牙连接问题大揭秘!为什么提示已连接却播放不了音乐?
优缺点都太过鲜明!快船是否应该适当约束替补控卫的场上角色呢?
【家国永念】红色故事,小配角也是大英雄
腌鹅蛋怎么腌能好吃还出油?腌鹅蛋秘籍大揭秘
东北三省首家丨吉大一院心血管内科建立零射线导管室
春天多肉怎么浇水才是正确的
三农领域的发展机遇有哪些?如何抓住这些机遇?
孕妇为什么禁用艾草
艾草垫子可以天天坐着吗?使用注意事项全解析
IP地址与网络传输详解
清明节是按农历还是阳历计算 清明节日期如何确定
工作通知的撰写技巧 | 提升团队沟通效率的关键
如何选择适合居住的小区环境?这种环境的重要性体现在哪里?
从五联疫苗说起,宝宝疫苗接种全攻略分享给您
开通186公里,在建250公里,奔赴一座城市的拼搏与发展
小软件定制:打造专属工具,提升工作效率的秘诀
穿颧穿翼种植技术:为牙槽骨条件不佳患者带来新希望
科学认识静脉输液:别让“好得快”带来难以预料的风险!
YOLO目标检测模型评价指标详解:从Precision到mAP
药学科普丨咳喘用药——噻托溴铵吸入粉雾剂/喷雾剂
科普|如何一张图看懂小朋友的生长趋势,这份『保姆级』攻略请诸位家长查收
英超分析预测:Transformer神经时空点过程模型应用
医疗事故中的医生责任