分享一下我的DNS配置

个人写的不怎么样,还是直接参考楼下大佬的配置吧。

这个是ruleset版,
需要确保已经订阅了geolocation-!cn_domain这个规则。

rule-providers:
  geolocation-!cn_domain:
    type: http
    interval: 86400
    behavior: domain
    format: mrs
    path: ./rule_provider/geolocation-!cn.mrs
    url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"

或者用geosite版的geosite:geolocation-!cn

以及核心前提是用规则确保国外的走代理,尽可能不在本地进行DNS解析。

rules:
  - GEOSITE,private,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  # ...
  # 各种分流规则...
  # ...
  - GEOSITE,geolocation-!cn,节点选择
  # IP 规则尽量放后面
  - GEOIP,google,Google,no-resolve
  - GEOIP,CN,DIRECT
  - MATCH,其他
写的不怎么样,折叠了
dns:
  # 关闭将使用系统DNS
  enable: true
  # ipv6根据个人网络情况按需开启
  # ipv6: true
  # 启用DoH的HTTP/3支持
  prefer-h3: true
  # 启用配置文件中的hosts配置
  use-hosts: true
  # 查询系统hosts文件, 优先级低于配置中的hosts配置
  use-system-hosts: true
  # listen: :53
  listen: :1053
  # DNS遵循代理设置,需配置proxy-server-nameserver
  respect-rules: true
  # DNS增强模式,一般用fake-ip,路由器可能需要使用 redir-host,兼容性高一点
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  # fake-ip-range: 28.0.0.1/8
  fake-ip-filter:
    - geosite:cn,private,tld-cn
  # 解析DNS服务器配置的DNS服务器(只能使用纯IP地址),建议用国内DNS
  default-nameserver:
    - https://223.6.6.6/dns-query
    - https://120.53.53.53/dns-query
  # 用于节点域名解析的 DNS 服务器,建议用国内DNS
  proxy-server-nameserver:
    - https://doh.pub/dns-query
    - https://223.5.5.5/dns-query
  # 默认域名解析服务器,建议用国外DNS
  nameserver:
    # 后面加上“#节点选择”(这个“节点选择”要根据自己的分组规则修改),确保让DNS查询走代理,一般开启了respect-rules就不用这个,但还是以防万一。
    - "https://dns.google/dns-query#节点选择"
    - "https://dns.adguard.com/dns-query#节点选择"
  # 用于解析直连出口的域名,国内DNS
  direct-nameserver:
    - https://doh.pub/dns-query
    - https://doh-pure.onedns.net/dns-query
  # 指定地址使用特定DNS解析服务器
  nameserver-policy:
    "geosite:cn,private,tld-cn":
      - https://doh-pure.onedns.net/dns-query
      - https://doh.pub/dns-query
    "geosite:geolocation-!cn,tld-!cn":
      - "https://dns.google/dns-query#节点选择"
      - "https://dns.adguard.com/dns-query#节点选择"
11 个赞

好消息:活了一点 :bili_052: 坏消息:半死不活 :bili_093:

2 个赞

这个我照样加了个no-resolve :tieba_025:

1 个赞

如果前面的nameserver里用国内DNS的话,最后这里不加no-resolve可以让一些国内国外都能访问的网站优先走国内,这个看个人需求。

1 个赞

为什么你是 listen: :1053

一般不都是 53 端口吗,

1 个赞

还是那句话,没事不要瞎折腾DNS

1 个赞

帅的,难得的是这俩居然还通着

1 个赞

没看懂,能解释下嘛

1 个赞

:eyes:其实我也不是很懂,我看一些配置文件里是这么写的。

1 个赞

建议:
1,dns域名全部替换为ip形式(加不加密都一样),这样就不需要配置default-nameserver了。
2,配置nameserver为国内dns,既然开启了fakeip,匹配到直连规则,自动就直连走nameserver了,这样也不需要配置direct-nameserver了,完全多此一举。更不需要配置police了,匹配到代理规则就自动走远端节点解析了,完全不需要通过本地发起dns请求。
3,fakeip建议设置成白名单,fake-ip-filter只填入!cn,这样只有非国内域名才返回fakeip,既可以加快代理域名的解析,还避免了国内服务收到fakeip引起不必要的麻烦。

总结,瞎搞。

3 个赞

感谢分享

1 个赞

:joy:我现在这套配置确实算是瞎搞出来的,因为之前在家里的网络用代理时经常出问题,在访问外网的几分钟后会像触发风控一样,怎么也连不上外网,但clash里节点是绿的,而且tg客户端也能正常连接代理。折腾了一番配置到现在这样后就没再出过这样的问题,然后我就保持这个配置不敢再动了。

1 个赞

感谢,瞧瞧看

1 个赞

你按我说的改一下,半小时后检查作业。

1 个赞

佬,这样ok吗

1 个赞

不太行,你先把我说的改正

1 个赞
dns:
  enable: true
  ipv6: false
  prefer-h3: true
  use-hosts: true
  use-system-hosts: true
  respect-rules: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://223.5.5.5/dns-query
    - https://1.12.12.12/dns-query
  fake-ip-filter:
    - geosite:!cn

不太明白。。那是这样吗 :joy:

1 个赞

dns:
enable: true
ipv6: false
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-filter-mode: whitelist
respect-rules: true
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- “rule-set:geolocation-!cn_domain”
nameserver:
- 223.5.5.5
proxy-server-nameserver:
- https://8.8.8.8/dns-query

4 个赞

大佬好专业

1 个赞

这不是把官网文档/示例配置 的DNS抄了一遍嘛

1 个赞