Настройка кэширующего 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. Как добавить текст в защищённый файл с помощью sudo
  2. Bind, настройка собственной зоны
  3. Объединение DNS зон в VPN сетях
  4. Скрипт автоматического создания виртуальных хостов apache2
  5. Запуска apache в окружении chroot

#1: можно для этих целей заюзать pdnsd ;)

2009-03-22 21:06:53 


#2: power DNS ?

2009-03-22 21:22:05 


#3: а как называется утилиты для проверки файлов синтаксиса bind ?

2009-04-03 10:58:08 


#4:
ffsdmad@serv:/home/httpd$ named
named named-checkconf named-checkzone named-compilezone

2009-04-03 11:00:13 


оставить комментарий