Mac OS X Mountain Lion - Phân giải DNS sử dụng sai thứ tự trên VPN thông qua kết nối quay số


23

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 namesẽ giải quyết chính xác địa chỉ IP, ping namesẽ không giải quyết.

Sử dụng scutil --dnsTô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 pingsử dụng chuỗi trình phân giải đầu tiên, trong đó hostsử dụng cấu hình truy vấn có phạm vi. pingmất 5 giây để trả về "Máy chủ không xác định", hostquay 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.

Câu trả lời:


7

Tôi gặp vấn đề tương tự trên máy Mac của mình và sau khi sửa nó, tôi đã nhận ra rằng đó là do FortiClient (máy khách VPN) gây ra . Ngay cả khi FortiClient bị ngắt kết nối - DNS vẫn xuất hiện trong scutil.

Giải pháp cho tôi là:

scutil
> list ".*DNS"

Điều này sẽ cho bạn thấy một danh sách tất cả các cấu hình DNS, nó sẽ trông giống như:

subKey [0] = State:/Network/Global/DNS <br>
subKey [1] = State:/Network/MulticastDNS<br>
subKey [2] = State:/Network/OpenVPN/DNS<br>
subKey [3] = State:/Network/OpenVPN/OldDNS<br>
subKey [4] = State:/Network/PrivateDNS<br>
subKey [5] = State:/Network/Service/forticlientsslvpn/DNS <br>

Để kiểm tra từng cái chúng chạy: (cho đến khi bạn tìm thấy cái có vấn đề)

> get key_name
> d.show

Để khắc phục và chạy nó:

> get key_name
> d.remove ServerAddresses
> set key_name

Đây là giao diện của máy trên máy của tôi:

> get State:/Network/Service/forticlientsslvpn/DNS 
> d.show
<dictionary> {
  ServerAddresses : <array> {
    0 : 192.168.30.6
    1 : 192.168.30.15
  }
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> d.remove ServerAddresses
> d.show
<dictionary> {
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> set State:/Network/Service/forticlientsslvpn/DNS
> exit

3

Hãy thử thay đổi thứ tự của các mục DNS trong ngăn tùy chọn Mạng:

  1. Mở tùy chọn hệ thốngMạng .

  2. Chọn dịch vụ mạng của bạn trong danh sách bên trái.

  3. Mở khóa khung tùy chọn bằng cách sử dụng khóa ở góc dưới bên trái.

  4. Nhấp vào Advanced Advanced và chọn tab DNS .

  5. Thay đổi thứ tự của các máy chủ DNS bằng cách kéo chúng lên / xuống.


2
Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào .
grg

Đó là một nhận xét kỳ lạ. Người đăng đã không đề cập đến nếu anh ta đã thử điều này trong câu hỏi của mình và nó có thể có liên quan và là một giải pháp đơn giản cho vấn đề của anh ta. Khó để nói mà không sử dụng cùng một thiết lập.
db

2
Vì nó được diễn đạt, nó được viết như một yêu cầu để làm rõ - câu trả lời nên được viết dưới dạng câu trả lời; các ý kiến ​​là nơi thích hợp nhất để yêu cầu làm rõ. Câu trả lời này nằm trong hàng đánh giá Bài đăng chất lượng thấp và theo tôi, nhận xét về cổ phiếu có vẻ phù hợp nhất. Thật vậy, viết lại đây là một câu trả lời (và thêm chi tiết như ảnh chụp màn hình và danh sách hướng dẫn được định dạng đúng) sẽ làm cho câu trả lời đầy đủ và hợp pháp này.
grg

Chuyện này thật vớ vẩn. Bạn là Rainman hay sao? Đó là một câu trả lời được thể hiện một cách thụ động và khiêm tốn (vì rõ ràng là người đặt câu hỏi - người có vẻ khá lành nghề - có lẽ đã thử nó nhưng chỉ quên đề cập đến nó trong câu hỏi). Và nếu bạn đã tự mình thử các đề xuất của tôi, bạn sẽ nhận thấy rằng rất có thể không còn bước nào ngoài các bước được bao gồm (Tùy chọn hệ thống -> Mạng) là cần thiết cho một người thành thạo như OP.
db

Như tôi đã nói, đây đơn giản là ý kiến ​​của tôi. Nhân tiện, tôi không phải là người đánh giá thấp bạn. Tôi đã chỉnh sửa câu trả lời của bạn để bao gồm thêm chi tiết về các bước. Vui lòng quay lại chỉnh sửa nếu bạn tin rằng nó không phù hợp.
grg

2

Tôi đã tìm thấy một cách giải quyết: DNS VPN của bạn vẫn sẽ bị bỏ qua và chỉ DNS DNS dongle sẽ được sử dụng, nhưng chỉ cần thêm DNS VPN của bạn vào danh sách trong giao diện 3G thì vấn đề chính là trình quản lý kết nối 3G sẽ ghi đè cấu hình mọi lúc bạn bấm kết nối và bạn cần trình quản lý kết nối để bật Radio trên 3G dongle nên tôi đã trộn cả hai giải pháp trong một:

  1. Kết nối với VPN của bạn và ghi lại DNS của bạn (tôi có 2 trong danh sách). Bạn có thể kiểm tra nó trong Tùy chọn mạng → Nâng cao → tab DNS. Ngắt kết nối VPN. Bạn cần kết nối với VPN vì DNS được gán động khi kết nối

  2. Kết nối với 3G của bạn và thực hiện tương tự: viết DNS trên giấy. Sau đó ngắt kết nối 3G.

  3. Chuyển đến Tùy chọn mạng → nhấp vào giao diện 3G → Nâng cao → Tab DNS và bên dưới bảng DNS (thường sẽ trống khi bạn không được kết nối) nhấp vào '+'. Thêm tất cả các máy chủ DNS (những máy chủ từ 3G trước rồi thêm VPN sau). Nhấn OK và Áp dụng.

  4. Từ giờ trở đi , để kết nối với 3G, chỉ cần cắm USB của bạn và đợi cho đến khi bạn có vùng phủ sóng 3G (bạn sẽ cần mở trình quản lý kết nối 3G), nhưng không sử dụng trình quản lý kết nối được cung cấp để kết nối. Và nếu nó tự động kết nối, hãy vào tùy chọn và bỏ chọn đánh dấu đó. Bạn cần điều đó quản lý chỉ để biến phát thanh trên trong USB Dongle, không có gì khác.

    Nếu bạn nhấp vào "kết nối" trên trình quản lý 3G, nó sẽ ghi đè lên cấu hình trên giao diện 3G của bạn và bạn cần lặp lại bước 3 một lần nữa.

  5. Chuyển đến Mạng → Tùy chọn và nhấp vào giao diện 3G. Sau đó bấm kết nối. Nó sẽ kết nối với 3G của bạn bằng các máy chủ DNS được định cấu hình (thay vì nhận động), bao gồm cả DNS "công khai" và DNS VPN của bạn.

  6. Kết nối với VPN của bạn. Nó sẽ hoạt động như mong đợi.

Chỉ cần lưu ý rằng:

  • Nếu DNS VPN của bạn thay đổi, bạn cần thay đổi thủ công. Điều này có thể dễ dàng được kiểm tra trong Mạng → Giao diện VPN w Nâng cao → tab DNS vì DNS VPN của bạn vẫn được gán động cho giao diện (mặc dù bị OS X bỏ qua).

  • Nếu DNS 3G của bạn thay đổi (không chắc), bạn cũng cần thay đổi thủ công. Nếu có sự cố xảy ra và bạn không thể điều hướng, bạn cần phải đi qua trình quản lý kết nối 3G của mình, nhấp vào "Kết nối" và xem DNS nào được gán động, điều đó sẽ yêu cầu bạn quay lại bước 3 và cấu hình lại nó.


2

Tôi đã có cùng một vấn đề trong thời gian dài, nhưng bây giờ tôi đã có thời gian để tìm một giải pháp phù hợp với mình. Tôi đã không thay đổi thứ tự của máy chủ DNS, nhưng tôi đang sử dụng máy chủ DNS đằng sau VPN vĩnh viễn.

  1. Kết nối thông qua quay số.

  2. Kết nối kết nối VPN và sao chép IP máy chủ DNS và miền tìm kiếm từ Kết nối VPN → Nâng cao → DNS.

  3. Ngắt kết nối VPN.

  4. Ping <name>hoặc <hostname>máy chủ VPN của bạn và ghi lại IP.

  5. Ngắt kết nối quay số.

  6. Sao y kết nối quay số (ví dụ: đặt tên là "3G cho VPN").

  7. Nhập IP và miền tìm kiếm vào tab DNS của kết nối quay số. Chúng sẽ được lưu trữ và sử dụng vĩnh viễn.

  8. Kết nối thông qua kết nối quay số mới.

  9. Bây giờ bạn không có quyền truy cập vào máy chủ tên (vì chúng được bảo mật bởi VPN) - bạn phải chỉnh sửa địa chỉ máy chủ của kết nối VPN. Thay thế máy chủ bằng IP.

  10. Kết nối thông qua kết nối VPN và bạn sẽ có thể sử dụng nó.

Lưu ý: Trong tên máy chủ chung không thay đổi, nhưng IP có thể. Vì vậy, nếu nó không hoạt động vào một ngày nào đó, hãy thực hiện lại các bước


Xin chào Alexander, nghe có vẻ như một cách tiếp cận đầy hứa hẹn. Tuy nhiên, tôi đã không gặp may mắn mặc dù thứ tự của trình giải quyết dns trông khá tốt. Phải kiểm tra lại với IT của chúng tôi.
dùng1248552

1

những gì bạn nói đã cho tôi một gợi ý, vì vậy tôi đã thêm ip dns trong kết nối vpn vào danh sách dns trong kết nối chính (không có gì lạ mắt, chỉ sử dụng giao diện đồ họa cho tùy chọn Mạng.) Tôi không chắc bạn có biết gì không đang đối phó với nó là khác nhau, nhưng nó đã làm việc với tôi.


1

Điều này vẫn đang xảy ra trong 10.13.0

Tôi đã mở một báo cáo lỗi với Apple. Không bình thường khi "ping Internalhostname" hoạt động nhưng "host Internalhostname" hoặc "nslookup Internalhostname" không thành công với VPN đường hầm phân chia (dựa trên Cisco IPSec hoặc IKEv2).

Ngoài ra, như một số người đã nhận thấy, các kết nối Cisco IPsec cũng như các kết nối IKEv2 không thể được ưu tiên với "Đặt thứ tự dịch vụ" không giống như L2TP / IPsec có thể.

Một điểm khác tôi muốn đưa ra là VPN Cisco IPSec hoặc IKEv2 đường hầm phân chia không hiển thị bất kỳ máy chủ DNS hoặc Miền tìm kiếm nào trong cài đặt Nâng cao của chúng mặc dù thông tin này hiển thị với "scutil --dns". VPN L2TP / IPsec không hiển thị thông tin này tốt.

Một cái gì đó phải cung cấp và Apple cần cung cấp một số giải thích / sửa chữa.


Tôi thấy rằng đây là tình huống hiện tại với macOS vào cuối năm 2017. Một DNS tách được cấu hình trên một tên miền không được vinh danh. Tôi chạy các scutil --dnslệnh ở trên và dường như DNS từ VPN luôn tồn tại và không được sử dụng cho miền tìm kiếm, ngay cả khi nó được đặt chính xác.
mcdado

0

Không hoạt động trong Lion / Mountain Lion, do lỗi khiến máy chủ DNS cục bộ luôn được sử dụng thay vì máy chủ DNS của mạng từ xa ngay cả khi Split DNS được thiết lập chính xác trong bộ định tuyến VPN.

Tuy nhiên, nếu bạn sử dụng bộ định tuyến Cisco ASA IPSEC, bạn có thể buộc Máy chủ DNS từ xa được sử dụng bất cứ khi nào bạn thiết lập kết nối VPN:

Nếu sử dụng Cisco ASDM, hãy đi tới Cấu hình> Truy cập mạng (Máy khách)> Chính sách nhóm> (nhóm vpn của bạn cho OSX / iPhone)> Nâng cao> Chia đường hầm

Có bộ: Tên DNS (bỏ chọn "kế thừa" và xác định tên miền dns nội bộ, ví dụ: myoffice.local) Gửi tất cả tra cứu DNS Đường hầm Throug: Đặt thành CÓ (Đây là cài đặt quan trọng)

Lưu nó và đừng quên lưu trữ trong flash để sử dụng trong tương lai.

Nếu bạn sử dụng dòng lệnh IOS, hãy đặt:

group-policy <your-tunnel-group-name> attributes
 split-dns value myoffice.local
 split-tunnel-all-dns enable`

-2

Bạn có thể khắc phục điều này bằng cách điều chỉnh thứ tự dịch vụ của các kết nối mạng. Di chuyển VPN lên đầu danh sách và thứ tự trình phân giải sẽ tuân theo.

http://support.apple.com/kb/PH14006


Bài báo đã biến mất.
Neil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.