我看到如
Feb 13 21:45:48 srv named[2355]: address not available resolving 'secure.gravatar.com/A/IN': 2a04:fa87:ffff::c6b5:7405#53 Feb 13 21:42:29 srv named[2355]: address not available resolving 'la1.akamaiedge.net/AAAA/IN': 2001:500:a8::e#53
在/var/log/syslog尽pipe只在IPv4模式下运行bind
srv # cat /etc/default/bind9 # run resolvconf? RESOLVCONF=no # startup options for the server OPTIONS="-u bind -4"
为什么这样?
-4选项只是改变告诉绑定来监听和响应IPv4数据包。 它AAAA用AAAAlogging。
那么有没有办法在绑定中丢弃IPv6地址?
如果这是你真正想要的,那么你可以调整你的绑定configuration,包括以下内容。 您必须禁用dnssecvalidation,因为您正在删除有效的logging。
options { ... dnssec-enable no; filter-aaaa-on-v4 yes; ... };
如果系统正在使用systemd,那么编辑/etc/default/bind9将不起作用。
编辑/lib/systemd/system/bind9.service文件,并将-4选项添加到ExecStartvariables。 我使用的是Ubuntu 16,必须这样做。
ExecStart=/usr/sbin/named -f -4 -u bind
再次检查重新启动named后运行-4选项。
实际上有一个关于这个configuration混淆的错误https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1565060
停止消息的解决scheme是将转发器添加到configuration中(recursion是否启用无关紧要):
options { (...) forwarders { 8.8.8.8; 8.8.4.4; }; };