导读:
小火箭(Shadowrocket)的DNS设置直接影响代理速度、隐私安全和访问成功率,以下是分层次的优化方案:
基础优化原则
分流策略(最关键)
- 国内域名:使用国内DNS(阿里/腾讯/114),延迟低且准确
- 国外域名:使用海外DNS(Cloudflare/Google),避免污染且支持ECS
- 实现方式:开启「DNS分流」或配置「dns-fallback」
加密DNS(防劫持)
优先使用 DoH (DNS over HTTPS) 或 DoT (DNS over TLS),防止运营商劫持和污染。
推荐配置方案
方案A:均衡型(推荐)
主DNS: https://dns.alidns.com/dns-query (阿里DoH)
备用DNS: https://doh.pub/dns-query (腾讯DoH)
国外DNS: https://cloudflare-dns.com/dns-query (Cloudflare DoH)
方案B:隐私优先型
主DNS: https://dns.google/dns-query (Google DoH)
备用DNS: https://dns.quad9.net/dns-query (Quad9,带恶意软件拦截)
方案C:极速型(国内用户)
主DNS: 223.5.5.5 (阿里UDP)
备用DNS: 119.29.29.29 (腾讯UDP)
国外DNS: 1.1.1.1 (Cloudflare UDP)
配置文件优化(config)
在Shadowrocket的「配置」-「编辑配置」-「DNS」中:
[General]dns-server = 223.5.5.5, 119.29.29.29 doh-server = https://dns.alidns.com/dns-query, https://doh.pub/dns-query # 国外走代理DNS fallback-dns-server = https://cloudflare-dns.com/dns-query, https://dns.google/dns-query # 防止DNS泄露(重要) dns-fallback-policy = none # 或根据节点自动选择 dns-fallback-policy = auto # IPv6设置(如网络不支持建议关闭) ipv6 = false # DNS缓存优化 dns-cache-size = 1000 dns-cache-timeout = 600
高级技巧
指定域名DNS(解决特定网站问题)
在「规则」中添加:
DOMAIN,netflix.com,PROXY
DOMAIN,disneyplus.com,PROXY
# 强制这些域名走代理DNS解析
本地DNS映射(加速常用网站)
在「设置」-「DNS」-「本地DNS映射」中添加:
example.com 1.2.3.4
# 用于解决某些DNS解析慢的问题
并发查询设置
开启「并发DNS查询」,同时向多个DNS服务器查询,取最快响应:
- 设置 → DNS → 并发查询 → 开启
防止DNS泄露检查
访问 dnsleaktest.com 测试,确保显示的DNS服务器与代理节点所在地一致,而非本地运营商DNS。
常见问题解决
| 问题现象 | 解决方案 |
|---|---|
| 国内网站打开慢 | 检查是否走了国外DNS解析,确认dns-fallback设置 |
| 国外网站无法访问 | 尝试更换DoH服务器,或改用UDP DNS (8.8.8.8) |
| 视频加载卡顿 | 关闭IPv6,使用支持ECS的DNS(如阿里DNS) |
| 游戏延迟高 | 使用本地运营商DNS作为备用,关闭DNS over HTTPS |
| 部分App无法联网 | 检查是否拦截了系统DNS,添加「DIRECT」规则给该App域名 |
iOS 14+ 特殊设置
由于iOS系统限制,建议:
- 关闭「私有Wi-Fi地址」(部分路由器兼容性)
- 关闭「限制IP地址跟踪」(设置→隐私→跟踪)
- 配置VPN DNS:在Shadowrocket的「隧道」设置中,确保「包含所有网络」开启
验证配置
配置完成后,在Shadowrocket日志中查看:
- 绿色「DNS」标签表示解析成功
- 检查解析IP是否符合预期(国内域名应返回国内IP)
最佳实践总结:国内用阿里DoH + 国外自动走代理DNS + 开启防泄露,这样既能保证国内访问速度,又能确保代理安全性。