Liệt kê các máy chủ DNS trong Mavericks


10

Làm cách nào để kiểm tra máy chủ DNS nào đã được sử dụng để phân giải tên máy chủ cụ thể trong mạng VPN?

Tôi đang sử dụng máy khách VPN độc quyền do công ty cung cấp và muốn xem địa chỉ IP của máy chủ DNS, nhưng

networksetup -getdnsservers <service name>

không liệt kê bất kỳ máy chủ DNS nào cả. Tuy nhiên, tôi có thể ping bất kỳ máy chủ nào trong mạng nội bộ, vì vậy DNS rõ ràng đang hoạt động.

Làm thế nào để tra cứu DNS hoạt động trên OSX có / không có kết nối VPN?

Câu trả lời:


6

Đầu tiên, nếu networksetup -getdnsservers <service name>không hiển thị bất cứ điều gì, bạn không có bất cứ điều gì được liệt kê trong Tùy chọn hệ thống> Netowrk trong "Máy chủ DNS:".

Thứ hai, điều quan trọng cần lưu ý là OS X không xử lý DNS như hầu hết các hệ thống. Mỗi https://developer.apple.com/l Library / mac / document / Magnwin / Reference / Manager / man5 / resource.5.html Về cơ bản, điều này có nghĩa là OS X có nhiều máy khách DNS tùy thuộc vào cấu hình của bạn. Kết quả của nhiều dịch vụ này có nghĩa là có những tình huống sử dụng Safari để truy cập trang web ( http://www.example.com ) sẽ đưa bạn đến địa chỉ IP mà OS X đã truy xuất từ ​​DNS (giả sử 1.2.3.4) trong khi đồng thời, thực hiện một đào

$ dig www.example.com  

sẽ trả lại kết quả khác nhau. (có lẽ 2.3.4.5)

Lý do cho điều này nằm ở cách OS X xử lý DNS.

Nếu bạn chạy $ man digbạn nhận được trong số những thứ khác, như sau:

Mac OS X THÔNG BÁO Lệnh đào không sử dụng độ phân giải địa chỉ và tên máy chủ hoặc các cơ chế định tuyến truy vấn DNS được sử dụng bởi các quy trình khác đang chạy trên Mac OS X. Kết quả của các truy vấn tên hoặc địa chỉ được in bởi dig có thể khác với các quy trình được tìm thấy bởi các quy trình khác sử dụng các cơ chế phân giải địa chỉ và tên riêng của Mac OS X. Kết quả của các truy vấn DNS cũng có thể khác với các truy vấn sử dụng thư viện định tuyến DNS của Mac OS X.

Cũng $man nslookupsẽ trả lại một cái gì đó tương tự

Mac OS X THÔNG BÁO Lệnh nslookup không sử dụng tên máy chủ và độ phân giải địa chỉ hoặc cơ chế định tuyến truy vấn DNS được sử dụng bởi các quy trình khác chạy trên Mac OS X. Kết quả của các truy vấn tên hoặc địa chỉ được in bởi nslookup có thể khác với các quy trình được tìm thấy bởi các quy trình khác sử dụng các cơ chế phân giải địa chỉ và tên riêng của Mac OS X. Kết quả của các truy vấn DNS cũng có thể khác với các truy vấn sử dụng thư viện định tuyến DNS của Mac OS X.

Tất cả điều này thực sự là một cách nói khá dài, cách tốt nhất để xem máy chủ DNS nào đang được sử dụng là xem Tùy chọn hệ thống> Mạng

Các mục nhập "Máy chủ DNS:" thường ở đó và "Miền tìm kiếm:" sẽ cho phép bạn tìm kiếm các địa chỉ không đầy đủ.

Nếu "Máy chủ DNS:" không xuất hiện, thì OS X sẽ cố gắng sử dụng địa chỉ trong "Bộ định tuyến:" cho DNS.

VÀ, trên hết niềm vui này, có các tiện ích và các quy trình khác có thể không sử dụng Thư viện định tuyến DNS OS X và chúng sẽ trực tiếp nhấn vào nội dung của /etc/resolv.conf.

Câu trả lời ngắn gọn là đây:

  1. Nếu bạn đi theo nội dung của Tùy chọn hệ thống> Mạng, bạn đang xem xét điều tương tự mà hầu hết các quy trình đang sử dụng.
  2. Nội dung của Tùy chọn hệ thống> Mạng, sẽ được điền /etc/resolv.conf, nhưng không phải lúc nào cũng vậy.
  3. Một số quy trình khác (như đào và nslookup) đang truy cập trực tiếp /etc/resolv.conf.

Và, trên hết điều này - Nếu bạn không sử dụng các máy khách VPN được tích hợp trong OS X, có thể các tuyến và máy chủ DNS bổ sung đang được sử dụng networksetup -getdnsservers <service name>sẽ không hiển thị. Máy khách VPN của bạn có thể có khả năng hiển thị cho bạn các tuyến và máy chủ DNS, tôi biết rằng máy của tôi cũng vậy.

Tôi biết rằng điều này không trả lời chính xác câu hỏi của bạn, nhưng hy vọng điều này giúp bạn nhận ra rằng không phải lúc nào cũng dễ dàng tìm ra "sự thật" liên quan đến DNS trên máy Mac. Nói chung, bạn an toàn khi giả định rằng nội dung của Tùy chọn hệ thống> Mạng hoặc nội dung networksetup -getdnsservers <service name>là nơi bạn sẽ nhận DNS của mình. Tuy nhiên nếu mọi thứ có vẻ kỳ lạ, hãy nhớ rằng cũng có những khả năng khác. Sử dụng đào để giúp xác định nếu có sự khác biệt đang diễn ra.

Cuối cùng, đối với những độc giả đang tự hỏi làm thế nào để có được <service name>trong networksetup -getdnsservers <service name>, hãy thử sử dụngnetworksetup -listallnetworkservices

Hóa đơn


Cám ơn vì sự giải thích. Đó là điều tôi nghi ngờ: dường như mọi thứ trong mạng VPN đang được tìm kiếm thông qua cổng VPN được liệt kê trong bảng định tuyến ...
Robusta

Tôi đã có thể bắt địa chỉ máy chủ DNS bằng tcpdump trên giao diện VPN.
Robusta

8

trong OSX Mavericks (10.9 - thực sự là 10.6.3 trở lên, tôi tin) nếu bạn muốn xem cấu hình DNS hoạt động:

scutil --dns

Mục nhập đầu tiên (trình phân giải số 1) được cho là cấu hình hoạt động ... mặc dù tôi đã thấy rất nhiều trường hợp không phải như vậy.

từ người đàn ông

 The --dns option reports the current DNS configuration.  The first listed
 resolver(5) configuration is considered to be the "default" configura-
 tion.  Additional "supplemental" configurations follow.  Those containing
 a "domain" name will be used for queries matching the specified domain.
 Those without will be used as a "default" configuration in addition to
 the first listed.

IME, nếu những gì bạn thấy ở đây không khớp với những gì bạn mong đợi (ví dụ: mạng> nâng cao> dns), bạn có thể cần phải tắt / bật bộ điều hợp mạng thích hợp để làm mới ...

Các mẹo khác trong OSX gần đây:

Với 10.7 hoặc 10.8, các miền tìm kiếm không áp dụng cho các tra cứu có dấu chấm trong đó. tức là - www.test sẽ không nối các miền tìm kiếm, nơi www sẽ. có một sửa chữa:

sudo vim /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Add <string>-AlwaysAppendSearchDomains</string>after line 16
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/mDNSResponder</string>
        <string>-launchd</string>
        <string>-AlwaysAppendSearchDomains</string>
    </array>

Bây giờ hãy tải và tải lại dịch vụ mDNSResponder: sudo launchctl unload -w /System/L Library / Lunchuncha / aons

mạng> nâng cao> cấu hình dns là -F INTERFACE-. Vì vậy, nếu bạn sử dụng không dây và có dây ... bạn phải thiết lập cả hai.

cũng có một cách khác - / etc / decver - một ví dụ ở đây: Do / etc / decver / files hoạt động trong Mountain Lion để phân giải DNS? và nhiều hơn nữa tại đây: https://www.dforge.net/2013/01/30/osx-domain-specific-dns-servers-etcresolver/

Đối với việc cố gắng thực hiện một nslookup - ai cũng biết rằng nslookup (và máy chủ và máy đào) không tuân theo cơ chế phân giải OSX (cực kỳ độc đáo và hỗn hợp). Sử dụng ping.


Đây phải là câu trả lời được chấp nhận. scutil --dnshiển thị cấu hình DNS thực tế mà HĐH đang sử dụng.
Nate

2

Tôi thường sử dụng (trên các môi trường unix, và đây có thể là một trường học hơi cũ) giống như các ví dụ sau đây.

Đầu tiên, bạn có thể tra cứu một địa chỉ IP hoặc mục nhập tên DNS riêng lẻ và nó sẽ báo cáo lại máy chủ đã được sử dụng để cung cấp câu trả lời. Bạn có thể tra cứu một mục duy nhất trên dòng lệnh hoặc nhập nslookupchương trình và tra cứu một số mục mà không cần phải nhập lại lệnh:

nslookup

Default Server:  redacted.organisation.com
Address:  10.47.xxx.xxx

> ibm.com
Server:  redacted.organisation.com
address:  10.47.xxx.xxx

Non-authoritative answer:
Name:    ibm.com
Address:  129.42.38.1

> sun.com (etc etc, use quit or exit to get out)

Thứ hai, lệnh này (lưu ý tôi đã chạy lệnh này trên hộp windows, trên unix / OS X, lệnh ipconfig / all thay vì ifconfig -a và kết quả đầu ra có thể hơi khác nhau) liệt kê dữ liệu cấu hình ip cho từng giao diện trên hệ thống, cổng vật lý của bạn, kết nối không dây, VNC, v.v., hiển thị dữ liệu DNS và IP nào được liên kết với mỗi tuyến ra khỏi máy, bạn sẽ nhận được rất nhiều mục nhập, một cho mỗi cổng / bộ điều hợp mạng chính hãng và cả số lượng cổng ảo khác nhau tùy thuộc vào cấu hình, trong ví dụ của tôi, tôi đã loại bỏ hầu hết các kết quả nhưng hiển thị bộ điều hợp VPN và các mục nhập DNS (đã được xử lý lại) mà nó có.

C:\Users\dawilkin>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : XXX-XXXXX
   Primary Dns Suffix  . . . . . . . : XX.XXXXX.com
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : XXX.com
                                       XX.XXX.com
                                       XX.XXX.com
                                       XXX.co.uk
                                       XXX.com

Ethernet adapter Local Area Connection 2:

   Connection-specific DNS Suffix  . : XXX.com
   Description . . . . . . . . . . . : Cisco AnyConnect VPN Virtual Miniport Ada
pter for Windows x64
   Physical Address. . . . . . . . . : 00-XX-9A-XX-XX-00
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.47.XX.XX(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 10.47.XX.X
   DNS Servers . . . . . . . . . . . : 10.47.XX.X
                                       10.31.XX.X
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) 82579LM Gigabit Network Connecti
on
   Physical Address. . . . . . . . . : 3C-97-XX-XX-XX-3C
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter Wireless Network Connection 3:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter #
2
   Physical Address. . . . . . . . . : A4-4E-31-42-33-41
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Thật không may, nslookup trả lời rằng nó không thể tìm thấy máy chủ trong mạng VPN của tôi. Ngoài ra, ifconfig không liệt kê bất kỳ máy chủ DNS nào cho bất kỳ giao diện nào, kể cả giao diện tương ứng với VPN.
Robusta

Có thể bạn đang sử dụng tập tin máy chủ được mã hóa cứng. Là các máy chủ bạn đang tìm kiếm trên internet hoặc trong tổ chức của bạn?
nhồi

downvote vì đầu ra ipconfig windows không có ngữ cảnh hữu ích trong môi trường OSX - OSX có môi trường phân giải DNS duy nhất (và nhiều hương vị).
quan tâm

Anh bạn, chỉ cần bỏ phiếu, chúng tôi không cần biết tại sao.
nhồi vào

1

Điều gì nslookupnói với bạn? Nó cho tôi máy chủ DNS của tôi trên dòng thứ hai.

$ nslookup stackexchange.com
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   stackexchange.com
Address: 198.252.206.16

Khi tôi vào máy chủ nội bộ (thuộc VPN), nslookup cố gắng sử dụng bộ định tuyến wifi của tôi làm DNS và sau đó không thể tìm thấy máy chủ: [... ~] $ nslookup> xxxxxxxxxxx.com Máy chủ: 192.168.1.1 Địa chỉ: 192.168.1.1 # 53
Robusta
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.