我正在尝试让两个 BIND 服务器保持其区域同步。通常这很容易。棘手的是,虽然两个服务器都有外部 IP,但它们也位于具有内部 IP 的同一本地子网中(我知道名称服务器应该在地理上分开……只是逗我玩玩)。它们都位于同一个 NAT 路由器后面,分别转发所有流量。但是,当一个服务器向另一个外部地址发送数据包时,它们实际上会出现在内部接口上。在这种情况下,Bind 拒绝确认响应并再次尝试传输。
从主服务器到从属服务器的通知工作正常,只有当从属服务器从(例如)123.123.123.123 请求区域传输并收到来自 192.168.0.1 的响应时才会出现问题。
有没有什么办法可以允许这种行为?
答案1
如果两者都位于 NAT 路由器后面,并且具有私有 IP 地址,则您应该在网络内使用这些私有 IP,而不是公共地址。配置 BIND 以使用辅助服务器上主部分的私有 IP,并向主服务器添加一个选项,并确保辅助服务器的私有 IP也在主服务器的选项also-notify
中列出。allow-transfer