学校的 VPN 要使用 Pulse Secure 连接,使用的软件是最新版本的 Ivanti Secure Access,连接上之后会在本地建立一个 utun7 网卡,然后我在 Surge 新建一个指定网卡的 proxy如下,
[Proxy]
VPN = direct, interface=utun7, test-url=http://162.x.x.x
这样设置之后大部分网页是可以通过 VPN 正常连接的,但是在 Dashboard 里我发现走 VPN 的网页请求的 DNS 查询没有走 VPN 设置的 DNS,还是走的本地的 DNS (192.168.x.x),而我本地的 DNS 是不支持 IPv6 查询的,导致一部分只能通过 IPv6 访问的域名无法连接。
开启 VPN 连接之后系统的 DNS 配置如下,utun7 那一项是 VPN 设置的 DNS(162.105.x.x),我把那两个 DNS 服务器手动加到 Surge 之后(使用系统 DNS 服务器和额外的服务器),之前无法访问的域名就可以正常连接了。我的问题是,既然 VPN 的 DNS 服务器已经配置在系统里了,那就也算是系统 DNS 服务器的一部分,为什么 Surge 里还需要手动加进去?是 VPN 软件的问题还是 Surge 没有识别这一部分 DNS 服务器?
resolver #1
nameserver[0] : 192.168.31.1
if_index : 14 (en0)
flags : Scoped, Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
resolver #2
nameserver[0] : 198.18.0.2
if_index : 25 (utun4)
flags : Scoped, Request A records
reach : 0x00000003 (Reachable,Transient Connection)
resolver #3
search domain[0] : x.edu.cn
nameserver[0] : 162.105.x.x
nameserver[1] : 162.105.x.x
if_index : 26 (utun7)
flags : Scoped, Request A records, Request AAAA records
reach : 0x00000002 (Reachable)