标签:总结 虚拟交换 不能 文章 解决方法 方向 vmware PVID 数据包
一、背景介绍实验室进了一批新设备,计划用vmware搭建集群,使用华为S5700三层交换机将管理与业务网分离,架构拓扑如下:
物理交换机的1--12口为管理口,端口类型为access,pvid为10;物理交换机13--20口为业务口,端口类型为trunk,pvid为20;21--24口为物理交换机上联接口,网关位于三层交换机的vlanif接口上
配置完成后,管理网络通信正常,但此时发现业务网络通信异常,问题如下:
规划业务口走vlan20,所以,在业务的虚拟交换机端口组上给的VID是20
业务口上联至物理交换机的13口,链路状态是TRUNK,物理接口配置如下:
业务网络的网关在物理交换机的vlanif20口上
此时发现,这么配置后VM没法ping通网关,如果把虚拟交换机端口组的VID改成0或者4095,VM都可以ping通网关
仔细观察虚拟交换机,发现数据包从vm出来后2次经过了虚拟交换机,并不是之前以为的1次,标记1处的vid可以在端口组上设置,标记2处的端口类型与pvid在vmware产品中有默认设置,不允许用户修改
通过实践得出结论,标记处2的端口类型为trunk,且trunk pvid为1,此时的数据报文传输如下图所示:
此时入方向的二层传输路径为:
此时报文已经进入物理交换机的内部,数据在返回时二层传输路径为:
在明白了问题点后,按照上面数据报文的流经过程,就能解释出为什么将虚拟交换机端口组(标签1)处的vid设置为0或者4095可以正常通信,而根据规划,业务网络的vid为20,此时只需要将物理交换机trunk口的pvid改为1,就可以正常通信,具体的通信过程为:
通过上述特征,可以得出以下几个结论:
标签:总结 虚拟交换 不能 文章 解决方法 方向 vmware PVID 数据包
原文地址:https://blog.51cto.com/arkling/2494738