目前在尝试使用 surge 作为主要的网络接管工具(增强模式运行);公司内网 kubernetes 相关域名 *.cluster.local
在 上游 DNS 已经正常解析(上游 DNS DHCP 正常分配);为了方便工作环境切换,为 *.cluster.local
配置了单独的 GROUP,在公司办公时 GROUP 切换到直连,远程切换到 Trojan;目前出现的问题是在公司直连模式下 DNS 无法解析,相关配置如下
[General]
hijack-dns = *:53
dns-server = 114.114.114.114, 223.5.5.5, 208.67.222.222, system
always-real-ip = *.srv.nintendo.net, *.stun.playstation.net, xbox.*.microsoft.com, *.xboxlive.com, localhost
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/16, localhost, *.local, *.crashlytics.com, captive.apple.com
[Proxy]
COMPANY_VPN = trojan, company.example.com, 1234, password=passwd
ALIYUN_VPN = trojan, aliyun.example.com, 1234, password=passwd
[Proxy Group]
WORK_PROXY = select, DIRECT, ALIYUN_VPN, COMPANY_VPN
[Rule]
DOMAIN-SUFFIX,cluster.local,WORK_PROXY
目前出现的状况如下:
always-real-ip
如果配置了 *.cluster.local
则在公司访问正常,远程访问失败,不配置就是远程正常公司失败
hijack-dns
时候劫持所有 DNS 对比测试似乎没有影响
dns-server
只配置为 system
也会出现此种情况
比较疑惑的是: 在公司时通过 dashboard 观察到 *.cluster.local
case 到了 DIRECT,按照我的理解增强模式下 surge 先 faker 一个虚拟 IP,然后尝试与该域名建立连接,此时 DNS 解析应该采用上游解析结果,但是实际上不知道为什么 DNS 解析失败了。
对 always-real-ip
选项有点迷惑,文档中描述了当 domain 处于 always-real-ip
内时,DNS 请求将转发到上游服务器,那么对于未配置的域名,先返回虚假 IP 然后再连接的时候,规则如果是直连,那么 DNS 请求到了哪里?