首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鬼"vlan 0“标签添加到CentOS客户端OpenStack下的以太网帧中

鬼"vlan 0“标签添加到CentOS客户端OpenStack下的以太网帧中
EN

Server Fault用户
提问于 2013-04-08 20:07:08
回答 1查看 1.7K关注 0票数 1

我试图调试一个涉及KVM虚拟机实例的问题,当源位于另一台物理机器上时,该实例不响应网络请求,该物理机器与通过Linux桥接连接的虚拟机实例位于同一子网上。

(这发生在Ubuntu12.04上的OpenStack部署福尔索姆版本的上下文中,它使用nova网络配置FlatDHCP模式,而不是多主机。此问题仅发生于CentOS来宾,而不是Ubuntu来宾)。

当我在CentOS客户机中执行tcpdump时,我发现入站数据包被标记为“vLAN0”。例如,如果我在来宾内部手动配置IP地址10.40.0.5/16,然后使用tcpdump从另一台计算机执行"arping -i eth1 10.40.0.5“,则会看到”VLAN0“。

代码语言:javascript
复制
# tcpdump -i eth0 -XX -vv -e
14:29:29.907212 54:78:1a:86:50:c9 (oui Unknown) > Broadcast, ethertype 802.1Q (0x8100), length 64: vlan 0, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.40.0.5 (Broadcast) tell 10.40.0.1, length 46
    0x0000:  ffff ffff ffff 5478 1a86 50c9 8100 0000  ......Tx..P.....
    0x0010:  0806 0001 0800 0604 0001 5478 1a86 50c9  ..........Tx..P.
    0x0020:  0a28 0001 ffff ffff ffff 0a28 0005 0000  .(.........(....
    0x0030:  0000 0000 0000 0000 0000 0000 dac7 07ed  ................

如果加载8021 q模块,则来宾将正确地响应ARP请求,尽管它不会正确地响应DHCP,并且产生的UDP数据包被标记为vlan 0。

如果我在vnet1接口上的Ubuntu12.04计算主机上执行与虚拟机相对应的类似的tcpdump,则不会看到VLAN0标记:

代码语言:javascript
复制
# tcpdump -i vnet1 -XX -vv -e
tcpdump: WARNING: vnet1: no IPv4 address assigned
tcpdump: listening on vnet1, link-type EN10MB (Ethernet), capture size 65535 bytes
15:59:34.023145 54:78:1a:86:50:c9 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.40.0.5 (Broadcast) tell 10.40.0.1, length 46
    0x0000:  ffff ffff ffff 5478 1a86 50c9 0806 0001  ......Tx..P.....
    0x0010:  0800 0604 0001 5478 1a86 50c9 0a28 0001  ......Tx..P..(..
    0x0020:  ffff ffff ffff 0a28 0005 0000 0000 0000  .......(........
    0x0030:  0000 0000 0000 0000 dac7 07ed            ............

在这两台物理机器之间是一个思科Nexus 3000交换机。

编辑:交换机只配置了一个VLAN (vlan 1),即本机vlan。交换机上的所有端口都处于访问模式。以下是一个典型的端口的样子:

代码语言:javascript
复制
# show interface switchport
Name: Ethernet1/1
  Switchport: Enabled
  Switchport Monitor: Not enabled
  Operational Mode: access
  Access Mode VLAN: 1 (default)
  Trunking Native Mode VLAN: 1 (default)
  Trunking VLANs Enabled: 1
  Administrative private-vlan primary host-association: none
  Administrative private-vlan secondary host-association: none
  Administrative private-vlan primary mapping: none
  Administrative private-vlan secondary mapping: none
  Administrative private-vlan trunk native VLAN: none
  Administrative private-vlan trunk encapsulation: dot1q
  Administrative private-vlan trunk normal VLANs: none
  Administrative private-vlan trunk private VLANs: none
  Operational private-vlan: none
  Unknown unicast blocked: disabled
  Unknown multicast blocked: disabled

为什么这些vlan 0标记会被添加到这样的帧中呢?可能是开关添加了这些标记,但是Ubuntu在将框架传递给CentOS来宾时不知怎么没有看到它们吗?或者是CentOS内核将标记添加到传入帧中?如果是的话,为何会出现这种情况呢?

EN

回答 1

Server Fault用户

发布于 2015-09-23 15:59:25

今天在centos 6上也遇到了类似的情况,升级到最新的内核解决了这个问题。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/497391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档