Linux

DNS 問題 > 如果我禁用遞歸,我無法 ping 我的結果

  • March 1, 2018

我已經配置了 dns 伺服器,如果我啟用遞歸,我可以 ping 並得到結果。

[root@seobd ec2-user]# nslookup google.com
Server:         52.10.197.195
Address:        52.10.197.195#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.193.78

但是如果我禁用遞歸,我就無法 ping 我的結果。配置:

options {
       listen-on port 53 { 127.0.0.1; 52.10.197.195; 0.0.0.0/0;};
       listen-on-v6 port 53 { ::1; };
       directory       "/var/named";
       dump-file       "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
       memstatistics-file "/var/named/data/named_mem_stats.txt";
       allow-query     { localhost; 0.0.0.0/0; };
       notify yes;
       recursion no;
       dnssec-enable no;
       dnssec-validation yes;
};

zone "iftibd.com" IN {
       type master;
       file "seobd.fz";
       allow-update {none;};
};

zone "197.10.52.in-addr.arpa" IN {
       type master;
       file "seobd.rz";
       allow-update {none;};
};

[root@seobd ec2-user]# ping google.com
ping: unknown host google.com

這是預期的行為;如果您不允許遞歸,BIND 將不會遍歷可能性/伺服器以最終獲得您的答案,因此將無法回答。

重要的部分是創建 ACL 來限制可以執行遞歸請求的網路,並避免擁有可以並且將被遠端濫用的開放 DNS 伺服器。

我還建議添加到選項部分的頂部:

allow-recursion { 127.0.0.0/8; x.x.x.x/24; y.y.y.y/24; };

其中 xxxx 和 yyyy 是您的網路塊。

看看:bind中遞歸和轉發有什麼區別

對於安全隱患,請查看 Open Resolver Project

開放解析器通過回答域外主機的遞歸查詢,對全球網路基礎設施構成重大威脅。它們用於 DNS 放大攻擊,並構成與 1990 年代後期常見的 Smurf 攻擊類似的威脅。

引用自:https://unix.stackexchange.com/questions/279160