我们有一台服务器通过两个 NIC 连接到两个独立的网络。
网络 A 和网络 B
服务器有两个 IP,但这两个 IP 位于完全不同的网络中。到目前为止,一切正常,可以从两个网络访问服务器,没有任何问题。
现在 - 在网络 A 中,我们还为服务器提供了一个公共 IP(由防火墙处理 - 服务器上没有公共 IP 配置),以便可以从外部看到服务器。这在网络 B 中不会发生。这在最初也是可行的 - 因此可以从外部和两个内部网络看到我们的服务器 - 一切正常...
在内部,我们的 DNS 服务器确保我们在内部浏览 - 但我们也可以通过互联网从所有网络访问网络。
过了一会儿,公网 IP 就停止工作了 - ping 不通。然后 - 如果我关闭网络 B 的 NIC 然后再打开,它就可以正常工作了。
可能是什么问题呢?
接口配置:
## This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address xxx.xxx.7.41
netmask 255.255.255.0
broadcast xxx.xxx.7.255
gateway xxx.xxx.7.254
dns-nameservers xxx.xxx.7.17 213.55.96.148 4.2.2.2 8.8.4.4
# The secondary network interface
allow-hotplug eth1
iface eth1 inet static
address xxx.xxx.20.9
netmask 255.255.255.0
broadcast xxx.xxx.20.255
gateway xxx.xxx.20.1
dns-nameservers xxx.xxx.10.12 4.2.2.2 8.8.4.4`
答案1
确保路由表中的 0.0.0.0 条目静态设置为使用公共接口。除此之外,确保所有本地子网都设置为使用接口 B