Linux添加vlan不通,如何处理Linux虚拟机跨VLAN ping不通问题
问题描述
Linux虚拟机,在指定网卡上创建VLAN设备配置IP地址场景下,如下图1所示,当网卡MAC地址改变且创建VLAN设备仍然使用同一个IP地址,此时可能会出现从其他VLAN的虚拟机内部无法ping通该IP的情况。图1虚拟机跨VLAN通信
如图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表项自动老化。
Linux添加vlan不通,如何处理Linux虚拟机跨VLAN ping不通问题相关推荐
- VMware 上Ubuntu虚拟机(15.1) ping不通物理主机(win10),但windows可以ping通虚拟机的问题解决方法...
VMware 上Ubuntu虚拟机(15.1) ping不通物理主机win10,而windows却可以ping通linux 捣鼓了半天... 网上也没有个简单方便快捷的方法,最后还是勉强ping通, ...
- linux添加服务命令行,Linux系统自有服务(上)
系统自有服务(上).md Linux系统自有服务 自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置) 学习目标 1.了解Linux的7种运行模式 2.了解用 ...
- linux添加include环境变量,Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量 15:12) 标签: 编译器 Linux 分类: 转载一些有用的文章 (2012-01-31 对所有用户有效在/etc/prof ...
- linux添加新用户;linux常见命令;linux自定义终端命令
1.linux添加新用户 1.useradd **用户名* 增加用户 2.passwd **用户名* 添加密码 3.su - **用户名* 切换到用户 4.exit 退出用户 切换到用户后只显示$问题 ...
- linux添加用户user1命令,Linux添加用户命令useradd
简单讲述下Linux添加用户命令useradd的使用方法. 1.用户添加命令useradd [root@localhost user1]# useradd [选项] 用户名 选项: -u UID:手工 ...
- linux添加永久路由方法,Linux添加永久静态路由的方法
Linux添加永久静态路由的方法 一.使用 route 命令添加使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:A.添加到主机的路由# route add –host 192 ...
- linux添加删除用户命令,Linux命令之useradd和userdel(添加、删除用户)
一.[useradd]:添加用户命令 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s sh ...
- linux添加ipv6地址命令,Linux下配置IPv6地址的方法
Linux在内核版本2.2.0以后就支持IPv6了,可查看/proc/net/if_inet6文件是否存在以确定你的系统是否支持IPv6 如果没有,可尝试如下命令加载IPv6模组: # modprob ...
- linux添加黑体和宋体,linux添加字体
其实很早就对 方法如下: C:\Windows\Fonts目录下有所有的windows的字体 将字体复制到/usr/share/fonts/xpfonts/ 第一步:将windows下喜欢的字体文件 ...
最新文章
- NB-IoT这块热豆腐公认可口 但勿太心急
- QGraphicsWidget收不到鼠标、键盘消息解决
- c++编码风格指南_100%正确编码样式指南
- MYSQL-查询过去7天的数据 当天没有值的赋予默认值0或者其他
- 1.2.2算法设计题
- Power BI数据源之web
- 同一局域网建立ftp服务器实现文件共享
- python自动化办公-提取excal表格某列数据
- Android进阶——借助强大Span家族增添丰富的特效及格式化字符串
- maven日记(一):Maven使用入门
- java毕业设计web高校车辆调度系统设计与实现源码+系统+数据库+lw文档+调试运行
- 免费各种查询API接口
- 博客园博客Wiz测试
- html css 奥运五环,用css3实现一个奥运五环
- EfficientNetV2 Smaller Models and Faster Training
- 研究生学姐二次考研的感悟:关于择校选专业专硕or学硕
- 【进制转换】如何使用C++将一个十进制数转为16进制?
- Paddle入门实战系列(四):中文场景文字识别
- 公路曲线及匝道多线路正、反算综合程序四(4.3修改版)
- DirectX简介 第三篇 DirectSound简介