Bind9:主->从通知 IPv6 并回退到 IPv4

Bind9:主->从通知 IPv6 并回退到 IPv4

我在两台运行 Debian 8 + Bind9 的双 IP 堆栈机器之间设置了一个小型的主->从 DNS 方案。

主设备和从设备都拥有绑定使用的 IPv4 和 IPv6,由配置参数强制执行listen-on listen-on-v6 transfer-source transfer-source-v6 notify-source notify-source-v6 query-source address query-source-v6 address

目前我的主服务器设置为通知从服务器:

notify yes;
also-notify { xxxx:xxxx:xxxx:xxxx::xxx5; x.x.x.5; };

由于我的从属设备具有如下区域配置:

zone "example.dev" {
    type slave;
    masters { xxxx:xxxx:xxxx:xxxx::xxx2; x.x.x.2; };
    file "...";
};

这个设置工作正常,然而通过检查日志文件(正如我所料)主服务器在每次区域更改时都会通知从服务器两次:

May 20 20:57:53 salvedns named[8568]: zone example.dev/IN: notify from x.x.x.2#52041: zone is up to date
May 20 20:57:53 salvedns named[8568]: zone example.dev/IN: notify from xxxx:xxxx:xxxx:xxxx::xxx2#51347: zone is up to date

一次通过 IPv4,另一次通过 IPv6。

有没有办法告诉绑定服务器这xxxx:xxxx:xxxx:xxxx::xxx5 x.x.x.5确实是同一个 DNS 服务器的地址,并尝试首先通过 IPv6 通知它,如果失败,则通过 IPv4 重试?此外,如何在 salvemasters声明上执行相同的操作?

谢谢。

答案1

我不相信有任何配置选项可以满足您的要求。但是,我也不认为双重通知真的值得担心。

虽然在这种配置下它是多余的,但它导致的开销很小,通常不会出现任何问题。

一般来说,收到多个通知消息并不奇怪,最初主要来自主服务器+其他从服务器,但现在也来自双栈主机,甚至最初的规范预期这一点

4.2. 每个从属设备可能会收到相同 NOTIFY 请求的多个副本:一个来自主主设备,另一个来自每个其他从属设备,因为该从属设备传输新区域并通知其潜在对等设备。NOTIFY 协议支持这种多重性,要求从属设备/主设备仅在更新 SOA RR 或确定不需要更新之后发送 NOTIFY,这实际上意味着在成功进行区域传输之后。因此,除非重新排序交付,否则任何从属设备收到的最后一个 NOTIFY 将指示最新更改。由于从属设备始终只从其已知主设备请求 SOA 和 AXFR/IXFR,因此它将有机会在每个主设备完成每个区域更新后重试其对 SOA 的查询。

相关内容