Я сделал некоторые обязательные чтения по DNS и BIND через книгу О'Рейли. Моя цель состоит в том, чтобы иметь локальный DNS-сервер (то есть seldon.foundation), который разрешает локальные имена (т.е. * .foundation), но пересылает остальное в OpenDNS или Google.
blockquote>$TTL 3h foundation. IN SOA seldon.foundation. avery.foundation.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ; Negative caching TTL of 1 hour ) ; ; Name servers ; foundation. IN NS seldon.foundation. ; ; Addresses for the canonical names ; localhost.foundation. IN A 127.0.0.1 seldon.foundation. IN A 192.168.1.151 ; ; Aliases ; dns.foundation. IN CNAME seldon.foundation.
- My named.conf.local:
blockquote>zone "foundation" in { type master; file "db.foundation"; }; zone "1.168.192.in-addr.arpa" in { type master; file "db.192.168.1"; };
После перезапуска связать с:
sudo service bind9 restart
Я знаю, что он загружает файлы (и загружает их без ошибок), потому что я проверяю системный журнал. Но когда я делаюdig seldon.foundation
, я не получаю ожидаемого результата.
resolv.conf
имеет два IP-адреса, но в файле есть примечание о том, что нельзя редактировать файл вручную. Что мне теперь делать?
Отчасти проблема ответа на этот вопрос заключается в том, чтобы знать, на какую документацию смотреть. В частности, Ubuntu 12.04 (я использую дистрибутив сервера) работает немного иначе, чем может предложить документация для named / bind. Я провел много времени, настраивая вещи, которые не нужно было настраивать. Без лишних слов:
/etc/bind/named.conf.local
. Если вы посмотрите на мои вставленные файлы, вы увидите, как я настраивал свою собственную сеть. Опять же, если вы не понимаете, что там происходит, читайте больше на DNS & amp; BIND (или задайте несколько простых вопросов здесь или на serverfault.com, которые конкретно касаются проблемы, которую вы не понимаете). /var/cache/bind
. Если вы посмотрите в /etc/bind/named.conf.options
, то увидите, что каталог для поиска файлов зон находится в /var/cache/bind
. Не важно, что этот каталог (/etc/bind/
) завален файлами зон. Я не понимаю, почему некоторые зональные файлы выбираются здесь, но любые пользовательские файлы должны быть в /var/cache/bind
. Я оставляю это волшебникам с большим опытом, чем я, чтобы объяснить. named.conf.options
. Это позволит вам получить разумное разрешение имен для доменов, которые не поддерживаются вашей подсетью. Вы можете увидеть, где это добавить (если вы находитесь в Ubuntu), раскомментировав строки, которые были в «форвардерах». Добавьте IP-адреса машин DNS, которые вы хотите использовать. Убедитесь, что вы разделяете их точкой с запятой. 127.0.0.1
в resolv.conf. Это сложно, потому что если вы откроете /etc/resolv.conf
, вы увидите заметку, в которой вам не рекомендуется редактировать этот файл. То, что вы хотите сделать, это следовать совету здесь: Введение Стефана в DNS 12.04 . Отредактируйте файл /etc/resolvconf/resolv.conf.d/head
и добавьте свой локальный хост, введя nameserver 127.0.0.1
в конец этого файла, за которым следует новая строка. resolvconf -u
. Эта команда сбрасывает resolv.conf с новой конфигурацией, которую вы указали в resolv.conf.d/head
. dig seldon.foundation
или любым другим подходящим для вашей сети. Вы должны на сервере внизу показать адрес обратной связи (т.е. 127.0.0.1). Спасибо @Shane Madden за то, что он дал мне достаточно подсказок, чтобы двигаться вперед.