Как добавить пользовательский DNS-сервер и сохранить DNS-сервер ISP по умолчанию в OS X Mountain Lion

9

Я использую OS X Mountain Lion. Я использую dnsmasqдля подстановки доменные имена локального хоста, такие как http://local.dev , чтобы указать на локальный хост. Но я должен добавить 127.0.0.1 в настройках системы -> настройки сети.

После того, как я установил 127.0.0.1 в качестве DNS-сервера, DNS-серверы ISP по умолчанию были перезаписаны моим. Это мешало мне получить доступ к веб-сайтам. Это не имеет большого значения, когда я не перемещаю свой компьютер, я могу вручную войти в DNS-сервер провайдера. Но если я поменяюсь местами, DNS провайдера изменится.

Я также пытался использовать DNS-сервер Google, но в некоторых случаях он не работает. Как я могу зарезервировать (или обновить) DNS-сервер интернет-провайдера, не удаляя 127.0.0.1 в качестве DNS.

Заранее спасибо.

Daiwei
источник

Ответы:

11

Ага. Ты можешь сделать это, /etc/resolverтвой друг.

$ man 5 resolver:

домен
Имя домена, связанное с этой конфигурацией распознавателя. Этот параметр обычно не требуется поисковой системой Mac OS X DNS, когда конфигурация распознавателя считывается из файла в каталоге / etc / resolver. В этом случае имя файла используется в качестве имени домена.

Проще говоря, вы можете поместить nameserver 127.0.0.1в файл, который вы создаете под названием/etc/resolver/dev

Вам нужно будет перезагрузить / перезагрузить. Затем он будет направлять любые запросы *.devна ваш локальный сервер имен.

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

Изменить: я только что нашел https://serverfault.com/a/164215/163311 и http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again которые имеют несколько больше деталей и включают в себя dnsmasqдетали настройки.

rjocoleman
источник
Вторую статью теперь можно найти по адресу alanthing.com/blog/2012/04/24/…
ebelisle
0

Есть ли конкретная причина для использования dnsmasq?

Вы можете просто добавить записи в свой /private/etc/hostsфайл, указав DNS, к какому провайдеру вы подключены. Вот как это сделать с помощью терминала:

sudo nano /private/etc/hosts Введите ваш пароль при появлении запроса.

Добавьте любые дополнения в конце файла hosts (по одной записи в строке), например:

127.0.0.1 local.dev

Ctrl + O, а затем введите, чтобы сохранить файл в нано. Ctrl + X, чтобы выйти из нано.

Затем вам нужно очистить локальный кеш DNS, используя: dscacheutil -flushcache

CRH
источник
2
Использовать файл hosts может быть простым решением, но мне нужно настроить домены подстановки, такие как * .dev, чтобы указывать на localhost.
Daiwei