开源路由操作系统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之类的功能.
热门推荐
姓属火的名字五行搭配
学历作为“敲门砖”:对工作重要性的深度剖析
如何修复GPU驱动程序崩溃(虚幻引擎错误)
去看了钱钟书先生的硕士论文
厨房健康守护者:酒店洗碗机在卫生管理中的作用与价值
我国首部心衰高钾血症防治共识发布,多家医院启动规范化管理
中药皂角刺的作用,皂角刺的功效与作用有哪些
离婚时一方经济困难怎么帮
腊肠发霉怎么办?三种保存方法让腊肠更安全
口腔上腭红点不容忽视:揭示背后隐患与应对策略!
扬州:“四民共商”筑民心 社区治理“新思路”
房间蜘蛛多该怎么消除?教你家居防护小妙招
不锈钢锅有白点有毒吗?使用不锈钢餐具的五大禁忌
如何撰写年度管理工作总结,让你的团队更上一层楼?
菠菜猪肝汤(溧阳民间美食之一百四十)
进入BIOS设置界面的多种方法
世界名著里的八大经典战役,我打赌第一个你就不知道
纯电车与增程车使用体验深度对比:如何选择更适合你的车?
斜视治疗方法全解析:从保守治疗到手术方案
文献实验结果0.72±0.12这是什么意思
如何选择合适的拉力传感器:关键因素与指南
金鱼用什么水养殖最适合?了解水质对金鱼健康的重要性
新房装修甲醛来源及高甲醛材料识别指南
内分泌失调导致痘痘会留下痘印吗
揭秘甘草酸的神奇力量:如何逆转肝纤维化并抑制氧化应激!
提醒:这些含甘草的药物和食物可诱发低血钾,很多人都忽略了
打完水痘疫苗会出现什么症状
提高网站的可访问性:技巧与策略
如何利用人工智能未来发展趋势提升企业竞争力?
红军中为何没有红三方面军?彭德怀元帅自述说出了真相