我正在尝试阻止 Web 服务器对 DNS 服务器进行 IPv6 查找 (AAAA)。Web 服务器在接口上没有设置 IPv6 地址。在 sysctl.conf 中禁用 IPv6 也没有影响,Web 服务器继续向 DNS 服务器发送每个主机名的 A 和 AAAA 请求(我执行了 tcpdump)。
有人能帮助我阻止网络服务器发送 IPv6 主机名查找吗?
额外信息:
这是在我的内部网络上。TCPDump:
webserver.internal.43831 > internaldns.internal.domain: [bad udp cksum 629d!] 63585+ A? someserver.internal. (43)`
webserver.internal.43831 > internaldns.internal.domain: [bad udp cksum 32dd!] 40337+ AAAA? someserver.internal. (43)
internaldns
返回 A 记录的 IP 和 AAAA 的 NXDOMAIN,因为没有设置。
答案1
没有理由禁用 IPv6 AAAA 查找(至少您没有告诉我们),所以我的回答是请不要再试图超越您的系统,让它按照预期的方式工作。
现在禁用 IPv6 查找只会让您在未来遇到神秘问题,当您将 IPv6 添加到您的环境中时,某些系统会突然无法正常工作。
虚假 DNS 请求中几个字节的微不足道的成本远远高于您未来环境的可预测性/正确性。
话虽如此,如果你仍然想玩这个脚枪,最简单的解决方案(实际上是仅有的我所知道的一个最有效的方法是编译并安装一个不支持 IPv6 的解析器。
如果您做了这样可怕的事情,请确保在不少于 5 个地方 (您站点的文档存储库、MOTD/问题、SSH 横幅、机器本身的贴纸以及给您老板的备忘录) 记录下来,以便当它将来出现故障时,有人有机会快速修复它,而不必弄清楚机器是否被切除了。