update: 20241118: 现版本的 surge 5.9.1 使用系统 VPN, 和 tailscale 已经不冲突了
过时的经验
参考: https://community.nssurge.com/d/1094-tailscale/39
- 首先获得 tailscale 的虚拟网卡, 使用
ifconfig获取 ipv4 地址是 100.x.x.x1, 我这里是utun5 - 然后再 Surge 的配置中添加如下 (目前看起来, 这个也支持 tailscale DNS)
[Proxy]
tailscale=direct, interface=utun5
[Rule]
IP-CIDR,100.64.0.0/10, tailscale, no-resolve
- 如果包含自定义的 Proxy, 无法使用
#! Root.conf, 需要手动添加, 其它托管的代理的话, 直接#! Root.conf, xx.conf即可
出现的问题
! 直接设置 host 更简单 由于我在 wireshark 中抓取不到 DNS query 记录, 所以下面都是猜测
- 如果需要 tailscale magic DNS 的 search domain (自动添加 tailnet domain 如我这里是 xx.sxx-xxt.ts.net), 和 tailscale 的增强模式是冲突的, 也就是所有都走 surge
198.18.0.2, 目前的解决方法:- 关闭 tailscale 的 DNS, 复制主机的 ip
100.xx.xx.xx - Surge 设置域名
xx策略是 tailscale (上面设置的 proxy) - Surge 本地 DNS 设置
xxA IN100.xx.xx.xx
- 关闭 tailscale 的 DNS, 复制主机的 ip