BIND
我已经在 centOS 8 服务器上安装了服务并recursion yes;
进行了配置。我注意到我的服务器每小时都会发送非常大的流量(约 8 GB),我无法检测出这些流量的来源。然后我更改了命名配置并禁用了递归:recursion no;
禁用递归并测量流量后,我可以看到发送流量急剧下降至 200 MB 以下。现在我的问题是这种递归如何导致如此大的发送流量?!
答案1
递归意味着名称服务器会尽力回答每个查询,即使对于它不负责的区域也是如此。
启用递归并让他不受任何限制地回答每个客户端的任何查询是一个坏主意,因为会有很多白痴,他们要么喜欢使用其他开放名称服务器,甚至试图用答案淹没第三方。
递归只应为该名称服务器必须作为解析器确认的客户端启用。因此,如果您有
recursion yes;
你还应该有如下限制:
allow-recursion { 127.0.0.1; x.x.x.x; };
并列出所有有效的客户端IP。
如果此名称服务器不是域名的主要 NS,您也可以打开它以仅回答允许的客户端的查询
allow-query { 127.0.0.1; x.x.x.x; };
allow-query-cache { 127.0.0.1; x.x.x.x };
此外,如果该名称服务器仅负责少数客户端,您应该考虑使用防火墙关闭其他每个 IP 的 UDP 53 和 TCP 53。