Кеширующий DNS сервер может понадобится как DNS сервер в локальной сети. При наличии кеширующего DNS на вашем сервере сети все компьютеры в сети смогут использовать ваш сервер как DNS. Кроме того это несколько ускоряет распознование доменных имен и часто используется даже при использовании Linux как рабочей станции. Приступим к настройке:
Провеяем что установлены (или устанавливаем) пакеты bind и bind-utils:
#urpmi bind bind-utils
Пусть 222.222.222.222 - это IP-адрес сервера DNS вашего провайдера.
Теперь вносим изменения в файле /etc/named.conf в секции "controls". Нужно добавить следующие строки:
forwarders { 127.0.0.1; 222.222.222.222; }; forward first;
Далее правим файлик /etc/hosts - в нем должны быть строки:
nameserver 127.0.0.1 nameserver 222.222.222.222
Это может понадобится для некоторых служб и программ которые не будут обращаться к вашему DNS серверу.
После этого перезапускаем DNS сервер :
# /etc/init.d/named restart
Теперь всем хостам в локальной сети можно указать этот сервер в качестве DNS сервера.
Проверить работоспособность можно следующим образом:
$ nslookup -sil www.linux.org Server: 222.222.222.222 Address: 222.222.222.222#53 Non-authoritative answer: Name: www.linux.org Address: 198.182.196.56 $ nslookup -sil www.linux.org Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.linux.org Address: 198.182.196.56
Как мы видим, первый раз обращение прошло к DNS серверу вашего провайдера, а второй раз ответ получен из кеша вашего DNS сервера.