Linux 将 MAC 地址与 Cisco 交换机的 IP 地址混淆了吗?

Linux 将 MAC 地址与 Cisco 交换机的 IP 地址混淆了吗?

我有多个 CentOS 机箱(均为 Centos 7),带有两个不同的服务器。这些服务器每个都有 4 个 10GB 接口。它们连接到两个 Cisco Nexus 交换机。每个 NIC 都有不同的 IP 地址,都在同一个域中。在我的示例中,我的服务器在以下 NIC 上有以下 IP 地址:

2: ens5f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 68:05:ca:2d:12:84 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.203/24 brd 172.20.1.255 scope global ens5f0
       valid_lft forever preferred_lft forever
3: ens5f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 68:05:ca:2d:12:85 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.204/24 brd 172.20.1.255 scope global ens5f1
       valid_lft forever preferred_lft forever
4: ens4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 68:05:ca:2d:06:10 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.200/24 brd 172.20.1.255 scope global ens4f0
       valid_lft forever preferred_lft forever
    inet 172.20.1.201/24 brd 172.20.1.255 scope global secondary ens4f0:1
       valid_lft forever preferred_lft forever
5: ens4f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 68:05:ca:2d:06:11 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.202/24 brd 172.20.1.255 scope global ens4f1
       valid_lft forever preferred_lft forever

在我看来这很正常。我有一个带有辅助 IP 的接口,但无论如何。

当我检查交换机或与我的服务器位于同一 VLAN 上的任何其他服务器时,对每个 IP 进行 ping 操作都可以,但是所有流量都会穿过一个接口,并且 MAC 地址都属于承载流量的一个接口:

172.20.1.200    00:01:56  6805.ca2d.0610  Vlan720         
172.20.1.201    00:15:00  6805.ca2d.0610  Vlan720         
172.20.1.202    00:14:56  6805.ca2d.0610  Vlan720         
172.20.1.203    00:14:53  6805.ca2d.0610  Vlan720         
172.20.1.204    00:14:48  6805.ca2d.0610  Vlan720      

当我尝试在服务器上 ping 出其他接口之一时,没有收到回复。

# ping -I ens5f1 172.20.1.1
PING 172.20.1.1 (172.20.1.1) from 172.20.1.204 ens5f1: 56(84) bytes of data.
^C
--- 172.20.1.1 ping statistics ---
51 packets transmitted, 0 received, 100% packet loss, time 51204ms

显而易见的是,其他接口均不会传输任何流量:

┌nmon─16g─────────────────────Hostname=zfs1─────────Refresh= 2secs ───19:38.03───────────────┐
│ Network I/O ───────────────────────────────────────────────────────────────────────────────│
│I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans                │
│  ens5f1      0.0       0.0       0.5    0.0    60.0    0.0        0.0      0.0             │
│      lo      0.0       0.0       0.0    0.0     0.0    0.0        0.0      0.0             │
│  ens4f0    405.4      45.8     337.9  128.5  1228.6  365.0      511.4    144.9             │
│  ens5f0      0.0       0.0       0.5    0.0    60.0    0.0        0.0      0.0             │
│  ens4f1      0.2       0.0       3.0    0.0    61.3    0.0        0.3      0.0             │
│────────────────────────────────────────────────────────────────────────────────────────────│

这是在向其他 IP 之一发送数据时发生的。

我没有 LACP 或任何其他配置,因此无法得到预期结果。我不知道为什么 MAC 地址无法正确发布。任何想法都值得感激。多台具有不同硬件的服务器都遇到此问题。它们还将连接到两个不同的 Cisco Nexus 交换机,它们之间有中继端口。

谢谢!

相关内容