如何修复 BIND 9.16.xx 中的源端口?

如何修复 BIND 9.16.xx 中的源端口?

我的团队中较旧的缓存 DNS 服务器配置了 BIND 9.11.4;它使用 53 作为源端口号。

options {
...
        query-source port 53;
...
}

同时,新版本安装了 BIND 9.16.23;由于指定端口号query-source已被弃用,我只需按如下所示设置此选项。

query-source address *;

文件的其余部分/etc/named.conf已准备就绪。当我调用时nslookup {a domain which is not defined in /etc/named.conf} {the private ip of the cache dns server},新文件在 TCPDUMP 中显示以下内容:

18:33:50.968991 IP {the public ip}.50181 > 192.5.5.241.53: 29151% [1au] A? _.com. (46)
18:33:50.969044 IP {the public ip}.14081 > 192.5.5.241.53: 31087 [1au] NS? . (40)
18:33:51.768842 IP {the public ip}.32109 > 192.33.4.12.53: 4413% [1au] A? _.com. (46)
18:33:51.768918 IP {the public ip}.21620 > 192.33.4.12.53: 2272 [1au] NS? . (40)
18:33:52.568677 IP {the public ip}.59713 > 199.7.83.42.53: 29280% [1au] A? _.com. (46)
18:33:52.568677 IP {the public ip}.49493 > 199.7.83.42.53: 14473 [1au] NS? . (40)

有什么方法可以修复传出源端口号吗?还是我只能寻找其他方法?

答案1

一般认为,使用单一固定源端口号对于 DNS 来说是不可接受的。DNS 实现的期望实际上是尽可能地从尽可能广泛的范围内随机化源端口,以减轻缓存中毒风险。

如果您环境中的某些东西依赖于使用单个源端口,那么这就是您真正应该着手修复的地方。您之前的配置很奇怪,而新配置的行为符合预期和期望。

相关内容