参考资料:
先贴我的的 dns 配置
dns:
enable: true
listen: 0.0.0.0:7874
ipv6: false
enhanced-mode: redir-host
respect-rules: true
# 附加参数 #RULES 为遵守路由规则进行连接,等同于 respect-rules
nameserver:
# 指定使用 dns 路由规则进行连接
# nameserver-policy 未匹配的域名将使用以下 dns 解析
- tls://8.8.8.8#dns
- tls://1.1.1.1#dns
proxy-server-nameserver:
- https://120.53.53.53/dns-query
- https://223.5.5.5/dns-query
nameserver-policy:
# 白名单分组使用运营商 dns 解析
"geosite:private,onedrive,microsoft@cn,apple,apple-cn,category-games@cn,cn":
- 运营商 dns
# 自定义白名单分组同样使用 运营商 dns 解析
"rule-set:custom-direct":
- 运营商 dns
解释一下我的场景,路由器上使用 mihomo 插件,白名单模式,未开启 ipv6 ,使用 geosite 规则,路由规则如下:
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
vvhy 5 天前
geoip 没加 no-resolve
可以用 wireshark 抓包确认一下 |
3
Rebron1900 5 天前
大佬,openclash 的 meta 内核能用吗?
|
4
Rabbit52 OP @Rebron1900 能用,但是注意根据自己的实际情况调整
|
6
Rabbit52 OP @vvhy 文档的意思好像 no-resolve 的参数只适用于 ip 集,不是域名,我就没搞懂了
https://wiki.metacubex.one/config/rules/#no-resolve |
9
remidre 15 小时 42 分钟前 1
@Rabbit52 解析是从上至下的,假如有个域名[www.google.com]要走你的规则,一上来碰到的是 ip 集,clash 会先把域名解析成 ip 去匹配你的 ip 集,如果命中了就走你的 ip 规则,没命中就走后面的域名规则,但它已经被解析成 ip 了,后续就不会走你的域名规则了。所以一般 ip 类规则的放后面,或者加 no-resolve ,强制不解析
|