Dnsmasq — нетребовательный, простой в настройке кеширующий Раздел DNS: Что такое DNS транслятор и Настройка DHCP сервера Linux, FreeBSD сервер.
aptitude install dnsmasq
Настраиваем параметры /etc/dnsmasq.conf
listen-address=127.0.0.1 bind-interfaces log-queries log-facility=/var/log/dnsmasq-queries.log
vzctl set CTID --capability setuid:on --save vzctl set CTID --capability net_admin:on --save vzctl set CTID --capability net_raw:on --save
Первым DNS сервером должен стоять в файле /etc/resolv.conf наш сервер dnsmasq.
nameserver 127.0.0.1 nameserver 8.8.8.8 nameserver 8.8.4.4
Утилитой Основы работы с утилитой Dig: Эффективное управление DNS-запросами проверяем к какому серверу происходит обращение и уменьшается ли время (поле Query time) повторного обращения, то есть кешируется ли наш запрос.
Решение проблемы: Больше трех серверов DNS. и затирания файла /etc/resolv.conf, когда после перезапуска Dnsmasq файл очищается и в него добавляется одна единственная запись: nameserver 127.0.0.1
В Linux имеется ограничение способности самостоятельной обрабатки DNS запросов, при котором можно использовать не более трех серверов DNS в resolv.conf. В качестве обходного пути можно указать только localhost в resolv.conf, а затем создать отдельный resolv-file для используемых внешних серверов DNS. Сначала создайте новый resolv файл для dnsmasq:
nano /etc/resolv.dnsmasq.conf nameserver 10.26.95.254 nameserver 192.168.1.1 nameserver 8.8.8.8
Затем отредактируйте /etc/dnsmasq.conf для использования нового resolv файла:
/etc/dnsmasq.conf ... resolv-file=/etc/resolv.dnsmasq.conf ...
В /etc/default/dnsmasq может понадобиться раскоментировать строку, если появится ошибка no servers found in /var/run/dnsmasq/resolv.conf
IGNORE_RESOLVCONF=no