我正在使用Mac OS X 10.8.2的MacBook,并通过VPN连接到我公司的网络。通过LAN或WLAN建立VPN连接时,一切工作正常。但是,当我使用拨号连接(华为HSDPA USB记忆棒)时,主机名在应用程序(例如Web浏览器)中无法正确解析。像这样的命令行工具host name
可以正确解析IP地址,ping name
无法解析。
使用scutil --dns
WLAN和拨号连接时,我转储了DNS配置。查找顺序有明显的不同:
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
使用第一个解析程序链,其中host
使用范围查询配置。ping
需要5秒钟返回“未知主机”,host
立即返回。我假设ping进入了mdns解析器的5秒超时。
为了解决通过调制解调器通过VPN拨入时DNS查询中断的问题,我需要更改解析器的顺序。到目前为止,我还没有找到一种方法。
任何想法欢迎。