Linux添加vlan不通,如何处理Linux虚拟机跨VLAN ping不通问题

问题描述

Linux虚拟机,在指定网卡上创建VLAN设备配置IP地址场景下,如下图1所示,当网卡MAC地址改变且创建VLAN设备仍然使用同一个IP地址,此时可能会出现从其他VLAN的虚拟机内部无法ping通该IP的情况。图1虚拟机跨VLAN通信

showimage-1424042173-51611-00bed0aeb0f4fe132b3eee539114530c.jpg

如图1当虚拟机VM2网卡的MAC修改后,重新创建VLAN200的设备配置原IP,从VM1和VM3 ping

VM2的IPv4或IPv6的地址,可能存在ping不通的情况。

目前发现存在问题的操作系统列表如下,需要采用相关措施进行规避。

表1 操作系统列表

虚拟机操作系统

虚拟机位数

备注

Novell SUSE Linux Enterprise Server 11 SP2

32/64

IPv4和IPv6地址都存在此问题。

Novell SUSE Linux Enterprise Server 11 SP3

32/64

Red Hat Enterprise Linux 6系列

32/64

IPv6地址存在此问题。

CentOS 6 系列

32/64

原因

由于跨三层通信需要网关根据ARP表项(IPv4)或ND表项(IPv6)进行MAC地址替换的过程,在修改虚拟机网卡的MAC地址之后如果虚拟机未主动发送免费ARP报文或NA报文去更新交换机上对应的表项,那么此时跨三层通信就会出现IP地址对应的MAC地址错误,导致通信异常的问题。

解决方法

提供以下三种方法可解决该问题,但方法一操作方便不会引起其他副作用,建议使用。

方法一

在MAC地址改变的虚拟机内部重新创建VLAN设备时,分别ping IPv4或IPv6的网关地址,以便主动更新交换机对应的ARP或ND的表项。

方法二

登录虚拟机所在CNA节点的交换机执行以下命令:

如果是IPv4地址不通,需要清除arp表项,执行如下命令:

reset arp dynamic

如果是IPv6地址不通,需要清除vlan 200域nd表项,执行如下命令:

reset ipv6 neighbors Vlanif 200

说明:以上命令针对使用华为交换机用户,如果使用其他厂商的交换机,请参考厂商的交换机操作指导。

方法三

不做任何操作等待交换机ARP表项或ND表项自动老化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值