我附上了我的服务器配置的图像。
服务器使用 Ubuntu 14.04.5 LTS
在服务器“A”中,eth2 是我的主要接口,静态 IP 地址为 192.168.0.62。我为 10g 卡创建了另一个接口,并分配了 IP 地址 192.168.0.160。该 10g 卡仅与另一个基于 FPGA 的独立 10g 卡交互,该卡可以使用小型处理器处理数据包并回复。
以下是我的 /etc/network/interfaces 设置文件
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo eth2
iface lo inet loopback
auto eth2
iface eth2 inet static
address 192.168.0.62
netmask 255.255.255.0
gateway 192.168.0.1
dns-search bg1test.intrbg
dns-nameserver 192.168.0.39
auto eth4
iface eth4 inet static
address 192.168.0.160
netmask 255.255.255.0
network 192.168.0.0
使用此设置,我无法 ping 独立的 10g 卡
ping -I eth4 192.168.0.166
PING 192.168.0.166 (192.168.0.166) from 192.168.0.62 eth4: 56(84) bytes of data
虽然我要在 Wireshark 中查看 ICMP 请求和回复。
当我执行route -n 时,我得到了下表
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth2
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth4
192.168.0.160 192.168.0.1 255.255.255.255 UGH 0 0 0 eth4
192.168.0.160 192.168.0.166 255.255.255.255 UGH 0 0 0 eth4
该特定服务器的防火墙已关闭。我检查了此链接中的答案
是什么阻止机器响应 ping?
和这个
如何 ping 和使用特定网卡但没有成功
提前致谢
答案1
同一路由表上不能有 2 个子网重叠的 NIC(本例中为 192.168.0.0/24)。虽然 arping 应该正确响应,因为它是第 2 层协议,但 ping(ICMP 0) 是第 3 层协议,并且它被路由到默认网关。
如果您尝试做的事情完全可行,您可能需要设置第二个路由表。有一个关于执行此操作的很棒的博客条目这里尽管它被编写为在同一个盒子上设置 2 个带有 2 个默认网关的网络。
将独立设备移动到不同的子网会简单得多,假设您没有询问,因为您无权这样做。