我有一台服务器ESX5
,Standar Switch
其中有一个 (vswitch1),上面连接了一个物理网卡,vswitch1 VLAN ID 设置为,All(4095)
因此它可以看到任何 VLAN 上的流量,连接到 vswitch1 的我有 2 个 VM,分别是 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
是可以的,但是,从 XP ping 到 11.10.1.65 会失败,然后在 XP VM 中使用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
捕获中也是如此。
我不是交换机配置方面的专家,我甚至不完全了解配置中某些部分的含义,例如端口中继允许通过 VLAN 50 至 52和端口混合未标记 VLAN 51 至 52也许您可以推荐一篇关于此的好文档。
但是现在,我真正头疼的是,如何让它工作,因为我真的需要它,我需要所有这些 VLAN 都通过防火墙的单个 NIC,而现在我真的被卡住了,如果你认为我需要在交换机中更改某些东西,我可以做到,正如我所说,我有访问权限,所以,希望你能帮助我
谢谢
答案1
在华为/H3C/HP世界中(它们都或多或少共享相同的软件),如果我们谈论VLAN(802.1Q),则有3种端口:
- 访问端口:您将访问端口分配给一个 VLAN ID,这样交换机内部就知道来自该端口的所有流量都属于该 VLAN。同时会将该 VLAN 内的所有广播流量转发到该端口。您应该将计算机或最终设备连接到此类端口,因为进出设备的流量是无标记的。
interface Ethernet0/0/0
port link-type access
port default vlan XXX
#
-Trunk 端口:您可以将一个中继端口分配给多个 VLAN ID。除属于 PVID(端口 VLAN ID)的流量外,从中继端口发出的流量都带有标记。未标记的传入流量将在内部分配给 PVID,任何与允许的 VLAN 不匹配的标记流量都将被丢弃
interface Ethernet0/0/0
port link-type trunk
port trunk pvid vlan 100
port trunk allow-pass vlan 2 3 200
#
-混合端口:这是华为/H3C 发明的新东西。在此模式下,您可以将任何 VLAN 设置为 TAGGED 或 UNTAGGED。从我的角度来看,我发现这种模式毫无用处,因为为多个 VLAN 发送未标记的流量是没有意义的,因为连接的另一端无法知道哪个帧属于哪个 VLAN,不是吗?如果将一组 VLAN ID 配置为 TAGGED,其中一个配置为 UNTAGGED 和 PVID,则结果与配置中继端口相同。我能看到的唯一区别是,混合端口上 TAGGED VLAN 的 ARP 广播被标记,如果配置中继端口,所有 ARP 广播都将变为 UNTAGGED
interface Ethernet0/0/0
port link-type hybrid
port hybrid tagged vlan XX XX XX
port hybrid untagged vlan XX XX XX
port hybrid pvid vlan XXX
#
现在,我对虚拟机了解不多,但如果你了解这些概念并避免使用混合端口,我想你会自己找到解决方案。只要记住:
同一端口上有多个 VLAN:TRUNK、TAGGED VLAN(如果连接到它的设备支持 VLAN,并且 VMWARE VM 支持)一个端口中只有一个 VLAN:ACCESS、UNTAGGED VLAN。
问候, Yul