在我的 Linux 机器上,我有:
- 一个物理接口 eth0,带有公共 IP xxxx
- 一个逻辑接口 eth0:0,带有公共 IP tttt
- BIND DNS 监听 tttt
如果我从其他任何地方 ping tttt,它都会做出响应,所以这很好。
我试图设置 BIND 以使用 tttt ip 进行区域交换,唯一不好的是,从主服务器返回的流量会返回到 xxxx 我尝试了
一些 SNAT,但没有完全达到目的,流量确实符合我的规则,但主 BIND 仍会回复 xxxx
有任何想法吗?
答案1
BIND 有一个transfer-source
选项,用于控制使用哪个本地地址来获取区域。将其添加到以下options
部分named.conf
:
options {
// ...
transfer-source t.t.t.t;
};
设置此选项后,BIND 将从 发出传输请求消息t.t.t.t
。然后,主服务器的响应将发送回t.t.t.t
。您还需要配置主服务器以接受来自 的区域传输t.t.t.t
(如果您尚未这样做)。
您可能还想设置query-source
和notify-source
选项来分别控制使用哪个本地地址进行查询和发送通知消息:
query-source address t.t.t.t;
notify-source t.t.t.t;
有关这些选项的更多文档,请参阅 BIND 管理员参考手册,可从BIND 文档页。