网络上有挺多人分享 OpenWrt 固件的,但是普遍都塞进去很多用不到的插件,总觉得塞一堆插件会导致不稳定,也许是因为强迫症吧,于是博主自己编译了精简版的固件,几位朋友试用后都觉得很稳定。
仅支持 x86_64 的软路由,物理机安装,以下机器经过测试非常稳:3865U/3965U/J4125/N5105。
有哪些插件?
Argon 主题、Passwall、UPnP、动态 DNS、文件传输、定时重启
如何编译的?
Github 云编译,来自项目:Actions-OpenWrt
下载地址
固件信息
网关: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 请求流程:
- 判断域名是否包含在直连域名列表中,如果存在,则始终使用直连 DNS 解析,且无论解析结果是否为国内 IP,请求均不经过代理。
- 判断域名是否包含在代理域名列表中,如果存在,则始终使用远程 DNS 解析,且无论解析结果是否为国外 IP,请求均经过代理。
- 对于不存在任意规则列表中的域名,会同时向直连 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 主节点,可做到故障时自动切换。
其他注意事项
- 直连 DNS 如需使用公共 DNS,请注意服务商限速策略,例如 DNSPod 限速 20 QPS,某些路由器(比如小米)每天会发起大量的 DNS 请求用于检测网络连通性,这可能会导致触发限速策略,影响正常使用,一般无特殊需求建议使用运营商 DNS。
- 没有特殊需求就不要使用其他 DNS 插件了,少折腾。