Closed JimmyHuang454 closed 10 months ago
DNS rules 中有outbound这个配项,我感觉是用来指定某个outbound的Server Address解析时所用的DNS。也就是说:如果某个outbound的服务器地址不是IP的话,将先去DNS Rules匹配一下,得到DNS Server后再进行DNS解析。
outbound
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请求,造成死循环。
dns_proxy
所以我提个不成熟的小建议:将 any 始终放在首项(当然指定某些tag走直连也是可行的)
出站的 tag proxy 中地址处填的域名,不会真有人遇到他的域名被收录到了 geolocation-!cn 中吧,那就放首位了。
自己的域名也不会命中到 geolocation-!cn,这逻辑是考虑过的。
再看了下你的第1段话,是的,其实工作流程,注意事项一直写在readme中的,应该没什么人看。最近补充了下规则解释。
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走直连也是可行的)