Red*_*ket 9 domain-name-system bind named-conf
在我的 DNS 服务器的 named.conf 中,我看到
rate-limit {
responses-per-second 5;
window 5;
};
Run Code Online (Sandbox Code Playgroud)
这实际上意味着什么?它会导致 DNS 客户端问题吗?这配置太紧了吗?
Fal*_*mot 12
您应该阅读BIND 9.9 的管理员参考手册。
基本上,responses-per-second
是每秒可以发送到一个单一目的地的相同回复的数量。定义很棘手。
单个目的地是一个网络地址块,其大小配置在ipv4-prefix-length
或ipv6-prefix-length
适用。所以,如果ipv4-prefix-length
是24,并且都192.0.2.1
与192.0.2.2
正在查询的DNS服务器,它们将共享此配额,只能送他们两人之间如此多的疑问。
相同的答复是对针对特定存在名称或不存在名称的特定 RRtype 的查询的答复。以下查询都是不同的:
IN A example.net.
IN A www.example.net.
IN AAAA example.net.
IN A nonexistent.domain.example.net.
Run Code Online (Sandbox Code Playgroud)
但是,以下所有查询都是相同的(假设nonexistent.domain.example.net.
等符合它们的名称):
IN A nonexistent.domain.example.net.
IN A nonexistent.domain2.example.net.
IN SOA other.nonexistent.domain.example.net.
Run Code Online (Sandbox Code Playgroud)
window
使事情变得更加复杂。它是可以存储配额的秒数。乘以window
并responses-per-second
给出任何配额可以为正的最大值,或者更基本的术语,突发容量。
举一个包罗万象的例子:
您是example.net.
. 想象一下,过去 10 秒内根本没有看到 DNS 流量,问题中的配置适用于全局。以下事件依次发生:
IN NS example.net.
。25 个将被允许,其余 75 个将被忽略。IN A nonexistent.example.net.
。25 个将被允许,其余 75 个将被忽略。IN MX nonexistent-domain.example.net.
它将被忽略,因为已达到不存在域的限制。IN A example.net.
。这是允许的。IN NS example.net.
。其中 25 个得到回复,其余 25 个被忽略;198.51.100.0/24 的配额不适用于这些主机,但它们共享 192.0.2.0/24 的配额。IN NS example.net.
。其中 5 个得到回复,其余 20 个被忽略,因为配额仅由每秒 5 个查询补充。小智 7
它限制了单个 DNS 客户端在一秒钟内可以获得的相同响应的数量。该window 5
选项允许突发 5*5 响应。
“相同的响应”和“单个 DNS 客户端”在这里有点不明显,请阅读此处了解更多信息:http ://web.archive.org/web/20140209100744/http: //ss.vix.su/~ vjs/rl-arm.html。
一般来说,限制速率是一件好事 - 有一天可能会在 DOS 攻击的情况下为您提供帮助。大多数情况下,默认值应该没问题。