Як перевірити, який DNS-сервер я використовую (на Mac OS X)


72

Як в ОС Mac OS X перевірити, який сервер DNS я зараз використовую (бажано рішення командного рядка)?

System Preferences > Networkпоказує 192.168.1.1, що адреса мого маршрутизатора, а не справжній DNS-сервер.


Якщо ви використовуєте команду dig або nslookup, вона показує IP-адресу сервера DNS за замовчуванням.
Бісвапріо

Для запису - ваш маршрутизатор має справжній DNS-сервер. Більш детально, це повторюваний сервер DNS, такий же, як DNS вашого провайдера або 8.8.8.8 Google.
Новкер

Відповіді:


112

Ви можете спробувати видати в scutil --dns | grep 'nameserver\[[0-9]*\]'командному рядку. Потрібно надати список серверів DNS, налаштованих у вашій системі.


це чудова команда - схоже, що це сервер DNS, який використовується Comcast (мій провайдер). +1 за великий бонусний бал і відповідь на більш глибокі знання.
mbb

2
+1 Для команди, яка показує сервери для конфігурацій «багато клієнтів» (наприклад /etc/resolver/…).
Кріс Джонсен

2
Я додав | sort | uniqдо цього, оскільки мене цікавили лише унікальні DNS-сервери, які використовуються.
Jeroen Wiert Pluimers

1
Нітпік, але чому це потрібно додавати \[[0-9]*\]до grepрядка?
ijoseph

1
На моєму комп’ютері scutil --dns | grep nameserverдостатньо, або scutil --dns | grep nameserver | sort -uякщо я просто хочу бачити унікальні сервери.
AllanLRH

16

Ваш маршрутизатор діє як експедитор DNS, ви запитуєте маршрутизатор, і ваш маршрутизатор запитує сервер DNS для вас. Вам потрібно увійти у веб-конфігурацію маршрутизатора, щоб зрозуміти, що він використовує, або ви можете просто ввести його безпосередньо у свою мережеву конфігурацію.


Це просто неправильно. DHCP-сервер призначає DNS-сервер (саме це, на мою думку, вас бентежить), але маршрутизатор самостійно не обробляє DNS. Його завдання полягає в маршрутному русі.
сенфо

10

Використовуйте таку команду, щоб переглянути свій DNS-сервер у Mac OS X:

Відкрийте термінал і введіть

$ cat /etc/resolv.conf

для перегляду вашого DNS-сервера.

Вибірка зразка:

$ cat /etc/resolv.conf 
domain http://www.example.com (Here, you can see DNS records info of the particular domain name.)
nameserver 68.87.85.98
nameserver 68.87.69.146

1
Це покаже те саме, що System Preferences > Networkробить.
Кевін Панько

Не надто корисне в наш час. Цей файл є лише тим, що застарілим програмам є що прочитати. Більшість матеріалів MacOS використовують внутрішню базу даних. Дивіться відповідь вище за допомогою команди "scutil".
Кріс Когдон

10

Akamai надає інструмент налагодження DNS, який повертає IP-адресу резолюції, що використовується для запиту. Відкрийте Terminal.app і запустіть таку команду:

dig whoami.akamai.net +short

UltraDNS також забезпечує таке, але я вважаю його менш надійним:

dig whoami.ultradns.net +short

IP-адреса, повернута цими інструментами, є DNS-рішенням, який використовується для вашої мережі, але може бути лише одним із кількох. Можливо, буде перевагою використання IP-адреси в налаштуваннях мережі.

Ви можете орієнтувати ефективність локальних та альтернативних серверів DNS за допомогою namebench .


Відмінно. Це економить час доступу до екрана адміністратора маршрутизатора.
downeyt

Ця послуга чудова.
pedrosanta

5

Я дійшов до цього питання, шукаючи спосіб отримати список серверів DNS певного мережного адаптера в текстовому форматі (наприклад, адаптер Wi-Fi):

введіть тут опис зображення

Цей список серверів DNS можна отримати в терміналі за допомогою цієї команди:

$ networksetup -getdnsservers Wi-Fi
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1

А для адаптера Ethernet:

$ networksetup -getdnsservers Ethernet
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1

3

Це DNS-сервер, який використовує ваш mac. Ваш маршрутизатор працює з кешуючим DNS-сервером і встановлює себе як DNS-сервер через DHCP. Якщо ви увійдете в свій маршрутизатор, ви зможете дізнатися, які сервери DNS він використовує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.