Главное назначение - принимать запросы от клиентов и опрашивать другие (авторитативные) серверы доменных имен на предмет поиска необходимой клиентам информации и хранение найденной информации (записей описания ресурсов) к своем кэше в течение времени жизни этой информации. При этом в кэш должна попадать не только информация о конечном соответствии IP-адреса и доменного имени, но и информация найденная в процессе поиска конечного соответствия, например, информация об авторитативных серверах зон доменных имен.
При этом данный сервер не будет поддерживать никакой зоны, т.е. он не будет авторитативным для какой-либо зоны пространства доменных имен Интернет.
Для начала установим bind9:
apt-get install bind9Находим файл /etc/bind/named.conf.options и добавляем DNS сервера к которым будет обращатся наш сервер):
forwarders {Если есть DNS сервер у вашего провайдера, то укажите его первым, для экономии трафика.
194.187.48.2;
82.144.192.30;
195.189.246.18;
193.193.193.100;
};
Перезапускаем BIND:
/etc/init.d/bind9 restartНе забываем поменять DNS адрес в /etc/resolv.conf на 127.0.0.1.
Если возникнет ошибка rndc: connect failed: 127.0.0.1#953: connection refused попробуйте открыть 953 порт
iptables -A INPUT -p tcp --dport 953 -j ACCEPTЕсли не помогла и эта ошибка повторяется, проверьте конфигурацию named.conf.options
Если на вид там все правильно и не пропущение все точки с запятыми то можно запустить Байнд в режиме дебага
bind -n 9 -gи посмотреть на какие ошибки он ругается.
Некоторые вопросы, которые могут возникнуть
- Где хранит BIND свой кэш?\\ В памяти.
- Хранится ли кэш между перезапусками?\\ Нет.
- В named.conf.options есть такая строчка auth-nxdomain no (у меня no).\\ Лучше оставить как есть, но если будут проблемы со старыми программами, то исправить на yes.
- Как можно проверить, кеширует ли DNS?\\ Набираем nslookup www.ru, если в ответе содержится строка Non-authoritative answer, то адрес пришел из кэша.
- Как еще проверить?\\ Набираем (спросить адрес, например, www.ru. (которого еще нет в кэше) через 5 секунд спросить ещё раз. Время запроса должно быть меньше на несколько секунд):
$ dig @localhost www.ru
...
;; Query time: 3971msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
...
</code>[ждём 5 сек.]<code>
$ dig @localhost www.ru
...
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
...
Источник, сказать честно, уже не помню.
Комментариев нет:
Отправить комментарий