Как определить ВСЕ DNS, которые использует, хранит и раздает OSX?

Как определить ВСЕ DNS, которые использует, хранит и раздает OSX?

Я подключаюсь к нескольким сетям в течение своего рабочего дня, переходя с одного сайта на другой, и заметил, что эти локальные сети используют и передают моей системе разные DNS. Если я нахожусь в «безопасной» локальной сети, я могу доверять DNS; однако были случаи, когда мне приходилось использовать ненадежные сайты... например, бесплатные службы WiFi в ресторане. Поэтому я хочу лучше понять, как моя система обновляет настройки. На каждом сайте я замечаю, что DNS, перечисленные в окне сетевых настроек OSX, меняются. И, конечно, когда я нахожусь в своей домашней локальной сети, я вижу свои знакомые DNS. Я предпочитаю всегда использовать эти DNS, когда я дома.

До сих пор я доверял OSX автоматически и полностью переключаться на мою сеть, когда я дома, но недавний опыт подсказывает мне, что она не делает этого полностью. То есть, похоже, она сохраняет ранее приобретенные DNS, даже если они не указаны в сетевых настройках в списке DNS-серверов на вкладке DNS.

Я обнаружил это, когда настраивал новый принтер WiFi. Я просмотрел руководство к принтеру и почувствовал себя достаточно информированным и подкованным, чтобы просто подключить его Ethernet напрямую к порту Ethernet моего MacBook через соединительный кабель. Я открыл его страницу конфигурации, чтобы настроить его на подключение к моему WiFi. Перед изменением настроек я распечатал информацию о конфигурации сети по умолчанию. Я был удивлен, что он уже подхватил несколько вещей с моего MacBook. Я уже был удивлен, что мне даже не пришлось вручную настраивать Ethernet на моем MacBook для сети принтера по умолчанию. В любом случае, одна из настроек, которая ДЕЙСТВИТЕЛЬНО выделялась, заключалась в том, что он подхватил настройку вторичного DNS-сервера... IP, с которым я знаком по одной из локальных сетей, которые я часто использую.

Единственный вывод, к которому я пришел, заключался в том, что OSX, возможно, ведет историю DNS-серверов, на которую можно было бы откатиться; однако я сразу же проверил сетевые настройки и обнаружил, что ни AirPort, ни Eithernet не указали DNS-сервер, предоставленный принтеру.

Существует ли метод командной строки для проверки того, какие DNS в данный момент использует моя система?

OSX говорит, что использует мои DNS-серверы, но как я могу быть уверен на 100%? OSX, очевидно, сохранил и даже странным образом выдал IP-адрес принтеру?

решение1

Начиная с Mac OS X 10.6.3 Apple решилане следоватьпорядок DNS-серверов, указанный в Системных настройках, но для определения самого быстрого DNS-сервера из доступных и его использования. Хотя это может быть совершенно нормально, если вы доверяете сетям, в которых находитесь (я предполагаю, что Apple воспринимает это как данность), в других случаях это может быть проблемой безопасности.

Чтобы увидеть порядок поиска DNS-серверов (и доменов поиска), выполните:scutil --dns

Чтобы узнать, какой у вас DNS-серверна самом деле в настоящее время использую, запустить например nslookup apple.comиз Терминала.

Кроме того,эта статья cnetпроведет вас через процесс изменения порядка поиска DNS обратно на «строгий порядок».

решение2

Текущие DNS-серверы можно просмотреть в разделе «Системные настройки» > «Сеть» > [Какой бы ни был ваш текущий активный интерфейс с наивысшим рейтингом, возможно, «Ethernet» или «AirPort»] > «Дополнительно...» > DNS.

Вы увидите то же самое, если cat /etc/resolv.conf(обратите внимание на намеренное отсутствие буквы «e» в «resolv»).

Bonjour также может выполнять Wide Area Bonjour. Чтобы увидеть, какие домены используются для Wide Area Bonjour, выполните dns-sd -F, затем нажмите ^Cпосле появления списка доменов (в противном случае он будет работать бесконечно, отслеживая изменения в списке).

Mac OS X не «выдает» адреса DNS-серверов другим машинам, если вы не запустите ее DHCP-сервер, и единственный способ, которым люди запускают DHCP-сервер, — это включение общего доступа к Интернету на панели «Общий доступ» в Системных настройках. Если вы оставили общий доступ к Интернету запущенным, он мог выдать свой собственный частный IP-адрес NAT (192.168.2.1) в качестве адреса DNS-сервера, и он может выполнять функции DNS-прокси. Или он мог выдавать последний адрес DNS-сервера, который он использовал на своем публичном интерфейсе NAT (его «восходящий» интерфейс; интерфейс «Поделиться подключением FROM:»). Так что если вы, скажем, были в публичной сети Wi-Fi и использовали общий доступ к Интернету из AirPort в Ethernet, чтобы подключить машину, подключенную к Ethernet, к Интернету через ваш Mac, это могло бы объяснить то, что вы видели.

Если у вас не включен общий доступ к Интернету (отмечен галочкой) и вы не пытались запустить DHCP-сервер вручную, то ваш Mac почти наверняка не предоставил этот адрес DNS-сервера вашему принтеру.

Какой именно адрес DNS-сервера вы видели у своего принтера? Например, если ваш принтер назначил себе адрес IPv4 link-local (169.254.xx), то он мог показывать свой собственный адрес в этом поле, чтобы знать, что он должен полагаться на себя (вероятно, Bonjour multicast DNS) для поиска DNS.

Связанный контент