Estou usando um MacBook com Mac OS X 10.8.2 e me conecto à rede da minha empresa via VPN. Tudo funciona muito bem ao estabelecer a conexão VPN via LAN ou WLAN. No entanto, quando eu uso uma conexão dial-up (Huawei HSDPA USB Stick), os nomes de host não são resolvidos corretamente nos aplicativos (por exemplo, navegador da Web). Ferramentas de linha de comando como host name
resolverão corretamente o endereço IP, ping name
não serão resolvidas.
Usando scutil --dns
Despejei a configuração do DNS ao conectar-se via WLAN vs. discagem. Há uma diferença notável na ordem de pesquisa:
connecting using WLAN:
resolver #1
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 100000
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 200000
resolver #3
domain : local
options : mdns
timeout : 5
order : 300000
resolver #4
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
order : 300200
resolver #5
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300400
resolver #6
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300600
resolver #7
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300800
resolver #8
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
order : 301000
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 192.168.1.1
if_index : 4 (en0)
flags : Scoped
reach : Reachable,Directly Reachable Address
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
flags : Scoped
reach : Reachable,Transient Connection
A conexão ppp0 é a conexão VPN. Como você pode ver, dois servidores estão conectados e eles respondem corretamente na linha de comando e nos aplicativos.
Connecting via UMTS:
resolver #1
nameserver[0] : 139.7.30.126
nameserver[1] : 139.7.30.125
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 100000
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
reach : Reachable,Transient Connection
order : 100000
resolver #3
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
reach : Reachable,Transient Connection
order : 200000
resolver #4
domain : local
options : mdns
timeout : 5
order : 300000
resolver #5
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
order : 300200
resolver #6
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300400
resolver #7
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300600
resolver #8
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300800
resolver #9
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
order : 301000
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
flags : Scoped
reach : Reachable,Transient Connection
resolver #2
nameserver[0] : 139.7.30.126
nameserver[1] : 139.7.30.125
if_index : 6 (ppp0)
flags : Scoped
reach : Reachable,Transient Connection
Desta vez, ppp1 é a conexão VPN e ppp0 é a conexão UMTS. Desde os tempos de resposta dos comandos (usando o nome de host inexistente foo.bar.local
), deduzo que ping
usa a primeira cadeia de resolvedores, em que as host
usa a configuração de consulta com escopo definido. ping
leva 5 segundos para retornar "host desconhecido", host
volta imediatamente. Presumo que o ping seja executado no tempo limite de 5 segundos do resolvedor mdns.
Para corrigir meu problema com as pesquisas de DNS interrompidas ao discar via VPN via modem, preciso alterar a ordem dos resolvedores. Até agora não encontrei uma maneira de fazer isso.
Todas as idéias são bem-vindas.