chika0801 / sing-box-examples

sing-box 配置示例
https://github.com/SagerNet/sing-box
1.65k stars 276 forks source link

DNS rules 的 outbound any 是否应该放在首项? #50

Closed JimmyHuang454 closed 10 months ago

JimmyHuang454 commented 10 months ago

DNS rules 中有outbound这个配项,我感觉是用来指定某个outbound的Server Address解析时所用的DNS。也就是说:如果某个outbound的服务器地址不是IP的话,将先去DNS Rules匹配一下,得到DNS Server后再进行DNS解析。

以这个为例子,any 放在了最后 https://github.com/chika0801/sing-box-examples/blob/5ec2b9e68bfebeba1f4de7a1d4f2cbcfe290cbd7/Tun/config_client_windows.json#L60-L62

如果前面Geosite中出现了代理服务器的域名地址: https://github.com/chika0801/sing-box-examples/blob/5ec2b9e68bfebeba1f4de7a1d4f2cbcfe290cbd7/Tun/config_client_windows.json#L47-L50

那么就会走dns_proxy,也就是回到代理服务器,再来一次DNS请求,造成死循环。

所以我提个不成熟的小建议:将 any 始终放在首项(当然指定某些tag走直连也是可行的)

chika0801 commented 10 months ago

出站的 tag proxy 中地址处填的域名,不会真有人遇到他的域名被收录到了 geolocation-!cn 中吧,那就放首位了。

自己的域名也不会命中到 geolocation-!cn,这逻辑是考虑过的。

再看了下你的第1段话,是的,其实工作流程,注意事项一直写在readme中的,应该没什么人看。最近补充了下规则解释。