Завести дома, да и на работе, свой кэширующий DNS сервер довольно приятно так как это даёт несколько хороших преимуществ и стоит совсем немного усилий (минут 5)
- Экономия служебного трафика, особенно актуально в случае GPS
- Ускорение повторного доступа к любым ресурсам
- Независимость от проблем с 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
далее: для чего и как создать собственную домашнюю DNS зону
Если имеются вопросы, то оставляйте их в комментариях, уведомления о новых коментариях мгновенно приходит мне в чат и возможно я помогу решить вашу проблему, только давайте больше информации без прелюдий