Я использую MacBook с Mac OS X 10.8.2 и подключаюсь к сети моей компании через VPN. Все отлично работает при установлении VPN-подключения через локальную сеть или WLAN. Однако при использовании коммутируемого соединения (Huawei HSDPA USB Stick) имена хостов не разрешаются правильно в приложениях (например, в веб-браузере). Инструменты командной строки, такие как host name
, правильно разрешат IP-адрес, ping name
не разрешат.
Используя scutil --dns
я сбросил настройки DNS при подключении через WLAN против коммутируемого доступа. Есть заметная разница в порядке поиска:
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
Соединение ppp0 является VPN-соединением. Как видите, два сервера подключены, и они правильно отвечают в командной строке и в приложениях.
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
На этот раз ppp1 - это соединение VPN, а ppp0 - это соединение UMTS. Из времени ответа команд (используя несуществующее имя хоста foo.bar.local
) я делаю вывод, что ping
используется первая цепочка распознавателя, где as host
используется конфигурация запроса с областью действия. ping
требуется 5 секунд, чтобы вернуть «Неизвестный хост», host
возвращается немедленно. Я предполагаю, что ping работает в течение 5 секунд тайм-аута решателя mdns.
Чтобы исправить мою проблему со сломанным поиском DNS при наборе номера через VPN через модем, мне нужно изменить порядок распознавателей. До сих пор я не нашел способ сделать это.
Любые идеи приветствуются.