我遇到了以下问题。有一台服务器(Ubuntu 12.04)有两个网卡,其 IP 为 192.168.40.147(eth0),位于 192.168.40.128/27 子网中,IP 为 192.168.40.165(eth1),位于 192.168.40.160/27 子网中。现在我们在服务器上有以下路由表:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.40.160 * 255.255.255.224 U 0 0 0 eth1
192.168.40.128 * 255.255.255.224 U 0 0 0 eth0
default 192.168.40.161 0.0.0.0 UG 99 0 0 eth1
default 192.168.40.129 0.0.0.0 UG 100 0 0 eth0
我尝试从 192.168.32.1/23 子网中的 192.168.32.69 ping 两个服务器 IP,但只能对 192.168.40.165 执行此操作。另一个报告“请求超时”。如果我尝试 traceroute,我可以看到总是有一个到网关 (192.168.42.65) 的成功跳跃,另一个要么成功 (对于 192.168.40.165),要么失败 (对于 192.168.40.147)。
据我所知,所有 ICMP 数据包都成功到达服务器,但当尝试返回时,只要返回地址来自 192.168.40.128/27 或 192.168.40.160/27 以外的子网,则生成的路由将是默认路由之一。并且恰好是具有较低度量的路由:default 192.168.40.161 0.0.0.0 UG 99 0 0 eth1
。如果我交换度量,那么只有 192.168.40.147 地址可以从 192.168.32.69 主机访问。
我的问题是,我是否可以以任何方式配置服务器,以允许两个 IP 都可以从我的客户端主机访问?