Настройка кэширующего DNS-сервера BIND в связке с openresolv

Обнаружил, что заметка Настройка кэширующего DNS-сервера BIND в связке с resolvconf в новых релизах Debian больше не работает. Вспомнил об аналоге resolvconf под названием openresolv, который я когда-то нашёл, но воспользоваться которым пока не доводилось. Решил попробовать и openresolv заработал как надо. Спешу поделиться рецептом.

Первым делом установим openresolv:

# apt-get install openresolv

Приведём его файл конфигурации /etc/resolvconf.conf к следующему виду:

resolv_conf=/etc/resolv.conf
name_servers=127.0.0.1
named_options=/var/run/named/named.options

Обновим файлы с DNS-серверами при помощи следующей команды:

# resolvconf -u

В файле /var/run/named/named.options можно увидеть фрагмент конфигруации BIND, которую можно подключить к основной конфигурации. В моём случае он выглядит следующим образом:

# Generated by resolvconf
forward first;
forwarders {
 109.195.144.4;
 5.3.3.3;
 81.30.199.5;
 81.30.199.94;
};

Чтобы включить этот фрагмент в конфигурацию BIND, впишем в файл /etc/bind9/named.conf.options одну строчку:

include "/var/run/named/named.options";

Ещё раз обновим файлы с DNS-серверами при помощи команды:

# resolvconf -u

В процессе обновления BIND будет автоматически перезапущен, так что в его файл конфигурации будет вписан актуальный список вышестоящих рекурсивных DNS-серверов.

Список интерфейсов, с которых взяты DNS-серверы, можно узнать при помощи следующей команды:

# resolvconf -i

В моём случае она вывела такой список:

ppp0 vlan3

Список DNS-серверов, полученных через эти интерфейсы, можно узнать при помощи такой команды:

# resolvconf -l

В моём случае вывод был таким:

# resolv.conf from ppp0
# Generated by ppp.ip-up for ppp0
nameserver 109.195.144.4
nameserver 5.3.3.3

# resolv.conf from vlan3
# resolv.conf for vlan3
domain ipoe3.ufanet.ru
nameserver 81.30.199.5
nameserver 81.30.199.94

Написать автору