bind9 正确的递归设置

Tsu*_*asa 9 domain-name-system linux ubuntu bind

如果删除递归,则无法解析外部域,但仍可以解析 DNS 服务器上的域。

正确设置递归以便在不打开 DNS 服务器的情况下仍然可以解析外部域的正确方法是什么?

命名.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 {
            };
};
Run Code Online (Sandbox Code Playgroud)

我还添加了内部子网以允许递归 {子网/xx; }; 但仍然无法解析外部域。

Xav*_*cas 6

过滤哪些人可以递归查询 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; };

};
Run Code Online (Sandbox Code Playgroud)

此外,在您的网关中设置入口(BCP 84)/出口过滤,以避免欺骗 UDP 数据包到达您的网络并产生意外流量或中毒。将本地基础设施中不受信任的部分黑洞化。