我有一台 KVM 主机,其在 eth0 上配置了网桥,并且具有公共 IP:
auto br0
iface br0 inet static
address xx.xx.aa.111
netmask 255.255.255.0
network xx.xx.aa.0
broadcast xx.xx.aa.255
gateway xx.xx.aa.1
bridge_ports eth0
bridge_stp on
bridge_maxwait 0
bridge_fd 0
该主机上有一位访客,他有自己的公共 IP 地址:
auto eth0
iface eth0 inet static
address xx.xx.bb.246
netmask 255.255.255.0
network xx.xx.bb.0
broadcast xx.xx.bb.255
gateway xx.xx.bb.1
但是,当通过 ssh 从客户机连接xx.xx.bb.246
到另一台主机时,auth.log
会显示xx.xx.aa.111
而不是xx.xx.bb.246
。根据 ,这给 BIND9 的区域传输和通知带来了麻烦,因为其他服务器仅允许来自xx.xx.bb.246
(客户机)的连接,而不允许来自xx.xx.aa.111
(主机)的连接syslog
。
ip route show
主办方:
xx.xx.aa.0/24 dev br0 proto kernel scope link src xx.xx.aa.111
default via xx.xx.aa.1 dev br0
对于客人来说:
xx.xx.bb.0/24 dev eth0 proto kernel scope link src xx.xx.bb.246
default via xx.xx.bb.1 dev eth0
有人知道如何解决这个问题吗?
答案1
啊,这个愚蠢的小东西让我忙了好几个小时。客户机上有两个接口,一个是内部接口,一个是外部接口。traceroute
显示传出连接是通过内部网络建立的。