OpenWrt 21.02.0 - 首个稳定版 - 2021 年 9 月 4 日

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 21.02.0, r16279-5cc0535800
 -----------------------------------------------------

OpenWrt社区在此非常自豪地发布 OpenWrt 21.02 系列的首个稳定版。这个版本相对于之前的 OpenWrt 19.07 做出了超过 5800 次修改,并已经持续开发了一年半。

OpenWrt是一个为嵌入式设备设计的一款Linux操作系统,它可以用于替换庞大数量的无线路由器 以及非网络设备的原厂固件。查看硬件支持表格获取更多 关于硬件支持的信息。如果你想知道更多关于OpenWrt项目的细节,可以查看 关于OpenWrt的页面

在大部分情况下,使用系统升级工具可以将 OpenWrt 19.07 顺利的升级到 OpenWrt 21.02 并保留 配置文件,但我们还是建议您在升级之前备份一下您的配置。(参见下方的“升级”章节)

你可以在此下载到 OpenWrt 固件: https://downloads.openwrt.org/releases/21.02.0/

我们在 19.07 版本中引入了 WPA3 支持,但其并没有预装到出厂镜像中。

现在在 21.02 版本中,我们默认预装了这些 WPA3 所需的软件包。WPA3 现已被 OpenWrt 中的大多数Wifi驱动所支持。

OpenWrt 现在默认启用了 TLS 功能并内置了 Mozilla 信任的证书,这也就意味着 wgetopkg 命令在不做额外操作的情况下可以直接获取 HTTPS 的资源了。 现在,opkg 下载服务器将默认使用 HTTPS 加密连接

OpenWrt 已经将默认的 SSL 库从 mbedTls 切换为 wolfSSL。你也可以手动安装并切换为 mbedTLS 或是 OpenSSL。

从 OpenWrt 19.07 升级到 OpenWRrt 21.02 的话,HTTP 请求会被重定向到 HTTPS。但如果是全新安装 OpenWrt 21.02,则不会启用重定向。你可以使用以下命令手动开启或关闭重定向:

uci set uhttpd.main.redirect_https=1   # 1 为开启, 0 为关闭
uci commit uhttpd
service uhttpd reload

分布式交换机架构(Distributed Switch Architecture,DSA) 是用于配置以太网交换机的一项 Linux 内核标准。

OpenWrt 21.02 对 DSA 做了初步的支持,现在已经替换了 OpenWrt 一直以来使用的 swconfig 系统。 需要注意的是,并不是所有设备都做了这方面的支持,一些没有支持的设备依旧需要使用 swconfig

这项改动极大的影响了交换机端口和VLAN配置,因此系统升级工具无法将原有的 swconfig 配置转换为新的 DSA 配置。请参见下面的“升级”章节。

参阅 OpenWrt 的 DSA 文档以获取更多信息。

以下设备在 OpenWrt 21.02 中会使用 DSA 管理的交换机:

由于新功能的增加以及Linux内核大小的提升,现在设备需要至少 8 MB 存储和 64 MB 内存才能运行官方 OpenWrt固件。 我们建议使用具有更大储存空间的设备以提升固件扩展性,详情请参见 8/64 警告

您也可以尝试自己编译OpenWrt镜像(例如使用ImageBuilder),以放入只有 4MB 存储和 32MB 内存的设备中。 虽然这可以实现,但您需要注意部分功能会被删减并且稳定性可能收到影响。请参见 在4/32MB设备上运行 OpenWrt 以获取更多信息

/etc/config/network 文件的网络配置语法有一些改动:

  • config interface 中的选项 ifname 重命名至 device (因其本身定义的就是一个 设备(device))
  • config device 中的类型 bridgeifname 重命名至 ports
  • 安装自动生成的配置文件现在将第二层(config device)和第三层(config interface)的配置分开了。

为保证兼容性,旧语法的配置文件依旧支持,且不会在升级过程中自动转换。

但 LuCI 网络界面会尝试检测旧语法并将其转换为新的语法,因为 LuCI 只支持新语法配置文件的编辑。

新配置文件语法

新的配置文件范例:

config device
	option name 'br-lan'
	option type 'bridge'
	option macaddr '00:01:02:XX:XX:XX'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
    
config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'eth1'
	option macaddr '00:01:02:YY:YY:YY'

config interface 'wan'
	option device 'eth1'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth1'
	option proto 'dhcpv6'

在此范例中,DSA 设备使用了 lanX 接口名称,而非 DSA 设备将会继续使用老的 ethX 接口名称。

board.json 变更

board.json 中网络相关的部分,所有的 “ifname” 也被重命名为了 “device”。D

DSA网桥现在也将其端口列表暴露于 “ports” 部分中。

如果你依赖于 board.json,此变更将是无法向下兼容的。

DSA 网桥示例:

"network": {
        "lan": {
                "ports": [
                        "lan1",
                        "lan2",
                        "lan3",
                        "lan4"
                ],
                "protocol": "static"
        },
        "wan": {
                "device": "wan",
                "protocol": "dhcp"
        }
}

swconfig 交换机配置示例:

"network": {
        "lan": {
                "device": "eth0",
                "protocol": "static"
        },
        "wan": {
                "device": "eth1",
                "protocol": "dhcp"
        }
}

新的 realtek 类型现已添加,它们一般是管理型交换机。因此现在你可以尝试在具有多个以太网端口的设备上运行 OpenWrt 了。

请参见 realtek 类型的设备 页面。

bcm4908rockchip 设备也已添加

现有的类型中也新增了许多新设备。

ar71xx 类型设备已经在 OpenWrt 19.07 中被废弃,并逐渐由 ath79 所取代,请参见 ar71xx至ath79的迁移.

在 OpenWrt 21.02 中,ar71xx 已经完全被移除,现在用户必须使用 ath79。 如果你正在运行 ar71xx 设备,我们建议你重新安装 OpenWrt 21.02。已有的 ath79 用户则可以使用系统升级工具升级至 OpenWrt 21.02.

以下设备也被移除了:cns3xxxrb532samsung

暴露于网络上的用户空间程序现在被链接为地址无关可执行文件(position-independent executable,PIE)以得到完整的 ASLR 支持。此功能使得攻击者更加难以攻击 OpenWrt。 请参见 构建加固选项 以获取更多信息。

多项 Linux 容器(LXC)和 procd-ujail 所需的内核编译选项现已为大多数设备默认启用。 现在你可以在官方镜像上使用 LXC 和 ujail 了。

现在可以在编译时启用SELinux支持了,当前此功能并没有默认启用。

OpenWrt 21.02.0 中的核心部件版本如下:

  • 工具链:
    • musl libc 1.1.24
    • glibc 2.33
    • gcc 8.4.0
    • binutils 2.34
  • Linux 内核
    • 5.4.143
  • 网络:
    • hostapd 2020-06-08, dnsmasq 2.85, dropbear 2020.81
    • cfg80211/mac80211 (来自内核 5.10.42)
    • wireguard 反向移植自上游 Linux 内核
  • 系统:
    • busybox 1.33.1

初次之外,还有许多未列出的应用软件升级

可以使用系统升级工具将您的设备从 19.07 升级到 21.02,在大部分情况下您的设置会被保留

:!: 不支持从 18.06 升级到 21.02

:!: 无法将传统的 swconfig 配置升级到 DSA 配置。在这种情况下,系统升级工具将会拒绝升级并报以下错误:
Image version mismatch. image 1.1 device 1.0 Please wipe config during upgrade (force required) or reinstall. Config cannot be migrated from swconfig to DSA Image check failed

:!: 依赖于大容量存储设备(如硬盘、U盘、SD卡等)启动的设备,若默认root分区大小改变了,则 MBR 也会跟着改变,并且额外的分区将会被自动移除。

  • IPv6 可能会在软件流量分载启用的情况下丢包:FS#3373
    • 在此情况下,你可以尝试禁用此功能。此功能默认即禁用的。

一如既往的衷心感谢各位活动的软件包维护者、测试者、文档编写者和支持者的贡献。

祝各位用得开心!

OpenWrt 社区

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2021/09/05 11:36
  • by jiangming1399