最近在排查k8s问题的时候发现arp表中的mac地址和实际的mac地址不一致。但还能通信,这就很疑惑了。(以前也没注意过这个mac地址)
几台服务器都在在同一个可用区、同一个网络同一个安全组下。
# 服务器1
内网IP:172.19.34.91
[root@iZuf60rpsu8z9v5nzviztlZ ~]# ping 172.19.34.89 # ping 服务器2 PING 172.19.34.89 (172.19.34.89) 56(84) bytes of data. 64 bytes from 172.19.34.89: icmp_seq=1 ttl=64 time=0.208 ms
# 查看服务器1的arp
[root@iZuf60rpsu8z9v5nzviztlZ ~]# arp -e Address HWtype HWaddress Flags Mask Iface 172.17.0.9 ether 02:42:ac:11:00:09 C docker0 172.19.34.89 ether ee:ff:ff:ff:ff:ff C eth0
通过arp -e查看arp表,172.19.34.89 ip的mac地址为 ee:ff:ff:ff:ff:ff
# 服务器2
[root@iZuf60rpsu8z9v5nzviztmZ ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.19.34.89 netmask 255.255.240.0 broadcast 172.19.47.255 ether 00:16:3e:0e:36:60 txqueuelen 1000 (Ethernet) RX packets 1248357423 bytes 321629365565 (299.5 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 794943098 bytes 186700299960 (173.8 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
服务器2通过ifconfig查看到的mac地址为 00:16:3e:0e:36:60
为何服务器1上arp表中服务器2的mac地址和实际的eth0网卡的mac地址不一致?
发工单后回答说:
ecs底层是虚拟化的网络,不是传统的物理网络。表项的学习是通过arp代理实现,为了避免大量ARP学习影响组件性能,所以看到的都是同一个MAC ee:ff:ff:ff:ff:ff ,是正常的现象。
同样一个问题,腾讯云回答并没有很直观的得到答案(也不知道是不是我表述有问题)。
再后来腾讯云客服回了个电话也只是说虚拟化架构的问题,并不影响使用。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4762.html