Если я удалю рекурсию, я не смогу разрешить внешние домены, но все равно могу разрешить домены, которые находятся на DNS-сервере.
Как правильно настроить рекурсию, чтобы внешние домены можно было разрешить, не закрывая DNS-сервер?
named.conf.options
options {
version "One does not simply get my version";
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation yes;
auth-nxdomain no;
listen-on-v6 { any; };
allow-recursion { any; };
allow-query {
any;
};
allow-query-cache { any; };
notify yes;
dnssec-enable yes;
dnssec-lookaside . trust-anchor dlv.isc.org.;
also-notify {
};
};
Я также добавил внутренние подсети, чтобы разрешить рекурсию {subnet / xx; }; но по-прежнему не удается разрешить внешние домены.
Отфильтруйте, кто может запрашивать DNS рекурсивно, а кто нет с ACL.
acl my_net {
192.168.1.0/24;
};
acl my_other_net {
10.0.0.0/8;
};
options {
[ ... ]
recursion yes;
allow-recursion { my_net; };
blackhole { my_other_net; };
};
Также настройте вход (BCP 84) / исходящая фильтрация на вашем шлюзе, чтобы избежать попадания поддельных UDP-пакетов в вашу сеть и генерации неожиданного трафика или отравления. Blackhole ненадежные части вашей локальной инфраструктуры.