Tôi đang sử dụng MacBook với Mac OS X 10.8.2 và kết nối với mạng của công ty tôi thông qua VPN. Mọi thứ hoạt động tuyệt vời khi thiết lập kết nối VPN qua LAN hoặc WLAN. Tuy nhiên, khi tôi sử dụng tên máy chủ kết nối quay số (Huawei HSDPA USB Stick) không được phân giải chính xác trong các ứng dụng (ví dụ: Trình duyệt web). Các công cụ dòng lệnh như host name
sẽ giải quyết chính xác địa chỉ IP, ping name
sẽ không giải quyết.
Sử dụng scutil --dns
Tôi đã bỏ cấu hình DNS khi kết nối qua mạng WLAN so với quay số. Có một sự khác biệt đáng chú ý trong thứ tự tra cứu:
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
Kết nối ppp0 là kết nối VPN. Như bạn có thể thấy, hai máy chủ được kết nối và chúng trả lời đúng trên dòng lệnh và trong các ứng dụng.
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
Lần này, ppp1 là kết nối VPN và ppp0 là kết nối UMTS. Từ thời gian phản hồi của các lệnh (sử dụng tên máy chủ không tồn tại foo.bar.local
) tôi suy ra rằng ping
sử dụng chuỗi trình phân giải đầu tiên, trong đó host
sử dụng cấu hình truy vấn có phạm vi. ping
mất 5 giây để trả về "Máy chủ không xác định", host
quay lại ngay lập tức. Tôi giả sử ping chạy vào thời gian chờ 5 giây của trình phân giải mdns.
Để khắc phục sự cố của tôi với việc tra cứu DNS bị hỏng khi quay số qua VPN qua modem, tôi cần thay đổi thứ tự của các bộ giải. Cho đến nay tôi đã không tìm thấy một cách để làm điều này.
Mọi ý tưởng đều được chào đón.