Używam MacBooka z systemem Mac OS X 10.8.2 i łączę się z siecią mojej firmy przez VPN. Wszystko działa świetnie podczas nawiązywania połączenia VPN przez sieć LAN lub WLAN. Jednak gdy używam połączenia telefonicznego (Huawei HSDPA USB Stick), nazwy hostów nie są poprawnie rozpoznawane w aplikacjach (np. Przeglądarce internetowej). Narzędzia wiersza polecenia, takie jak host name
poprawnie rozpoznają adres IP, ping name
nie zostaną rozpoznane.
Używając scutil --dns
Zrzuciłem konfigurację DNS podczas łączenia przez sieć WLAN a połączenie telefoniczne. Istnieje znacząca różnica w kolejności wyszukiwania:
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
Połączenie ppp0 to połączenie VPN. Jak widać, dwa serwery są połączone i odpowiadają poprawnie w wierszu poleceń i aplikacjach.
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
Tym razem ppp1 to połączenie VPN, a ppp0 to połączenie UMTS. Z czasów odpowiedzi poleceń (przy użyciu nieistniejącej nazwy hosta foo.bar.local
) wnioskuję, że ping
używa pierwszego łańcucha resolvera, gdzie podobnie jak host
konfiguracja zapytania o zasięgu. ping
powrót „Unkown host” zajmuje 5 sekund, host
natychmiast wraca. Zakładam, że ping działa z 5-sekundowym limitem czasu resolvera mdns.
Aby rozwiązać mój problem z uszkodzonymi zapytaniami DNS podczas wybierania numeru przez VPN przez modem, muszę zmienić kolejność resolverów. Do tej pory nie znalazłem sposobu na zrobienie tego.
Wszelkie pomysły są mile widziane.