Назад | Перейти на главную страницу

Как настроен поиск DNS для OSX Mountain Lion?

Если я пропущу свой файл resolv.conf, я увижу следующее сообщение:

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#

Я пытаюсь добавить запись DNS. Я отредактировал свой файл hosts и очистил кеш DNS, но имя не разрешается, если я использую host servername. Я подумал, возможно, что host не был настроен на просмотр hosts файл. Как я могу разрешить мою новую запись и что использует OSX, если нет resolv.conf?

DNS-преобразователи могут быть добавлены в OS X через networksetup команда:

sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

При необходимости введите имя сетевого подключения. Эти преобразователи появятся в resolv.conf, поскольку он создается автоматически, но прямое редактирование файла resolv.conf не приведет к использованию этих преобразователей. Я предполагаю, что резолверы хранятся где-то в списке; Я буду искать и доложу.

Отредактировано для добавления: похоже, что файл XML plist, в котором хранятся DNS-серверы, /Library/Preferences/SystemConfiguration/preferences.plist.

Файл хоста в / private / etc / hosts должен работать для принудительного разрешения определенных имен (/ etc - это символическая ссылка на / private / etc). Можете ли вы проверить свой синтаксис и то, что вы редактируете правильный файл?

Хост-инструмент не просто разрешить имена (например, используя преобразователь имен системы), но на самом деле запрашивает DNS-серверы (например, отправка пакетов на udp / 53 и, возможно, на tcp / 53): он не знает и не использует локальный hosts файл.

Если вы хотите протестировать распознаватель операционной системы (например, gethostbyname () и аналогичные функции libc), вы можете попробовать проверить связь с именем, которое вы добавили в /etc/hosts и он будет учитывать то, что вы поместили в этот файл.

Кроме того, как вы уже узнали, поиск DNS в Mac OSX не использует /etc/resolv.conf, и правильный способ настройки запрашиваемых DNS-серверов находится в графическом интерфейсе сетевых настроек и / или networksetup инструмент командной строки. Честно говоря, я не знаю, можете ли вы настроить порядок, в котором проверяются источники, но стандартное поведение - попробовать /etc/hosts первый и днс сервера после этого.