Настройка кэширующего dns сервера bind

Завести дома, да и на работе, свой кэширующий DNS сервер довольно приятно так как это даёт несколько хороших преимуществ и стоит совсем немного усилий (минут 5)

  1. Экономия служебного трафика, особенно актуально в случае GPS
  2. Ускорение повторного доступа к любым ресурсам
  3. Независимость от проблем с DNS провайдера, такое тоже случается

Для примера приведу лог работы wget при выкачивание части сайта.

Эта ситуация в которой в роли DNS выступает сервер провайдера
> cat /etc/resolve.conf
nameserver 217.9.147.42
> time wget -c -np -r -k --no-proxy http://info.nic.ru/st/14/out_267.shtml
Преобразовано 21 файлов за 0,5 секунд.
real0m17.691s
user0m0.490s
sys0m0.269s


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

> cat /etc/resolve.conf
nameserver 192.168.80.76
> time wget -c -np -r -k --no-proxy http://info.nic.ru/st/14/out_267.shtml
Преобразовано 21 файлов за 0,5 секунд.
real0m2.751s
user0m0.402s
sys0m0.182s

Разница 15 секунд говорит о том, что работать в интернете с собственным DNS сервером гораздо приятнее. Итак приступаем

> sudo pacman -S bind # устанавливаем последнюю версию bind
> pacman -lQ bind |grep named.conf$ # находим файл настроек
bind /etc/named.conf
> su # становимся root
# vim /usr/sbin/named.conf # приступаем к настройке

создаём алиас для указания обслуживаемых сетей, машин
в данном случае 192.168.80.0-(2^(32-25))
будет обслуживаться сеть из адресов 192.168.80.0-128

acl "homenet" {192.168.80.0/25;};
options {
    directory "/var/named";
    pid-file "/var/run/named/named.pid";
    allow-query {"homenet";}; // разрешаем обслуживать только эти адреса
    forwarders { 217.9.147.42; }; // все запросы будем переправлять на этот DNS сервер, это DNS моего провайдера
};

Теперь сохраняем и  в файле /etc/resolv.conf добавляем запись (можно и на других компьютерах в этой сети)

nameserver 192.168.80.76 # это адрес компьютера на котором мы подняли DNS сервер

Все программы расчитывающие DNS имя будут обращаться к серверам указанным в этом файле , в нём имеются и другие полезные опции но об этом позже.
Запускаем сервер
/etc/rc.d/named start
:: Starting DNS    [BUSY]    [DONE]

и проверяем: nslookup r0.ru
Server:ru 192.168.80.76
Address:Address 192.168.80.76#53

Non-authoritative answer:
Name:Namer0.ru
Address: 81.19.70.3

Ура, теперь мы имеем собственный кэшируюший сервер. Для того чтобы после перезагрузки не запускает его руками, добавьте в файле /etc/rc.conf в строчке DAEMONS слово named

далее: для чего и как создать собственную домашнюю

Если имеются вопросы, то оставляйте их в комментариях, уведомления о новых коментариях мгновенно приходит мне в чат и возможно я помогу решить вашу проблему, только давайте больше информации без прелюдий

Комментариев 1
Сергей Багринцев
Сергей Багринцев

2016-09-03

Здравствуйте
Исправьте ссылку в тексте "далее: для чего и как создать собственную домашнюю DNS зону"
на

Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут