A única maneira de fazer isso funcionar foi chamar manualmente networksetup -setdnsservers
. Assim que eu tiver um script vpnc funcional, postarei no fórum openconnect do InfraDead.
Nem este /etc/resolv.conf
:
domain xxx.com
nameserver 192.xxx.xxx.xxx
nameserver 130.xxx.xxx.xxx
Nem esta scutil
output:
$ scutil --dns
DNS configuration
resolver #1
search domain[0] : xxx.com
search domain[1] : xxx.lan
nameserver[0] : 172.xxx.xxx.xxx
if_index : 11 (en4)
flags : Request A records
reach : Reachable,Directly Reachable Address
resolver #2
domain : xxx.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] : xxx.com
nameserver[0] : 192.xxx.xxx.xxx
nameserver[1] : 130.xxx.xxx.xxx
if_index : 10 (utun0)
flags : Scoped, Request A records
reach : Reachable
estão ajudando na resolução de nomes por meio da interface utun0
para a VPN do xxx.com. A própria VPN está funcionando, pois posso fazer ping de IPs acessíveis apenas por meio da VPN, e a resolução manual de nomes DNS funciona:
$ nslookup yyy.xxx.com 192.xxx.xxx.xxx
Server: 192.xxx.xxx.xxx
Address: 192.xxx.xxx.xxx#53
yyy.xxx.com canonical name = yyy.xxx.com.
Name: yyy.xxx.com
Address: 10.xxx.xxx.xxx
mas o Chrome, o ping, etc. não gostam de resolver o anfitrião:
$ ping yyy.xxx.com
ping: cannot resolve yyy.xxx.com: Unknown host
O host não funciona:
$ host yyy.xxx.com
Host yyy.xxx.com not found: 3(NXDOMAIN)
A configuração parece toda correta para mim - 172 é minha LAN local, 192 e 130 são os servidores DNS da VPN. Por vários motivos, estou usando openconnect
em vez do cliente Cisco AnyConnect Mobility.
Mais saída:
$ 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) xxx.com, xxx.lan
Configuration Resolvers: Resolver domain xxx.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
O código relevante do script de conexão aberta que faz o scutil pode ser encontrado aqui: vpnc-script