我有一台服务器ESX5
,有一个Standar Switch
连接了一个物理网卡的 (vswitch1),vswitch1 VLAN ID 设置为All(4095)
这样它可以看到任何 VLAN 上的流量,连接到 vswitch1 我有 2 个虚拟机,分别是 Debian 6 和 XP SP2。至此一切正常,debian 的界面配置如下所示:
auto eth0
iface eth0 inet static
address 192.168.106.250
netmask 255.255.255.0
auto vlan52
iface vlan52 inet static
address 11.10.1.65
netmask 255.255.255.248
vlan_raw_device eth0
我也激活modprobe 8021q
了并且没有 iptables 规则,所以,我没有丢包
现在,在 XP VM 中,有这个网络配置:
IP Address: 11.10.1.66
Subnet Mask: 255.255.255.248
IP Address: 192.168.106.251
Subnet Mask: 255.255.255.0
如您所见,XP VM 有 2 个 IP 地址,因此,从 XP ping 到192.168.106.250
OK,但是,从 XP ping 11.10.1.65 失败,然后在 XP VM using 中Wireshark
,您可以看到类似这样的内容
Source Destination Protocol Length Info
11.10.1.66 11.10.1.65 ICMP 74 Echo (ping) request id=0x0200, seq=2816/11, ttl=128
Vmware_aa:3d:e6 Broadcast ARP 42 Who has 11.10.1.65? Tell 11.10.1.66
Vmware_aa:3d:e1 Vmware_aa:3d:e6 ARP 60 11.10.1.65 is at 00:50:56:aa:3d:e1
11.10.1.66 11.10.1.65 ICMP 74 Echo (ping) request id=0x0200, seq=1280/5, ttl=128
Vmware_aa:3d:e1 Broadcast ARP 64 Who has 11.10.1.66? Tell 11.10.1.65
Vmware_aa:3d:e1 Broadcast ARP 64 Who has 11.10.1.66? Tell 11.10.1.65
11.10.1.66 11.10.1.65 ICMP 74 Echo (ping) request id=0x0200, seq=1536/6, ttl=128
依此类推,但 ping 不起作用,我也尝试使用 putty 使用 ssh 连接到 11.10.1.65 但它也失败了。
然后我决定在工作中测试物理网络,其中我有 2 个共享 vlan ID 的物理交换机(其他人配置了交换机,但我可以访问配置),交换机上存在 vlan 52,debian 有一个vlan52
同样,这里有一些开关配置
#SWITCH 1
vlan 51
description DPC
vlan 52
description OBEM
#
interface GigabitEthernet0/0/22
description LAN_DPC
port hybrid pvid vlan 51
port hybrid untagged vlan 3 51 to 63
ip-subnet-vlan enable
#SWITCH 2
vlan 51
description DPC
vlan 52
description OBEM
#
interface Ethernet0/0/1
port hybrid pvid vlan 52
port hybrid untagged vlan 51 to 52
#
interface GigabitEthernet0/0/1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 50 to 52
stp disable
开关是Huawei Quidway S3300 Series
因此,我将我的笔记本电脑连接到Ethernet0/0/1
SWITCH 2,从我的笔记本电脑(IP 11.10.1.67)ping 到 11.10.1.65,结果相同,即使在Wireshark
捕获中也是如此。
我不是交换机配置方面的专家,我什至不完全知道配置中的某些部分是什么意思,例如port trunk allow-pass vlan 50 to 52和port hybrid untagged vlan 51 to 52也许你可以推荐一个好的关于这个的文档。
但是现在,我真正头疼的是如何让它工作,因为我真的需要它,我需要所有这些 vlan 通过防火墙的单个 NIC,现在我真的被卡住了,如果你认为我需要改变开关中的东西,我可以做到,正如我所说的,我可以访问,所以,希望你能帮助我
谢谢
在 huawei/H3C/HP 世界(它们都或多或少地共享相同的软件)如果我们谈论 VLAN (802.1Q),则有 3 种端口:
- 访问端口:您将访问端口分配给一个 VLAN ID,以便交换机在内部知道来自该端口的所有流量都属于该 VLAN。还将将该 VLAN 内的所有广播流量转发到该端口 您应该将计算机或最终设备连接到这种端口,因为进出设备的流量是未标记的。
-Trunk 端口:您将一个中继端口分配给多个 VLAN ID。除了属于 PVID(端口 VLAN ID)的流量外,离开中继端口的流量被标记。未标记的传入流量将在内部分配给 PVID,任何与允许的 VLAN 不匹配的标记流量都将被丢弃
-Hybrid 端口:这是新的,华为/H3C 发明的东西。在此模式下,您可以将任何 VLAN 设置为 TAGGED 或 UNTAGGED。从我的 POV 来看,我发现这种模式非常无用,因为它没有意义为多个 VLAN 发送未标记的流量,因为连接的另一端无法知道哪个帧属于哪个 VLAN,不是吗?如果将一组 VLAN ID 配置为 TAGGED,其中一个配置为 UNTAGGED 和 PVID,则结果与配置中继端口相同。我能看到的唯一区别是混合端口上 TAGGED VLAN 的 ARP 广播被标记,如果您配置 Trunk 端口,所有 ARP 广播都未标记
现在,我不太了解 VM 机器,但如果您了解这些概念并避免使用混合端口,我想您会自己找到解决方案。只记得:
同一端口上有多个 VLAN:TRUNK、TAGGED VLAN(如果连接到它的设备支持 VLAN,并且 VMWARE VM 是) 一个端口中只有一个 VLAN:ACCESS、UNTAGGED VLAN。
问候,尤尔