Clash DNS 配置指南 Clash 是一个基于 Go 语言开发的多平台代理客户端,支持多种代理协议。DNS 配置是 Clash 中非常重要的部分,正确配置 DNS 可以提升代理效果和访问速度。
DNS 配置结构 在 Clash 配置文件中,DNS 配置位于 dns 字段下,基本结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 dns: enable: true listen: 0.0 .0 .0 :53 ipv6: false default-nameserver: - 223.5 .5 .5 - 119.29 .29 .29 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - tls://dns.rubyfish.cn:853 fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - tls://1.1.1.1:853 - tls://8.8.8.8:853 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com' - '+.facebook.com' - '+.youtube.com' nameserver-policy: 'www.baidu.com': '223.5.5.5' '+.internal.company.com' : '10.0.0.1'
核心配置说明 1. enhanced-mode(DNS 模式) Clash 支持两种 DNS 模式:
fake-ip 模式(推荐) 1 2 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16
优点:
响应速度快,无需等待真实 DNS 解析
减少 DNS 查询次数
更好的性能表现
工作原理:
为域名分配一个假的 IP 地址(在 fake-ip-range 范围内)
在流量路由时,通过域名匹配规则,而不是 IP 地址
适用于大多数场景
redir-host 模式 1 enhanced-mode: redir-host
优点:
缺点:
2. nameserver(普通域名 DNS) 用于解析普通域名,建议使用 DoH(DNS over HTTPS)或 DoT(DNS over TLS)协议,提高安全性和防污染能力。
推荐的 DNS 服务器:
1 2 3 4 5 6 7 8 9 10 11 12 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - https://doh.360.cn/dns-query - tls://dns.rubyfish.cn:853 - 223.5 .5 .5 - 119.29 .29 .29
3. fallback(回退 DNS) 用于解析被污染的域名或无法通过 nameserver 解析的域名,通常使用国外 DNS 服务器。
1 2 3 4 5 6 7 8 9 10 fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - https://doh.opendns.com/dns-query - tls://1.1.1.1:853 - tls://8.8.8.8:853 - tls://dns.quad9.net:853
4. fallback-filter(回退过滤) 控制哪些域名使用 fallback DNS 解析。
1 2 3 4 5 6 7 8 9 10 11 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com' - '+.facebook.com' - '+.youtube.com' - '+.twitter.com' - '+.instagram.com'
5. nameserver-policy(域名策略) 为特定域名指定 DNS 服务器,优先级最高。
1 2 3 4 5 nameserver-policy: 'www.baidu.com': '223.5.5.5' '+.internal.company.com' : '10.0.0.1' '+.lan' : '192.168.1.1'
指定某些域名不使用 fake-ip:
在 fake-ip 模式下,所有域名默认都会使用 fake-ip。如果需要让某些域名使用真实 IP 解析(不使用 fake-ip),可以通过以下方式实现:
方法 1:使用系统 DNS(推荐) 让特定域名使用系统 DNS,这样可以绕过 fake-ip,使用真实 IP:
1 2 3 4 5 6 7 8 9 10 11 12 13 dns: enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query nameserver-policy: '+.xdf.cn' : 'system' '+.test.xdf.cn' : 'system' '+.internal.company.com' : 'system' '+.lan' : 'system' '+.local' : 'system'
方法 2:指定传统 DNS 服务器 为特定域名指定传统 DNS 服务器,配合规则可以实现类似效果:
1 2 3 4 5 6 7 8 9 10 dns: enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - 223.5 .5 .5 nameserver-policy: '+.xdf.cn' : '223.5.5.5' '+.test.xdf.cn' : '119.29.29.29'
注意: 在 fake-ip 模式下,即使指定了 DNS 服务器,Clash 仍然可能使用 fake-ip。如果需要完全禁用 fake-ip 对某些域名的使用,建议:
使用系统 DNS :通过 nameserver-policy 设置为 system
全局切换模式 :如果大量域名需要真实 IP,考虑切换到 redir-host 模式
混合模式 :为需要真实 IP 的域名使用系统 DNS,其他域名继续使用 fake-ip
完整示例:指定域名不使用 fake-ip 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 dns: enable: true ipv6: false default-nameserver: - 223.5 .5 .5 - 119.29 .29 .29 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query nameserver-policy: '+.xdf.cn' : 'system' '+.test.xdf.cn' : 'system' '+.internal.company.com' : 'system' '+.lan' : 'system' '+.local' : 'system'
验证方法:
1 2 3 4 5 nslookup teston.test.xdf.cn 127.0.0.1 dig teston.test.xdf.cn @127.0.0.1
完整配置示例 基础配置(推荐) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 dns: enable: true ipv6: false default-nameserver: - 223.5 .5 .5 - 119.29 .29 .29 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - tls://dns.rubyfish.cn:853 fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - tls://1.1.1.1:853 - tls://8.8.8.8:853 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com' - '+.facebook.com' - '+.youtube.com' - '+.twitter.com' - '+.instagram.com' - '+.tiktok.com'
高级配置(自定义策略) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 dns: enable: true listen: 0.0 .0 .0 :53 ipv6: false default-nameserver: - 223.5 .5 .5 - 119.29 .29 .29 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - tls://dns.rubyfish.cn:853 fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - tls://1.1.1.1:853 - tls://8.8.8.8:853 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com' - '+.facebook.com' - '+.youtube.com' nameserver-policy: '+.lan' : '192.168.1.1' '+.local' : '192.168.1.1' '+.internal.company.com' : '10.0.0.1' 'www.baidu.com': '223.5.5.5'
配置优化建议 1. 选择合适的 DNS 模式
日常使用 :推荐使用 fake-ip 模式,性能更好
调试场景 :使用 redir-host 模式,便于查看真实 IP
2. DNS 服务器选择
nameserver :优先使用国内 DNS(DoH/DoT),速度快
fallback :使用国外 DNS(DoH/DoT),用于解析被污染域名
协议选择 :优先使用 DoH/DoT,比传统 DNS 更安全
3. fallback-filter 配置
geoip :启用后,非 CN IP 会使用 fallback DNS
domain :明确指定需要代理的域名,提高效率
ipcidr :过滤保留地址段,避免误判
4. 性能优化
将响应快的 DNS 服务器放在前面
合理配置 fallback-filter,减少不必要的 fallback 查询
使用 nameserver-policy 为常用域名指定 DNS
常见问题 1. DNS 解析慢 原因:
解决方案:
更换更快的 DNS 服务器
优化 fallback-filter 配置
将常用域名添加到 nameserver-policy
2. 某些网站无法访问 原因:
解决方案:
将域名添加到 fallback-filter.domain
使用 nameserver-policy 指定 DNS
检查代理规则配置
3. 内网域名无法解析 原因:
解决方案:
使用 nameserver-policy 为内网域名指定本地 DNS
在 fallback-filter 中排除内网域名
4. 如何指定某些域名不使用 fake-ip 需求场景:
某些域名需要真实 IP 地址(如企业内网、测试环境)
某些应用需要真实 IP 才能正常工作
调试时需要查看真实 IP 地址
解决方案:
方法 1:使用系统 DNS(最推荐) 在 nameserver-policy 中为特定域名指定使用系统 DNS,这样可以绕过 fake-ip:
1 2 3 4 5 6 7 8 9 10 11 12 dns: enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query nameserver-policy: '+.xdf.cn' : 'system' '+.test.xdf.cn' : 'system' '+.internal.company.com' : 'system' '+.lan' : 'system' '+.local' : 'system'
方法 2:全局切换到 redir-host 模式 如果大量域名需要真实 IP,可以全局切换:
1 2 3 dns: enhanced-mode: redir-host
方法 3:混合配置 为需要真实 IP 的域名使用系统 DNS,其他域名继续使用 fake-ip:
1 2 3 4 5 6 7 8 9 10 11 dns: enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query nameserver-policy: '+.xdf.cn' : 'system' '+.test.xdf.cn' : 'system'
验证方法:
1 2 3 4 5 6 nslookup teston.test.xdf.cn 127.0.0.1 dig teston.test.xdf.cn @127.0.0.1
5. DNS 解析失败:couldn’t find ip 错误示例:
1 [TCP] dial DIRECT error: dns resolve failed: couldn't find ip
原因分析:
在 fake-ip 模式下,某些特殊域名(如测试环境域名、企业内网域名)可能无法正确解析
DNS 服务器无法解析该域名(可能是内网域名或特殊配置的域名)
fallback-filter 配置不当,导致域名被错误过滤
nameserver 和 fallback 都无法解析该域名
Clash Verge 特殊问题 :direct-nameserver-follow-policy: false 可能导致 DIRECT 规则不遵循 nameserver-policy
解决方案:
方案 1:使用 nameserver-policy 指定 DNS(推荐) 为特定域名指定能够解析的 DNS 服务器:
1 2 3 4 5 6 7 dns: nameserver-policy: '+.xdf.cn' : '223.5.5.5' '+.test.xdf.cn' : '119.29.29.29' 'teston.test.xdf.cn': '223.5.5.5'
方案 2:切换到 redir-host 模式 如果域名需要真实 IP 解析,可以切换到 redir-host 模式:
1 2 3 dns: enhanced-mode: redir-host
或者为特定域名使用 redir-host:
1 2 3 4 5 dns: enhanced-mode: fake-ip nameserver-policy: '+.xdf.cn' : '223.5.5.5'
方案 3:添加传统 DNS 作为备用 确保 nameserver 中包含传统 DNS(UDP),某些特殊域名可能无法通过 DoH/DoT 解析:
1 2 3 4 5 6 7 dns: nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - 223.5 .5 .5 - 119.29 .29 .29 - 114.114 .114 .114
方案 4:检查并调整 fallback-filter 如果域名被误过滤,需要调整 fallback-filter:
1 2 3 4 5 6 7 8 9 10 dns: fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com'
方案 5:使用系统 DNS 作为备用 如果上述方案都不行,可以配置使用系统 DNS:
1 2 3 4 5 6 7 dns: nameserver: - https://doh.pub/dns-query - system default-nameserver: - system
完整示例配置 针对 teston.test.xdf.cn 无法解析的问题,推荐配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 dns: enable: true ipv6: false default-nameserver: - 223.5 .5 .5 - 119.29 .29 .29 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query - 223.5 .5 .5 - 119.29 .29 .29 fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - tls://1.1.1.1:853 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 domain: - '+.google.com' - '+.facebook.com' nameserver-policy: '+.xdf.cn' : '223.5.5.5' '+.test.xdf.cn' : '119.29.29.29'
调试步骤:
测试 DNS 解析 :
1 2 3 nslookup teston.test.xdf.cn 223.5.5.5 dig teston.test.xdf.cn @223.5.5.5
查看 Clash 日志 :
查看 DNS 查询记录
确认域名使用了哪个 DNS 服务器
检查是否有错误信息
逐步排查 :
先尝试方案 1(nameserver-policy)
如果不行,尝试方案 2(切换模式)
最后尝试方案 3(添加传统 DNS)
配置解析示例 下面是一个实际使用的 Clash DNS 配置示例,我们来详细解析每个配置项的作用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 dns: default-nameserver: - 223.5 .5 .5 - 8.8 .8 .8 direct-nameserver-follow-policy: false enable: true enhanced-mode: fake-ip fake-ip-filter: - "+.yclassroom.com" - '+.rb.sys' - "*.lan" - "*.local" - "*.arpa" - time.*.com - ntp.*.com - "*.msftncsi.com" - www.msftconnecttest.com fake-ip-filter-mode: blacklist fake-ip-range: 198.18 .0 .1 /16 fallback: - 10.200 .150 .211 - 10.200 .150 .212 - https://dns.alidns.com/dns-query - https://dns.google/dns-query - https://cloudflare-dns.com/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 - 0.0 .0 .0 /32 listen: :53 nameserver: - 8.8 .8 .8 - https://doh.pub/dns-query - https://dns.alidns.com/dns-query prefer-h3: false proxy-server-nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query respect-rules: false use-hosts: false use-system-hosts: false nameserver-policy: '+.xdf.cn' : 'system'
配置项详细解析 1. 基础配置 1 2 3 4 enable: true listen: :53 enhanced-mode: fake-ip fake-ip-range: 198.18 .0 .1 /16
说明:
listen: :53 表示监听所有网络接口的 53 端口,其他设备可以将 DNS 设置为该服务器
enhanced-mode: fake-ip 使用 fake-ip 模式,为域名分配假 IP,提升解析速度
2. default-nameserver(默认 DNS 服务器) 1 2 3 default-nameserver: - 223.5 .5 .5 - 8.8 .8 .8
作用:
用于解析 DNS 服务器本身的域名(如 DoH/DoT 服务器的域名)
当 nameserver 和 fallback 中的 DNS 服务器域名需要解析时使用
作为最后的备用 DNS
3. fake-ip-filter(fake-ip 过滤列表) 1 2 3 4 5 6 7 8 9 10 11 12 fake-ip-filter: - "+.yclassroom.com" - '+.rb.sys' - "*.lan" - "*.local" - "*.arpa" - time.*.com - ntp.*.com - "*.msftncsi.com" - www.msftconnecttest.com fake-ip-filter-mode: blacklist
作用:
黑名单模式 :列表中的域名不使用 fake-ip,使用真实 IP
这些域名通常是:
内网域名(.lan, .local, .arpa)
企业内网域名(yclassroom.com, rb.sys)
时间同步服务(time.*.com, ntp.*.com)
Windows 网络测试域名(msftncsi.com, msftconnecttest.com)
注意:
+.xdf.cn 被注释掉了,说明 xdf.cn 域名会使用 fake-ip
但通过 nameserver-policy 配置,xdf.cn 会使用系统 DNS,实际效果类似
4. nameserver(普通域名 DNS 服务器) 1 2 3 4 5 6 nameserver: - 8.8 .8 .8 - https://doh.pub/dns-query - https://dns.alidns.com/dns-query
作用:
用于解析普通域名(国内域名、未被污染的域名)
优先使用 DoH(DNS over HTTPS),更安全
包含传统 DNS(8.8.8.8)作为备用
内网 DNS(10.200.150.211/212)被注释,可能因为网络环境变化
5. fallback(回退 DNS 服务器) 1 2 3 4 5 6 fallback: - 10.200 .150 .211 - 10.200 .150 .212 - https://dns.alidns.com/dns-query - https://dns.google/dns-query - https://cloudflare-dns.com/dns-query
作用:
用于解析被污染的域名或无法通过 nameserver 解析的域名
注意 :内网 DNS 放在最前面,说明优先使用内网 DNS 解析
如果内网 DNS 无法解析,再使用公共 DNS(阿里、Google、Cloudflare)
6. fallback-filter(回退过滤规则) 1 2 3 4 5 6 fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0 .0 .0 /4 - 0.0 .0 .0 /32
作用:
geoip: true + geoip-code: CN:如果解析出的 IP 不在中国,会使用 fallback DNS 重新解析
ipcidr:如果解析出的 IP 在这些地址段内,也会使用 fallback DNS
这样可以确保被污染的域名能够正确解析
7. nameserver-policy(域名策略) 1 2 nameserver-policy: '+.xdf.cn' : 'system'
作用:
为 xdf.cn 及其所有子域名指定使用系统 DNS
优先级最高,会覆盖其他 DNS 配置
这样可以确保 xdf.cn 域名使用真实 IP,不使用 fake-ip
8. 高级配置选项 1 2 3 4 5 6 7 8 direct-nameserver-follow-policy: false prefer-h3: false proxy-server-nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query respect-rules: false use-hosts: false use-system-hosts: false
详细说明:
配置特点总结 这个配置的特点:
混合 DNS 环境
同时使用内网 DNS(10.200.150.211/212)和公共 DNS
适合企业内网环境
fake-ip 黑名单
内网域名、时间服务、Windows 测试域名不使用 fake-ip
确保这些服务使用真实 IP
域名策略
xdf.cn 使用系统 DNS,确保正确解析
其他域名使用 fake-ip,提升性能
GeoIP 过滤
自动检测被污染的域名(IP 不在中国)
使用 fallback DNS 重新解析
安全性
优先使用 DoH(DNS over HTTPS)
避免 DNS 查询被监听和篡改
配置优化建议
如果内网 DNS 不可用
取消注释 nameserver 中的内网 DNS
或者从 fallback 中移除内网 DNS
如果需要使用 hosts 文件
设置 use-hosts: true 或 use-system-hosts: true
可以在 hosts 文件中配置本地域名映射
如果需要更快的解析
将响应快的 DNS 服务器放在前面
考虑启用 prefer-h3: true(如果 DNS 服务器支持)
如果需要调试
临时将 enhanced-mode 改为 redir-host
可以查看真实 IP 地址
测试 DNS 配置 1. 检查 DNS 解析 1 2 3 4 5 dig @127.0.0.1 -p 53 www.google.com nslookup www.google.com 127.0.0.1
2. 查看 Clash 日志 在 Clash 日志中查看 DNS 查询记录,确认配置是否生效。
3. 测试不同域名
测试国内域名(如 baidu.com)
测试国外域名(如 google.com)
测试内网域名(如 .lan 域名)
总结 正确配置 Clash DNS 可以:
✅ 提升访问速度
✅ 避免 DNS 污染
✅ 提高代理效果
✅ 优化网络体验
建议根据实际网络环境和使用需求,调整 DNS 配置参数,找到最适合的配置方案。