Mihomo(Clash.Meta) 匹配路由规则的 DNS 配置

Rabbit52 · 2024-9-21 22:01:43 · 29 次点击
参考资料:
- 官方配置文档和示例  
  https://wiki.metacubex.one/example/conf/
- mihomo (Clash Meta) 懒人配置  
  https://gist.github.com/liuran001/5ca84f7def53c70b554d3f765ff86a33

先贴我的的 dns 配置

```yaml
dns:
  enable: true
  listen: 0.0.0.0:7874
  ipv6: false
  enhanced-mode: redir-host
  respect-rules: true
  # 附加参数 #RULES 为遵守路由规则进行连接,等同于 respect-rules
  nameserfer:
  # 指定使用 dns 路由规则进行连接
  # nameserfer-policy 未匹配的域名将使用以下 dns 解析
    - tls://8.8.8.8#dns
    - tls://1.1.1.1#dns
  proxy-serfer-nameserfer:
    - https://120.53.53.53/dns-query
    - https://223.5.5.5/dns-query
  nameserfer-policy:
    # 白名单分组使用运营商 dns 解析
    "geosite:private,onedrive,microsoft@cn,apple,apple-cn,category-games@cn,cn":
      - 运营商 dns
    # 自定义白名单分组同样使用 运营商 dns 解析
    "rule-set:custom-direct":
      - 运营商 dns
```

解释一下我的场景,路由器上使用 mihomo 插件,白名单模式,未开启 ipv6 ,使用 geosite 规则,路由规则如下:

```yaml
rules:
  - GEOIP,lan,DIRECT,no-resolve
  - GEOSITE,private,DIRECT
  # 高优先级标注需要代理的规则防止被后面的直连规则影响
  - GEOSITE,google,其他
  - GEOSITE,google-cn,其他
  - RULE-SET,openai,OpenAI
  # 以下为直连
  - GEOSITE,onedrive,DIRECT
  - GEOSITE,microsoft@cn,DIRECT
  - GEOSITE,apple,DIRECT
  - GEOSITE,apple-cn,DIRECT
  - GEOSITE,steam@cn,DIRECT
  - GEOSITE,category-games@cn,DIRECT
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT
  - RULE-SET,custom-direct,DIRECT
  # 剩余全代理
  - MATCH,其他
```

配置思路如下:

1. 将我认为直连能获得更佳体验的分组打上 DIRECT 规则并且使用运营商 dns 进行解析,获得国内 CDN 加成,比如 apple, ms, dji, steam 等。
2. 未使用 fallback 配置,避免直连解析耗时较长。
3. 使用 rule-providers 自定义直连规则降低 nameserfer-policy 配置复杂度。
举报· 29 次点击
登录 注册 站外分享
1 条回复  
vvhy 小成 2024-9-22 01:52:46
geoip 没加 no-resolve
可以用 wireshark 抓包确认一下
返回顶部