问题描述

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不通问题相关推荐

  1. VMware 上Ubuntu虚拟机(15.1) ping不通物理主机(win10),但windows可以ping通虚拟机的问题解决方法...

    VMware 上Ubuntu虚拟机(15.1)  ping不通物理主机win10,而windows却可以ping通linux 捣鼓了半天... 网上也没有个简单方便快捷的方法,最后还是勉强ping通, ...

  2. linux添加服务命令行,Linux系统自有服务(上)

    系统自有服务(上).md Linux系统自有服务 自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置) 学习目标 1.了解Linux的7种运行模式 2.了解用 ...

  3. linux添加include环境变量,Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

    Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量 15:12) 标签: 编译器 Linux 分类: 转载一些有用的文章 (2012-01-31 对所有用户有效在/etc/prof ...

  4. linux添加新用户;linux常见命令;linux自定义终端命令

    1.linux添加新用户 1.useradd **用户名* 增加用户 2.passwd **用户名* 添加密码 3.su - **用户名* 切换到用户 4.exit 退出用户 切换到用户后只显示$问题 ...

  5. linux添加用户user1命令,Linux添加用户命令useradd

    简单讲述下Linux添加用户命令useradd的使用方法. 1.用户添加命令useradd [root@localhost user1]# useradd [选项] 用户名 选项: -u UID:手工 ...

  6. linux添加永久路由方法,Linux添加永久静态路由的方法

    Linux添加永久静态路由的方法 一.使用 route 命令添加使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:A.添加到主机的路由# route add –host 192 ...

  7. linux添加删除用户命令,Linux命令之useradd和userdel(添加、删除用户)

    一.[useradd]:添加用户命令 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s sh ...

  8. linux添加ipv6地址命令,Linux下配置IPv6地址的方法

    Linux在内核版本2.2.0以后就支持IPv6了,可查看/proc/net/if_inet6文件是否存在以确定你的系统是否支持IPv6 如果没有,可尝试如下命令加载IPv6模组: # modprob ...

  9. linux添加黑体和宋体,linux添加字体

    其实很早就对 方法如下: C:\Windows\Fonts目录下有所有的windows的字体  将字体复制到/usr/share/fonts/xpfonts/ 第一步:将windows下喜欢的字体文件 ...

最新文章

  1. NB-IoT这块热豆腐公认可口 但勿太心急
  2. QGraphicsWidget收不到鼠标、键盘消息解决
  3. c++编码风格指南_100%正确编码样式指南
  4. MYSQL-查询过去7天的数据 当天没有值的赋予默认值0或者其他
  5. 1.2.2算法设计题
  6. Power BI数据源之web
  7. 同一局域网建立ftp服务器实现文件共享
  8. python自动化办公-提取excal表格某列数据
  9. Android进阶——借助强大Span家族增添丰富的特效及格式化字符串
  10. maven日记(一):Maven使用入门
  11. java毕业设计web高校车辆调度系统设计与实现源码+系统+数据库+lw文档+调试运行
  12. 免费各种查询API接口
  13. 博客园博客Wiz测试
  14. html css 奥运五环,用css3实现一个奥运五环
  15. EfficientNetV2 Smaller Models and Faster Training
  16. 研究生学姐二次考研的感悟:关于择校选专业专硕or学硕
  17. 【进制转换】如何使用C++将一个十进制数转为16进制?
  18. Paddle入门实战系列(四):中文场景文字识别
  19. 公路曲线及匝道多线路正、反算综合程序四(4.3修改版)
  20. DirectX简介 第三篇 DirectSound简介

热门文章

  1. 社保,交得越多亏得越多(转)
  2. OpenCv霍夫变换与RANSAC检测圆形
  3. Linux的sysctl 命令参数详解
  4. Flask-分开Models解决循环引用
  5. android computescroll_Android Scroller与computeScroll方法的调用关系
  6. java r$_基于javacv的人脸检测Demo
  7. 【FTP】FTP服务器的搭建
  8. RocketMQ原理解析-producer 4.发送分布式事物消息
  9. 洛谷——P2118 比例简化
  10. JavaScript专题之从零实现jQuery的extend