同一台 Linux 机器的两个网络接口(eth0 和 eth1)无法互相 ping 通

同一台 Linux 机器的两个网络接口(eth0 和 eth1)无法互相 ping 通

我有一台 Linux 机器,有两个千兆网络接口。我想iperf在两个接口上运行流量测试:eth0 将是服务器,eth1 将是客户端。我连接了背对背网线(在eth0和eth1之间)并配置了ip地址

ifconfig eth0 192.168.0.10 netmask 255.255.255.0 up

ifconfig eth1 192.168.0.11 netmask 255.255.255.0 up

现在我尝试使用以下命令从 eth0 ping 到 eth1:

ping -I eth0 192.168.0.11

但 ping 不工作,所以我尝试了tcpdump

tcpdump -i eth0

表示 ARP 请求已到达 eth1,但 eth1 没有回复

我也尝试了另一种方法

ping -I eth1 192.168.0.10 

但它也不起作用

arp -a 

命令说不完整,所以我想知道为什么这不起作用,我在 Ubuntu 和 CentOS 中尝试了相同的配置。但没有运气。该/etc/hosts文件未配置 - 是否需要?我已经尝试过使用直电缆和交叉电缆。

答案1

这可以工作,但不是正常配置。如果您希望服务器内的服务通过多个 IP 地址进行通信,请考虑使用多个环回接口,EG lo0 127.0.0.1、lo1 127.0.0.2。这消除了带宽和物理层问题。

也就是说,如果正在发送和接收 ICMP 回显请求,但未得到回复,则表明存在防火墙问题。仔细检查是否没有防火墙规则阻止它,可能通过暂时刷新 iptables 来进行。

相关内容