目前我正在试验BIND9(版本9.16.17(的重新启动性能。named.conf中有26000个活动区域,重新启动大约需要10秒。但当我开始使用DNSSEC时,目前有500个已签名区域(25500个未签名区域(,重新启动时间长达40秒!当我想到10000多个签约区域时,重启需要12分钟。
对于dnssec签名,我使用";dnssec政策";,主要是在默认配置中。
有办法提高性能吗?
没有。这是经过设计的。照原样,让主(以前称为主(权威名称服务器对公钥进行数字运算,同时回答数百万的网络查询是不可能的。
另一种方法
但是,通常设置隐藏主机名称服务器来处理DNSSEC通过用新公钥对每个记录进行签名来准备区域数据库的这种长时间和CPU密集型开销。
隐藏的主机只是在原始主(主(权威名称服务器(仍然是主机,但在公共视图中(之前添加的另一个主(主机(名称服务器链。
简言之,整个网络设计在主网络之前勾勒出一个隐藏的主网络,然后为所有辅助网络(从网络(提供服务。
从新小学到小学
然后,隐藏的主机将以增量方式用预签名的RRSIG DNS记录填充通常的主要权威名称服务器,这样,随着每条记录都经过DNSSEC签名并准备就绪,区域的AXFR
/IXFR
记录数据将增量传输。
这确保了在DNSSEC辞职过程中,远程但主要的权威名称服务器不会承受密集的CPU消耗。
主权威名称服务器仍将以通常的快速方式愉快地对所有查询执行答案查找。
此外,当您的隐藏主机隐藏在其公司DMZ防火墙后面时,主名称服务器的折衷仍然不会影响您的原始主区域数据库文件。
设置,简述
使用ISC Bind9,区域数据库被重新定位到隐藏的主机并驻留在其中(只是不再驻留在主要权威名称服务器上(。
主权威名称服务器现在也是其隐藏主服务器的隐藏辅助服务器,同时保持着仍然是主服务器的公共外观(。
此外,每个区域的SOA MNAME
仍然指向原始的主权威名称服务器保持不变。仅此一点就打破了许多DNS管理员的顽固观念,即区域数据库文件必须位于其SOA
名称服务器上,而现在已经不是这样了。
除了区域的type primary
的标准设置外,这个隐藏的主控器还有额外的ISC Bind9选项,如notify-to-soa yes
,以区别于另一个下游主控器;还需要allow-transfer
、notify explicit
和also-notify
。
主权威名称服务器仍然是一个轻量级的高性能权威服务器,但经过调整,allow-update
和allow-notify
包含了这个新的隐藏主机的IP地址。
如果隐藏主机位于NAT后面,则主要权威机构必须参考其隐藏主机的面向公众的NAT地址,而不是NAT掩码级别内的公司内部IP地址。此外,防火墙还为AXFR
/IXFR
开放了一个不同于53的TCP和UDP端口号。当然,这种传输应该需要TSIG
密钥。
参考文献
- https://serverfault.com/questions/381920/bind-master-slaves-and-notify
- http://www.ipamworldwide.com/ipam/bind-9-8-2.html
- https://egbert.net/blog/articles/dns-bind9-hidden-primary-port53-not.html