我们的办公室网络内部采用双栈,但与互联网其余部分的连接仅支持 IPv4。我在 Linux 机器上安装了 BIND 9.9 来处理 DNS 解析。
有没有办法配置 BIND 在连接其他 DNS 服务器时优先使用 IPv4,而无需禁用 IPv6?我希望保持 IPv6 处于启用状态,这样一旦我们与外界建立 IPv6 连接,一切都会正常工作,但同时不会用error (network unreachable) resolving 'microsoft.com/DS/IN': 2001:7fd::1#53
消息堵塞日志。
答案1
我不记得在哪里找到这个解决方案,但它在这里
在 /etc/bind/named.conf.local 中:
// disable lookup over IPv6
server ::/0 {
bogus yes;
};
然后,它假装 IPv6 范围内的 IP 地址不可访问,并改用 IPv4 来访问。
答案2
我建议更改客户端,而不是 DNS 服务器。客户端通常通过请求 A 和/或 AAAA 记录来请求 DNS 条目。如果 DNS 有两个答案,则有一种排序算法优先选择 V6 而不是 V4。每个连接都由客户端有效地建立。
优先选择 IPv4 而不是 V6,因此可以设置
precedence ::ffff:0:0/96 100
在/etc/gai.conf
每个客户端上。这至少在 GNU/Linux 上有效。我不知道如何让 Windows 做到这一点。
高血压