本篇讲述,如何通过OpenClash实现IPv4和IPv6的双栈支持,并结合SmartDNS进行DNS分流和优选,可以显著提升网络体验和应用性能,并记录关键的配置要点。由于版本的不同,请根据自己的实际情况调整;✓代表勾选 ✕代表取消勾选;若未提及的设置,一般保留默认值。
准备
- 基于NanoPi-R5s-LST版 + Lean固件QWRT-R24.02.26(R24.3.3)
- OpenClash, TUN内核:v1.18.0-13-gd034a40,Meta内核:alpha-g0d4e57c,客户端版本:v0.46.001-beta
- SmartDNS Release 45, 即1.2024.02.08-0828版本, 注意Luci需要下载luci-compat-all.ipk,才能在Web界面显示配置菜单
SmartDNS配置
在折腾过MosDNS之后,还是用回SmartDNS,使用OpenClash的白名单分流国内外DNS查询。SmartDNS 国内分组使用的端口是:6053,第二组的DNS服务器端口是:6553,注意端口号不能跟已运行的服务相冲突。DNS 上游服务器配置如下图(自动设置 Dnsmasq❌),根据官方建议,上游DNS不宜超过10个:
可以参考这个网址[https://dns.icoa.cn/],挑选符合自己网络的国内外DNS服务器。
当然,你也可以直接vi编辑"/etc/config/smartdns"文件,批量将DNS服务器加入(最上方Tencent作为运营商解析dns的示例),代码如下:
1 | config server |
SmartDNS高级设置
- 测速模式:默认
- TCP服务器:✖️
- DOT服务器:✖️
- DOH服务器:✖️
- IPV6服务器:✔
- 绑定到设备:✔
- 双栈IP优选:✔
- 域名预加载: ✔
- 缓存过期服务:✖️
- 缓存大小:10000 (这个根据实际性能调整)
- 持久化缓存:✖️
- 解析本地主机名:✔
- 停用IPV6地址解析:✖️
- 停用HTTPS记录解析:✖️
SmartDNS第二DNS服务器
- 启用:✔
- 服务器组:us
- 跳过测速:✔
- 跳过双栈优选:✔
- 跳过cache:✔
- 停用IPV6地址解析:✔
自定义配置
1 | #iOS系统解析缓慢 |
域名规则
域名地址,添加自定义配置
1 | # Stop ipv6 for google,停止谷歌的ipv6解析 |
至此,SmartDNS部分配置完毕。
OpenClash配置
先准备好订阅地址,我使用CF通过Worker部署了定制汇聚订阅,可以将多个订阅或者节点汇聚在一起,并能加载分流规则,方便在多设备上同步配置文件。
保存配置,不要应用
插件设置
- 模式设置
- 使用 Meta 内核:✔
- 运行模式:Redir-Host (TUN-混合)模式
- 延迟启动(秒):10
- 流量控制
- 禁用QUIC: ✔
- 仅允许常用端口流量:默认常用端口
- 绕过中国大陆IP:✔
- 绕过中国大陆IPv4黑名单:添加以下网站(我理解的是即使该网站解析的IP识别为大陆,仍然用代理)
1 | ## 方便使用Bing的Copilot |
- DNS设置
- 本地DNS劫持:使用Dnsmasq转发
- 禁止Dnsmasq缓存:✔
- 黑白名单:
使用黑名单,即只有添加IP或mac的设备不走代理,其他设备都走代理。添加设备的mac效果更好,一次性把设备的IPv4和IPv6都包含其中 - IPv6设置
- IPv6 流量代理:✔
- IPv6 代理模式:TUN模式
- 允许 IPv6 类型 DNS 解析:✔
- 绕过中国大陆 IPv6:✔
- 绕过中国大陆IPv6黑名单:添加以下网站
1 | ## 方便使用Bing的Copilot |
- GEO数据库订阅
- 自动更新 GeoIP Dat 数据库:✔
- 自动更新 GeoSite 数据库:✔
避开重启的时段,选择更新时间。
- 大陆白名单订阅自动更新:✔
覆写设置
DNS设置
- 自定义上游 DNS 服务器:✔
- 追加上游DNS:×
- 追加默认DNS:×
设置自定义上游 DNS 服务器: - NameServer 和 Default-NameServer 使用127.0.0.1,6053,UDP, 即SmartDNS 第一服务器
- FallBack使用127.0.0.1, 6553,UDP, 即使用 SmartDNS 第二服务器
至此,SmartDNS 就会接管所有的 DNS 请求。
规则管理
添加一个不走代理的白名单,强制这些域名走本地直连。
- 规则集文件列表->新建文件,文件名为CN-Whitelist.yaml
1 | payload: |
规则附加
添加自定义规则集附加,顺序选择优先(覆盖)。但是我实际使用下来未能生效,后来还是在线分流规则中新建了国内直连的分组。
在Openclash中点击保存配置并应用配置,启动其客户端后,即可正常使用。