网络上有挺多人分享 OpenWrt 固件的,但是普遍都塞进去很多用不到的插件,总觉得塞一堆插件会导致不稳定,也许是因为强迫症吧,于是博主自己编译了精简版的固件,几位朋友试用后都觉得很稳定。

仅支持 x86_64 的软路由,物理机安装,以下机器经过测试非常稳:3865U/3965U/J4125/N5105。

有哪些插件?

Argon 主题、Passwall、UPnP、动态 DNS、文件传输、定时重启

如何编译的?

Github 云编译,来自项目:Actions-OpenWrt

下载地址

25.5.2-k6.6.88

25.3.29-k6.6.84

25.2.3-k6.6.74

24.7.8-k5.15.162

固件信息

网关:192.168.1.1
用户名:root
密码:空
默认 ETH0 为 LAN 口

解答疑问

一、 为什么不使用最新内核 6.1 或 6.6 ?

上游在 6.1 之后的内核中加入的几个补丁,可能会导致部分 UDP 场景下内核崩溃(__udp_gso_segment),所以暂时使用 5.15 内核,目前很稳定,也原生支持 Intel 2.5G 网卡,无需担心兼容性问题。

二、 是否支持虚拟机 ?

未测试,但上传了虚拟机格式的固件。

三、 是否支持 IPv6 ?

不支持,出于多个因素考虑,不做具体解释。

四、 为什么不包含 Turbo ACC 插件 ?

x86 机器没有使用该插件的必要,经过观察,Flow Offloading 可能会影响部分 Android 设备的微信消息推送,SFE Fast Path 虽然可以提升小包转发性能但会导致 UDP 丢包。

五、 是否支持 IPv6 ?

不支持,出于多个因素考虑,不做具体解释。

六、 Passwall 怎样设置最稳定 ?

固件已经调整了默认设置,请尽量不要修改,特别是 DNS 中的设置项。

启用 ChinaDNS-NG

使用 ChinaDNS-NG 后,DNS 请求流程:

  1. 判断域名是否包含在直连域名列表中,如果存在,则始终使用直连 DNS 解析,且无论解析结果是否为国内 IP,请求均不经过代理。
  2. 判断域名是否包含在代理域名列表中,如果存在,则始终使用远程 DNS 解析,且无论解析结果是否为国外 IP,请求均经过代理。
  3. 对于不存在任意规则列表中的域名,会同时向直连 DNS 和远程 DNS 发起解析请求,并先等待直连 DNS 响应:
    • 如果直连 DNS 响应结果为国内 IP,则接受该结果,请求不经过代理。
    • 如果直连 DNS 响应结果为国外 IP,则等待并接受远程 DNS 的响应结果,请求将经过代理。

注意:该功能可能会泄露国内 DNS,但博主认为一般人无需关注 DNS 泄露的问题(少看某些 YouTuber 制造焦虑的视频)。如果确实有防 DNS 泄露的需求,则不建议启用该功能。

启用 DNS 重定向

该功能别名 DNS 劫持,作用是劫持内网所有 DNS 请求(不含加密 DNS),避免部分设备出现奇奇怪怪的 DNS 污染问题(比如小米手机 ,会在某些情况下使用 114.114.114.114 作为 DNS)。

启用“接受直连 DNS 空响应”

在默认情况下,对于不在任意规则列表中的域名,ChinaDNS-NG 是不接受直连 DNS 空响应的,但由于国内较多网站不支持 IPv6,AAAA 记录会返回空,这就会导致即使 A 记录为国内 IP,ChinaDNS-NG 仍然需要等待远程 DNS 响应 AAAA 记录,在 Windows 系统上几乎不会有感知,但在 Linux 系统中使用 cURL 时就会发现有卡顿,节点挂掉时甚至无法完成 cURL 请求。

注意:如果你的直连 DNS 不可靠,对部分国外域名会返回空结果,则不建议启用该功能。

使用 Socks 故障切换

添加完节点后,在首页的 Socks 配置中添加一个 Socks 节点,并配置好主要节点和备用节点,开启“自动切换”和“恢复切换”,并将此 Socks 节点作为 Passwall 主节点,可做到故障时自动切换。

其他注意事项

  1. 直连 DNS 如需使用公共 DNS,请注意服务商限速策略,例如 DNSPod 限速 20 QPS,某些路由器(比如小米)每天会发起大量的 DNS 请求用于检测网络连通性,这可能会导致触发限速策略,影响正常使用,一般无特殊需求建议使用运营商 DNS。
  2. 没有特殊需求就不要使用其他 DNS 插件了,少折腾。