1. 摘要
OpenWrt 是一个基于 Linux 的操作系统,主要为路由器、接入点、住宅网关和其他嵌入式网络设备而设计。与典型的供应商路由器固件不同,OpenWrt 被构建为可定制的操作系统,具有可写文件系统、包管理、命令行访问、基于 Web 的管理、防火墙控制、VPN 支持、VLAN 支持、流量整形和广泛的服务配置。 OpenWrt 项目将其描述为用于嵌入式设备的 Linux 操作系统,用完全可写的文件系统和包管理取代静态供应商固件。
截至 2026 年 6 月 21 日,官方下载页面列出的当前稳定 OpenWrt 版本为 OpenWrt 25.12.4,于 2026 年 5 月 13 日发布。OpenWrt 25.12 引入了从 opkg 到 apk 的重大包管理更改,默认添加了有人参加的 Sysupgrade 集成,并支持 2,200 多个设备25.12系列。
2. OpenWrt 是什么
OpenWrt 最好理解为以路由器为中心的 Linux 发行版,而不仅仅是替代路由器固件。它包括 Linux 内核、网络服务、防火墙工具、配置系统、包管理器以及通过 LuCI 进行的可选 Web 管理。其目的是让用户控制通常附带有限的、供应商控制的固件的设备。
普通的消费者路由器固件通常仅公开有限的 Web 界面。 OpenWrt 公开底层操作系统。用户可以安装软件包、编辑系统配置、运行服务、创建防火墙区域、构建 VPN 网关、分段网络、配置 VLAN、监控流量以及自动化路由器行为。
实际上,OpenWrt 将兼容硬件转变为可编程网络设备。
3. 为什么 OpenWrt 存在
大多数路由器供应商提供的固件都是锁定的,很少更新,并且仅限于供应商选择公开的功能。 OpenWrt 采用了不同的方法:
| 供应商固件 | OpenWrt |
|---|---|
| 大部分是静态图像 | 可写、包管理的系统 |
| 有限的网络界面 | Web UI、SSH、脚本和配置文件 |
| 供应商控制的功能 | 用户控制的包和服务 |
| 更新生命周期通常较短 | 社区维护的版本 |
| 设备特定的行为 | 跨受支持设备的通用 OpenWrt 配置模型 |
OpenWrt 自己的自述文件解释说,该项目将用户从供应商选择的应用程序和配置中解放出来,允许通过软件包自定义设备。
4. 当前版本背景
官方下载页面目前将 OpenWrt 25.12.4 列为最新的稳定版本。 25.12稳定版系列引入了几个重要的变化:
| 区域 | 改变 |
|---|---|
| 包管理器 | 从 opkg 切换到 apk |
| 升级 | 默认安装参与 Sysupgrade LuCI 应用程序 |
| 设备支持 | 25.12 系列支持超过 2,200 种设备 |
| 脚本 | 用 ucode 重写的 Wi-Fi 脚本 __分割_34__ 升级型号 __分割_35__ 更好地支持使用已安装的软件包重建固件映像 __分割_36__ OpenWrt 25.12 从传统的 opkg 包管理器过渡到 apk(Alpine 包管理器)。发行说明指出 apk 仍得到维护,而 OpenWrt opkg 前叉不再维护。 OpenWrt 软件包文档指出 OpenWrt 25.12 及更高版本使用 apk,而 OpenWrt 24.10 及更早版本使用 opkg。 __分割_37__ 5. 核心操作系统架构 __分割_38__ OpenWrt 由多个协调的系统组件构建而成。 __分割_39__ 组件 __分割_40__ 角色 |
| 升级型号 | 更好地支持使用已安装的软件包重建固件映像 |
OpenWrt 25.12 从传统的 opkg 包管理器过渡到 apk(Alpine 包管理器)。发行说明指出 apk 仍得到维护,而 OpenWrt opkg 前叉不再维护。 OpenWrt 软件包文档指出 OpenWrt 25.12 及更高版本使用 apk,而 OpenWrt 24.10 及更早版本使用 opkg。
5. 核心操作系统架构
OpenWrt 由多个协调的系统组件构建而成。
| 成分 | 角色 |
|---|---|
| Linux 内核 __分割_42__ 硬件驱动程序、网络堆栈、防火墙挂钩、路由、无线支持 | 硬件驱动程序、网络堆栈、防火墙挂钩、路由、无线支持 |
| procd __分割_44__ 初始化和进程管理 __分割_45__ ubus __分割_46__ 进程间通信和RPC系统 | 初始化和进程管理 |
| ubus | 进程间通信和RPC系统 |
| netifd | 网络接口管理守护进程 |
| UCI | 统一配置系统 |
| fw4 / firewall4 | 使用 nftables 进行防火墙管理 |
| dnsmasq | DNS 转发和 DHCP 服务 |
| odhcpd | DHCPv6 和路由器通告服务 |
| LuCI | 基于网络的管理界面 |
| apk / opkg | 包管理,取决于 OpenWrt 版本 |
OpenWrt 文档将 procd 描述为项目的进程管理守护进程,用于 init 和守护进程管理。 ubus 是许多 OpenWrt 服务使用的内部通信系统。 netifd 是 OpenWrt 的网络接口配置守护进程。
6. 文件系统设计
OpenWrt 的文件系统专为嵌入式闪存存储而设计。官方文档将 OpenWrt 描述为通过 OverlayFS 组合使用 SquashFS 和 JFFS2。
实用模型为:
| 层 | 目的 |
|---|---|
| 只读 SquashFS 基址 | 存储压缩的固件映像 |
| 可写覆盖 | 存储更改、安装的软件包和配置 |
| OverlayFS | 将两层呈现为一个可用的根文件系统 |
这种设计为 OpenWrt 提供了重要的恢复优势。基本固件保持只读状态,而用户在可写覆盖层中进行实时更改。恢复出厂设置可以删除覆盖层并将系统返回到原始闪烁状态。
一个关键的限制是存储空间。许多路由器都有小型闪存芯片。安装太多软件包可能会填满覆盖层。 OpenWrt 25.12 的有人参与的 Sysupgrade 支持通过允许使用集成到 SquashFS 中的已安装软件包来重建固件映像来提供帮助,发行说明将其描述为比将这些软件包保留在覆盖存储中更具存储效率。
7. __P71__:OpenWrt 的配置系统
OpenWrt 使用 UCI(统一配置接口)来集中系统配置。 UCI 将配置存储在可读文本文件中,通常位于:
/etc/config/
OpenWrt 文档将 UCI 描述为一个小型实用程序,旨在集中配置运行 OpenWrt 的设备。 用户文档指出 UCI 配置文件由定义实际值的部分和选项组成。
常见的 UCI 文件包括:
| 文件 | 目的 |
|---|---|
| /etc/config/网络 | 接口、网桥、VLAN、IP 地址 |
| /etc/config/无线 | Wi-Fi 无线电、SSID、加密 |
| /etc/config/防火墙 | 区域、规则、转发、NAT |
| /etc/config/dhcp | DHCP、DNS、静态租约 |
| /etc/config/系统 | 主机名、时区、日志记录 |
| /etc/config/平方米 | 智能队列管理设置 |
UCI 命令示例:
uci show network
uci show wireless
uci show firewall
uci set system.@system[0].hostname='openwrt-router'
uci commit system
UCI 很重要,因为它为 OpenWrt 提供了跨许多硬件平台的一致配置层。用户可以在不同的路由器上配置相同的概念,而无需了解每个供应商的私有固件结构。
8. LuCI 网页界面
LuCI 是 OpenWrt 的基于 Web 的配置界面。 OpenWrt LuCI 存储库将 LuCI 描述为“OpenWrt 配置接口”。
LuCI 提供基于浏览器的常见管理任务访问,包括:
- 网络接口
- 无线设置
- 防火墙区域和规则
- DHCP 和 DNS
- 软件包
- 系统日志
- 重新启动和备份
- 固件升级
- 可选服务页面,例如 SQM、VPN、广告拦截和统计
LuCI 对于大多数路由器所有者来说非常有用,因为它无需使用命令行即可公开 OpenWrt 的主要功能。高级用户仍然经常将 LuCI 与 SSH 结合起来,因为并非每个包或边缘情况配置都有完整的图形界面。
9. 包管理
OpenWrt 的包管理器允许用户在安装后添加或删除功能。
对于 OpenWrt 25.12 及更高版本,请使用 apk:
apk update
apk add luci-app-sqm
apk add wireguard-tools
apk del package-name
对于 OpenWrt 24.10 及更早版本,请使用 opkg:
opkg update
opkg install luci-app-sqm
opkg remove package-name
OpenWrt 的软件包文档指出 OpenWrt 25.12 及更高版本使用 apk,而 24.10 及更早版本使用 opkg。 专用 apk 文档指出 apk 用于 OpenWrt 25.12 及更高版本。
包管理是 OpenWrt 最强大的功能之一,但必须谨慎使用。路由器的闪存和 RAM 有限,与内核相关的软件包必须与正在运行的版本相匹配。对于重大升级,OpenWrt 的有人值守的 Sysupgrade 系统通常比将路由器视为桌面 Linux 机器并盲目升级每个包更安全。
10. 网络模型
OpenWrt 的网络模型将设备、接口、网桥、防火墙区域和服务分开。
设备
设备是物理或虚拟网络对象,例如:
eth0
eth1
br-lan
wlan0
br-lan.10
接口
接口定义 OpenWrt 如何使用设备。示例:
lan
wan
guest
iot
vpn
桥梁
网桥将多个端口或无线网络连接成一个第 2 层网络。常见的默认值是:
br-lan
VLAN
VLAN 允许一个物理网络承载多个隔离的逻辑网络。 OpenWrt 在许多现代目标上使用 DSA,官方 DSA 迷你教程涵盖了桥接 LAN 端口、多个桥接网络和 VLAN 标记等示例。
DHCP 和 DNS
对于 DNS、DHCP 和 DHCPv6 相关功能,OpenWrt 默认使用 dnsmasq 和 odhcpd。 OpenWrt 文档指出 dnsmasq 和 odhcpd 默认提供 DNS、DHCP 和 DHCPv6 服务。
11. 防火墙架构
现代 OpenWrt 版本使用 firewall4,也称为 fw4,以 nftables 作为后端。 OpenWrt 防火墙文档指出 OpenWrt 使用 firewall4 和 netfilter nftables。 防火墙配置文档还指出 OpenWrt 22.03 及更高版本默认附带 firewall4。
OpenWrt 防火墙通常分为区域:
| 区 | 典型含义 |
|---|---|
| 局域网 | 可信内部网络 |
| 万 | 面向互联网的网络 |
| 客人 | 隔离访客网络 |
| 物联网 | 分段智能设备网络 |
| VPN | VPN隧道接口 |
典型的路由器防火墙设计允许 LAN 客户端访问 WAN,阻止未经请求的 WAN 到 LAN 流量,并仅允许特定的入站服务(如果管理员创建规则)。
OpenWrt 的安全强化文档指出,默认情况下 OpenWrt 在 WAN 端是安全的,因为不允许未经请求的流量通过防火墙。
12. 无线网络
OpenWrt 可以作为接入点、客户端、中继器、网状网络参与者或多 SSID 路由器运行,具体取决于硬件和驱动程序支持。
重要的 Wi-Fi 概念包括:
| 概念 | 意义 |
|---|---|
| 收音机 | 物理 Wi-Fi 芯片组 |
| SSID | 广播 Wi-Fi 网络名称 |
| AP模式 | 路由器提供 Wi-Fi 访问 |
| 客户端模式 | 路由器连接到另一个 Wi-Fi 网络 |
| WPA2/WPA3 | 无线加密方式 |
| 国家代码 | 监管域控制通道和发射功率 |
| 多个 SSID | 一台无线电上的独立无线网络 |
| 访客无线网络 | 针对不受信任的客户端的隔离网络 |
OpenWrt 文档指出,出于安全原因,具有以太网端口的设备默认关闭无线功能。 无线配置文档还指出,在具有以太网端口的设备上,默认情况下禁用无线,并且当无线设置更改时 LuCI 会写入 /etc/config/wireless。
13. 安全模型
OpenWrt 的安全优势来自透明性、快速可修补性和管理员控制。然而,它也给了用户足够的权力来错误配置路由器。
推荐基线:
1. 设置强root密码。
2. 不要将 LuCI 或 SSH 暴露到 WAN。
3. 仅保留 LAN 或 VPN 上的管理访问权限。
4. 使用 WPA2/WPA3 和强 Wi-Fi 密码。
5. 禁用未使用的服务。
6. 保持 OpenWrt 更新。
7. 使用防火墙区域来隔离访客和物联网。
8. 在进行重大更改之前备份配置。
9. 避免安装不必要的软件包。
10. 使用受支持的稳定版本,而不是随机的第三方映像。
OpenWrt 的默认 WAN 防火墙状态会阻止未经请求的入站流量,但管理员可以通过打开服务、转发端口或允许从互联网进行管理来削弱该状态。
14. 常见 OpenWrt 用例
14.1 家庭路由器更换
OpenWrt 可以替换支持的路由器上的库存固件。常见原因包括更好的更新、高级防火墙规则、VPN 支持、DNS 控制、广告拦截、访客 Wi-Fi、VLAN 和流量整形。
14.2 接入点
通过禁用路由/NAT 行为并将 Wi-Fi 桥接到现有 LAN,可以将运行 OpenWrt 的路由器配置为纯接入点。
14.3 访客和物联网细分
OpenWrt 可以为访客、智能电视、摄像头、传感器和其他不受信任的设备创建单独的网络。这通常通过附加接口、防火墙区域、DHCP 范围(有时还使用 VLAN)来完成。
14.4 VPN网关
OpenWrt 具有 WireGuard 服务器/客户端设置和 OpenVPN 服务器/客户端设置的官方文档。 VPN 网关可以通过加密隧道路由选定的设备或整个网络。
14.5 流量整形和缓冲膨胀控制
OpenWrt 支持 SQM 或智能队列管理。 SQM 文档将其描述为一个用于按数据包/按流调度、活动队列管理、流量整形、速率限制和 QoS 的集成系统。 SQM 文档还解释说,它旨在管理瓶颈链路(通常是互联网连接)处的队列。
14.6 网络级广告拦截
OpenWrt 可以运行基于 DNS 的广告拦截包。 adblock 的 OpenWrt 软件包页面将其描述为通过 DNS 服务(例如 dnsmasq、unbound、named 或 kresd)阻止广告和滥用域的解决方案。
14.7 实验室、研究和小型企业网络
OpenWrt 对于实验室很有用,因为它在紧凑的系统中展示了真实的路由、防火墙、VLAN、VPN、DNS、DHCP 和无线概念。它可以在路由器、x86硬件和一些单板计算机上运行,具体取决于官方支持。
15. 硬件支持
OpenWrt 支持是特定于硬件的。确切的路由器型号和硬件版本很重要。仅有型号名称是不够的,因为供应商经常以同一产品名称发布多个硬件版本。
官方的 OpenWrt 硬件表是检查兼容性的主要地方。它列出了支持的设备和硬件详细信息。 OpenWrt 25.12 发行说明指出 25.12 系列支持超过 2,200 个设备。
选择硬件时,请检查:
| 要求 | 为什么这很重要 |
|---|---|
| 支持的目标 | OpenWrt 必须支持芯片组/平台 |
| 闪存大小 | 确定固件和封装空间 |
| 内存大小 | 影响稳定性和服务 |
| Wi-Fi芯片组 | 确定无线功能支持 |
| 以太网交换机支持 | 影响 VLAN 和端口行为 |
| 恢复方法 | 如果闪烁失败很重要 |
| 硬件改版 | 不同的版本可能需要不同的图像 |
16. OpenWrt 与 pfSense、OPNsense、DD-WRT 和供应商固件
| 系统 | 最适合 |
|---|---|
| OpenWrt | 嵌入式路由器、AP、紧凑型 Linux 网络、Wi-Fi 密集型部署 |
| pfSense | 防火墙设备、x86 系统、企业式路由/防火墙 |
| OPNsense | 具有强大 Web UI 的 x86 防火墙/路由器设备 |
| DD-WRT | 具有更简单的高级功能的路由器固件替换 |
| 供应商固件 | 无需定制的基础家庭用户 |
OpenWrt 在嵌入式路由器硬件上运行,同时公开 Linux 网络功能,例如防火墙规则、VLAN、Wi-Fi 控制、VPN 包、SQM 和 DNS 工具。 pfSense 和 OPNsense 通常适合更大的 x86 防火墙设备。供应商固件更简单,但灵活性较差。
17. 优势
OpenWrt 的主要优势是:
- 完全控制路由器行为。
- 基于包的功能扩展。
- 强大的防火墙和路由灵活性。
- 支持 VLAN、访客网络、VPN、SQM 和 DNS 控制。
- 跨受支持的设备的一致配置模型。
- 开源开发模式。
- 有源器件和封装生态系统。
- 对于家庭网络和技术实验室都很有用。
OpenWrt 项目将该系统定位为用户的固件替代品和开发人员构建应用程序的框架,而无需从头开始构建完整的固件系统。
18. 限制
OpenWrt 并不是每个路由器或用户的正确选择。
重要限制:
| 局限性 | 解释 |
|---|---|
| 硬件兼容性各不相同 | 并非所有路由器都受支持 |
| 闪存/RAM 可能受到限制 | 小型路由器可能无法处理许多包裹 |
| Wi-Fi 支持取决于驱动程序 | 某些芯片组的性能优于其他芯片组 |
| 配置错误可能会中断访问 | 错误的防火墙或网络设置可能会将用户拒之门外 |
| 供应商功能可能无法继承 | 一些库存固件功能是专有的 |
| 升级需要小心 | 主要版本跳转可能会更改包或配置行为 |
| 第三方构建可能存在风险 | 非官方镜像可能包含未知补丁或过时的软件包 |
对于大多数用户来说,官方稳定的 OpenWrt 映像比快照或随机第三方构建更安全。
19. 推荐操作实践
使用以下做法来稳定 OpenWrt 操作:
1. 使用官方稳定版本。
2. 购买硬件前检查设备支持。
3. 保留 /etc/config 的备份。
4. 记录 LAN IP、VLAN、防火墙区域和 Wi-Fi 设置。
5. 仅安装您实际需要的软件包。
6. 避免将路由器管理暴露在互联网上。
7. 使用 LuCI 执行日常任务,使用 SSH 执行高级工作。
8. 尽可能使用有人值守的 Sysupgrade。
9. 保留一份适用于您的具体型号的恢复说明副本。
10. 在远程依赖更改之前先在本地测试更改。
OpenWrt 25.12 默认情况下包含有人值守的 Sysupgrade 集成,允许设备使用已安装的软件包重建固件映像并在升级期间保留配置。
20. 结论
OpenWrt 是一个完整的嵌入式 Linux 网络设备操作系统。它的价值在于用透明的、包管理的、可配置的平台取代锁定的供应商固件。它使路由器所有者能够控制防火墙、路由、Wi-Fi、DNS、DHCP、VPN、VLAN、流量整形、监控和自动化。
对于基本用户来说,OpenWrt 可能比库存固件更复杂。对于技术用户、集线器所有者、实验室建设者、小型网络和注重隐私的家庭用户来说,它提供了普通路由器固件很少提供的控制级别。最安全的 OpenWrt 部署使用受支持的硬件、官方稳定版本、最少的必要软件包、仔细的防火墙设计和定期配置备份。