Ping正在进行VLANconfiguration的错误接口

我正在使用在VMWare ESXi 4.0.0上创build的Centos 5.3 VM。 我在接口eth3上创build了一个带有标签3的vlan接口,并在与vlan中的其他机器相同的子网中给它一个IP。 当我尝试通过新创build的vlan接口(eth3.3)ping另一台机器时,它不能ping通。 但是如果我尝试通过实际的接口eth3 ping它ping。 我以为这应该是另一种方式。 我不明白如何解决问题。 任何人都可以给我一些指导如何解决这个问题? 以下是我所做的步骤:

#ifconfig eth3

eth3链接封装:以太网HWaddr 00:0C:29:F1:DF:DC
inet6地址:fe80 :: 20c:29ff:fef1:dfdc / 64作用域:链接
广播运行多播MTU:1500公制:1
RX包:29522错误:0丢弃:0超限:0帧:0
TX数据包:142个错误:0丢弃:0超限:0载波:0
碰撞:0 txqueuelen:1000
RX字节:2319562(2.2 MiB)TX字节:30298(29.5 KiB)
基地址:0x2080内存:d8940000-d8960000

#vconfig添加eth3 3
添加了VID == 3到IF的VLAN – :eth3: –

#ifconfig eth3.3 172.22.125.154

#ifconfig eth3.3

eth3.3链接封装:以太网HWaddr 00:0C:29:F1:DF:DC
inet addr:172.22.125.154 Bcast:172.22.255.255 Mask:255.255.0.0
inet6地址:fe80 :: 20c:29ff:fef1:dfdc / 64作用域:链接
广播运行多播MTU:1500公制:1
RX包:0个错误:0个丢弃:0个超限:0个帧:0个
TX数据包:33个错误:0丢弃:0超限:0载波:0
碰撞:0 txqueuelen:0
RX字节:0(0.0 b)TX字节:7944(7.7 KiB)

#ping 172.22.125.3 -I eth3.3
PING 172.22.125.3(172.22.125.3)from 172.22.125.154 eth3.3:56(84)字节的数据。

— 172.22.125.3 ping统计—
2个数据包传输,0个接收,100%丢包,时间999ms

#ping 172.22.125.3 -I eth3
PING 172.22.125.3(172.22.125.3)172.20.70.145 eth3:56(84)字节的数据。
来自172.22.125.3的64个字节:icmp_seq = 1 ttl = 64时间= 1.67ms
来自172.22.125.3的64字节:icmp_seq = 2 ttl = 64时间= 1.85ms

除非你在vmware中configurationeth3作为一个中继接口,否则这是行不通的。

很可能你要做的是在vmware中configurationvlans,然后将eth3分配到vlan3上(在vmware中)。 您不需要在虚拟机内configurationvlans。

您确定您的ESXnetworking和物理交换机端口已根据您的VLAN要求正确configuration? 如果您希望能够在您的客户操作系统中处理VLAN标记,那么您的VM的Eth3 nic在虚拟机设置中映射到的端口组必须configuration为VGT模式,并且VLAN标记必须由您的物理交换机保持不变该端口组使用的上行链路的物理端口。 另外一种可能性是,vSwitch上的NIC组合可能会给您的物理交换机基础设施带来问题,使得stream量在一个方向上工作,但在相反的方向上失败是其中的一个症状。 在这种情况下,它们是如何configuration的(vSwitch有多less上行链路,端口组上是否有任何策略覆盖,上行链路是否连接到单独的物理交换机?

您的问题可能是机器内部的问题,但在不必要地浪费来宾操作系统的时间之前,检查底层的虚拟networking是否合适是个好主意。

ESX Server支持三种VLAN标记模式:

  • VGT – 虚拟客人标记。 – vSwitch将networking数据包传递给来宾操作系统,使802.1Q标记保持不变。 如果您需要在客户操作系统中支持多个VLAN,则需要启用该模式。 您可以通过在访客的NIC映射到的端口组上selectVLAN ID 4095来启用VGT模式。
  • EST – 外部交换机标记。 VLAN标记完全由物理交换机处理,不会呈现给ESX主机,802.1q vlan标记在传输到ESX Server nics并添加到从它们接收的数据包之前被删除。 客户的networking不知道VLAN标记。 ESX主机或客户操作系统上不需要configurationVLAN。
  • VST – 虚拟交换机标记。 在这种模式下,VLAN标记由vSwitch处理,而客户操作系统不会看到VLANstream量 – 必须在该vSwitch的端口\端口组上configuration特定VLAN ID。

在Ken Cline的一系列7篇博客文章中,您可以很好地了解这方面的知识(以及您想了解ESX vSwitchconfiguration的几乎所有知识) – 您可以在这里find第一个 ,将讨论ESX VLAN概念post的结尾。

我不是一个Linux大师(我运行NetBSD),但你是否正确地指定在ifconfig行上的子网掩码?

在NetBSD上,我不得不使用类似的东西

ifconfig vlan3 1.2.3.4/24

对于255.255.255.0或0xffffff00(24位networking掩码,无论你如何分片)。

如果可能的话,你可以在接收端运行tcpdump,如:

tcpdump -i <interface> 'src 172.22.125.154 and icmp' 

如果ping被发送但没有回复,接收端可能不知道如何发送。

做:traceroute 172.22.125.154

它使用正确的网关发送? 它尝试能够发送到该networking的网关?

如果它不发送到172.22.125.154或许您设置172.22.125.154的src计算机有路由问题,或者您没有正确configuration(networking掩码,网关等)src计算机上的vlan。

我的2分钱…

编辑:这里在黑暗中拍摄;)尝试启用代理arp回声1> / proc / sys / net / ipv4 / conf / eth3 / proxy_arp