If I remove recursion then I can't resolve external domains but can still resolve domains that are on the DNS server.
What is the proper way to setup recursion correctly so external domains can still be resolved without leaving the DNS server open?
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 {
};
};
I have also added in internal subnets to allow-recursion { subnet/xx; }; but still unable to resolve external domains.