История изменений
Исправление Shprot, (текущая версия) :
Во-первых, если подсетей больше 3-х, для удобства я бы рекомендовал вынести их в отдельный файл, например /etc/bind/named.conf.acl
и подключить его в /etc/bind/named.conf
На примере как у меня
cat /etc/bind/named.conf.acl
acl local_net {
172.16.3.0/27;
172.16.3.32/27;
172.16.3.64/27;
172.16.3.96/27;
172.16.222.248/29;
};
Подключенный файл с подсетками
cat /etc/bind/named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.acl";
include "/etc/bind/named.conf.default-zones";
include "/var/lib/samba/bind-dns/named.conf";
Ну и тулишь теперь local_net
в опшены
cat /etc/bind/named.conf.options
options {
auth-nxdomain yes;
directory "/var/cache/bind"; #Папка с кешем bind
notify no;
empty-zones-enable no;
tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
minimal-responses yes;
listen-on port 53 {
172.16.222.254;
};
# IP адреса и подсети от которых будут обрабатываться запросы
allow-query {
127.0.0.1;
local_net;
};
# IP адреса и подсети от которых будут обрабатываться рекурсивные запросы
# (Зон не обслуживаемых этим DNS сервером)
allow-recursion {
127.0.0.1;
local_net;
};
# Перенаправлять запросы, на которые нет информации в локальной зоне
# на следующие сервера:
forwarders {
172.16.3.1; #IP адрес DNS форвардера
};
У меня форвард в опшенах один, так как он на пограничном маршрутизаторе и на нём уже форвардов больше, а так я бы рекомендовал не только яндекс в твой форвард прописать, но и ещё пару публичных DNS добавить.
Во-вторых почему у тебя в /var/lib/samba/bind-dns/named.conf
все версии бинда включены?
named -v
какая у тебя версия…? 9.18 вижу. Вот только её и оставь.
Мой пример (закомментировано всё, кроме 9.18)
named -v
BIND 9.18.28-1~deb12u2-Debian (Extended Support Version) <id:>
cat /var/lib/samba/bind-dns/named.conf
dlz "AD DNS Zone" {
# For BIND 9.8.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";
# For BIND 9.9.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
# For BIND 9.10.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
# For BIND 9.11.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so";
# For BIND 9.12.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_12.so";
# For BIND 9.14.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_14.so";
# For BIND 9.16.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_16.so";
#
# For BIND 9.18.x
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_18.so";
};
Ну и вишенка на торте. Я с подобной проблемой как-то тоже бился пару дней, пока не стал читать про каждый параметр в опшенах. В общем измени в /etc/bind/named.conf.options
параметр dnssec-validation
с no
на yes
и это должно осчастливить тебя и твой контроллер…=)
Не помню как точно, но вроде как резолверу надо указать проверять корректность ответов из подписанных зон. В общем я давно на решение наткнулся, применил и забыл.
Исходная версия Shprot, :
Во-первых, если подсетей больше 3-х, для удобства я бы рекомендовал вынести их в отдельный файл, например /etc/bind/named.conf.acl
и подключить его в /etc/bind/named.conf
На примере как у меня
cat /etc/bind/named.conf.acl
acl local_net {
172.16.3.0/27;
172.16.3.32/27;
172.16.3.64/27;
172.16.3.96/27;
172.16.222.248/29;
};
Подключенный файл с подсетками
cat /etc/bind/named.conf.
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.acl";
include "/etc/bind/named.conf.default-zones";
include "/var/lib/samba/bind-dns/named.conf";
Ну и тулишь теперь local_net
в опшены
cat /etc/bind/named.conf.options
options {
auth-nxdomain yes;
directory "/var/cache/bind"; #Папка с кешем bind
notify no;
empty-zones-enable no;
tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
minimal-responses yes;
listen-on port 53 {
172.16.222.254;
};
# IP адреса и подсети от которых будут обрабатываться запросы
allow-query {
127.0.0.1;
local_net;
};
# IP адреса и подсети от которых будут обрабатываться рекурсивные запросы
# (Зон не обслуживаемых этим DNS сервером)
allow-recursion {
127.0.0.1;
local_net;
};
# Перенаправлять запросы, на которые нет информации в локальной зоне
# на следующие сервера:
forwarders {
172.16.3.1; #IP адрес DNS форвардера
};
У меня форвард в опшенах один, так как он на пограничном маршрутизаторе и на нём уже форвардов больше, а так я бы рекомендовал не только яндекс в твой форвард прописать, но и ещё пару публичных DNS добавить.
Во-вторых почему у тебя в /var/lib/samba/bind-dns/named.conf
все версии бинда включены?
named -v
какая у тебя версия…? 9.18 вижу. Вот только её и оставь.
Мой пример (закомментировано всё, кроме 9.18)
named -v
BIND 9.18.28-1~deb12u2-Debian (Extended Support Version) <id:>
cat /var/lib/samba/bind-dns/named.conf
dlz "AD DNS Zone" {
# For BIND 9.8.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";
# For BIND 9.9.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
# For BIND 9.10.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
# For BIND 9.11.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so";
# For BIND 9.12.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_12.so";
# For BIND 9.14.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_14.so";
# For BIND 9.16.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_16.so";
#
# For BIND 9.18.x
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_18.so";
};
Ну и вишенка на торте. Я с подобной проблемой как-то тоже бился пару дней, пока не стал читать про каждый параметр в опшенах. В общем измени в /etc/bind/named.conf.options
параметр dnssec-validation
с no
на yes
и это должно осчастливить тебя и твой контроллер…=)
Не помню как точно, но вроде как резолверу надо указать проверять корректность ответов из подписанных зон. В общем я давно на решение наткнулся, применил и забыл.