Продолжая цикл статей про настройку программного маршрутизатора, нельзя не упомянуть о пакете bind - реализации DNS-сервера, разработчики которого оказались те же ребята из ISC, что и придумали kea-dhcp
Эх…! Во времена моей эникейской эпохи, помнится на собеседованиях зачастую задавали вопрос: - «Что такое DNS и какую роль он играет в сетевой инфраструктуре компании?»
Прослезился 😪
В общем хватит лирики, погнали…
Устанавливаем
apt install bind9
Сперва определим локальные сети, которые bind будет обслуживать. Предлагаю немного отступить от стандарта, вынести их в отдельный файл и подключить его к основному
Создаём файл по пути /etc/bind/named.conf.acl (имя файла может быть произвольным)
# Локальная сеть
acl "local_net" {
192.168.1.0/24;
};
Если сетей несколько, то добавляем каждую на новой строке и в конце ставим точку с запятой
Далее подключаем наш файл в конфиг band’a добавив строчку include "/etc/bind/named.conf.acl"; в файл /etc/bind/named.conf
Выглядеть он должен примерно так
include "/etc/bind/named.conf.acl"; include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";
Переходим к главному конфигу named.conf.options и приводим его к следующему виду
options {
directory "/var/cache/bind";
listen-on port 53 { 127.0.0.1; 192.168.1.1; };
listen-on-v6 { none; };
allow-query { 127.0.0.1; local_net; };
allow-recursion { 127.0.0.1; local_net; };
allow-transfer { none; };
forwarders {
77.88.8.8;
77.88.8.1;
};
dnssec-validation auto;
auth-nxdomain no;
};
Пробежимся по параметрам
directory - рабочая директория
listen-on - IP-адреса и порты, на которых сервер будет принимать запросы
listen-on-v6 - аналогично. В нашем случае мы это отключили
allow-query - список хостов, которым разрешено отправлять запросы к этому серверу. Мы разрешаем локалхосту и сетям, которые мы определили в файле named.conf.acl
allow-recursion - определяет, кому разрешены рекурсивные запросы
allow-transfer - указывает, каким серверам разрешена зонная передача. В нашем случае никому
forwarders - список IP-адресов серверов, на которые будут пересылаться запросы
dnssec-validation - включает защиту от DNS-спуфинга
auth-nxdomain - управляет поведением DNS-сервера при возврате отрицательного ответа NXDOMAIN
В принципе всё. Базовый функционал готов.