DNS 配置无效

DNS 配置无效

这都不是/etc/resolv.conf

domain example.com
nameserver 192.xxx.xxx.xxx
nameserver 130.xxx.xxx.xxx

也没有这样的scutil输出:

$ scutil --dns
DNS configuration

resolver #1
  search domain[0] : example.com
  search domain[1] : example.lan
  nameserver[0] : 172.xxx.xxx.xxx
  if_index : 11 (en4)
  flags    : Request A records
  reach    : Reachable,Directly Reachable Address

resolver #2
  domain   : example.com
  nameserver[0] : 192.xxx.xxx.xxx
  nameserver[1] : 130.xxx.xxx.xxx
  flags    : Request A records
  reach    : Reachable
  order    : 100400

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : xxx.lan
  nameserver[0] : 172.xxx.xxx.xxx
  if_index : 11 (en4)
  flags    : Scoped, Request A records
  reach    : Reachable,Directly Reachable Address

resolver #2
  search domain[0] : example.com
  nameserver[0] : 192.xxx.xxx.xxx
  nameserver[1] : 130.xxx.xxx.xxx
  if_index : 10 (utun0)
  flags    : Scoped, Request A records
  reach    : Reachable

正在帮助通过 example.com 的 VPN 接口解析名称utun0。VPN 本身可以正常工作,因为我可以 ping 只能通过 VPN 访问的 IP,并且手动 DNS 名称解析也可以正常工作:

$ nslookup yyy.example.com 192.xxx.xxx.xxx
Server:     192.xxx.xxx.xxx
Address:    192.xxx.xxx.xxx#53

yyy.example.com canonical name = yyy.example.com.
Name:   yyy.example.com
Address: 10.xxx.xxx.xxx

但是 Chrome、ping 等不喜欢解析主机:

$ ping yyy.example.com
ping: cannot resolve yyy.example.com: Unknown host

主机不工作:

$ host yyy.example.com
Host yyy.example.com not found: 3(NXDOMAIN)

在我看来,所有配置都正确无误 - 172 是我的本地 LAN,192 和 130 是 VPN DNS 服务器。出于多种原因,我使用的openconnect是 Cisco AnyConnect Mobility 客户端。

更多输出:

$ sudo discoveryutil configresolvers
Password:
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 11, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope None, order 0
  server 172.16.0.1
  search domain(s) example.com, example.lan
Configuration Resolvers: Resolver domain example.com, type Unicast, ifIndex 0, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope None, order 100400
  server(s) 192.xxx.xxx.xxx, 130.xxx.xxx.xxx
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 11, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope InterfaceID, order 0
  server 172.16.0.1
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 10, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope InterfaceID, order 0
  server(s) 192.xxx.xxx.xxx, 130.xxx.xxx.xxx

执行 scutil 的打开连接脚本的相关代码可以在这里找到:vpnc 脚本

答案1

我让它工作的唯一方法是手动调用networksetup -setdnsservers。一旦我有了一个可以运行的 vpnc 脚本,我就会将其发布到 InfraDead openconnect 论坛。

相关内容