问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

开源路由操作系统OpenWrt详解

创作时间:
作者:
@小白创作中心

开源路由操作系统OpenWrt详解

引用
1
来源
1.
https://dashen-tech.com/blog/openwrt/

OpenWrt是一个基于Linux的开源路由器操作系统,它打破了传统路由器固件的限制,为用户提供了高度的可定制性和灵活性。本文将详细介绍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之类的功能.
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号