使用Procurve开关和RHEL标记VLAN不能按预期工作

我想在RHEL6上configuration标记VLAN,其中涉及的以太网交换机是ProCurve。 现在我所做的是:

  1. 我在server2的RHEL6上创build了VLAN接口eth0.1001和eth0.1002,在server2的RHEL6上创build了VLAN接口eth0.1001:

Server1:vconfig添加eth0 1001

ifconfig eth0.1001 192.168.199.199 netmask 255.255.0.0 up

vconfig添加eth0 1002

ifconfig eth0.1002 192.168.198.198 netmask 255.255.0.0 up

Server2:vconfig添加eth0 1001

ifconfig eth0.1001 192.168.197.197 netmask 255.255.0.0 up

  1. 在ProCurve交换机上创build了一个标记VLAN:vlan 100 tagged 9 tagged 18

  2. 从server2运行一些stream量到server1:ping 192.168.199.199

这是成功的

  1. 运行一些从server2到server1的stream量:ping 192.168.198.198

这又成功了!

另一方面,当我检查默认VLAN(即1)的端口分配。 它将端口9和18显示为无标记。 如果我从默认VLAN中删除VLAN,则服务器之间不会有stream量(甚至在相同的VLAN接口(即eth0.1001)之间)。 在这种情况下,将vlan从“标记”更改为“未标记”可以使stream量继续运行。

现在我想知道我在这里做错了什么。 在我的理解中,当在操作系统中创build两个vlans,然后将stream量从一个主机发送到另一个属于同一个VLAN的另一个主机时,驱动程序将添加相应的标记,当数据包到达交换机时,将会看到标记适当地将其移动到正确的端口。 在线可用的示例显示两台服务器之间的configuration。 我想知道同样的交换机VLAN标记也是可能的。

我看到你的例子中的几个问题。

首先,由于您使用的掩码是255.255.0.0,因此您的所有IP地址都位于单个第3层networking上。 通常情况下,单个三层networking与单个VLAN相关联。 您可能正在networking上做其他事情,以至于这是有效的,但不清楚。

其次,RHEL6服务器上用于VLAN接口的编号需要与交换机上使用的VLAN编号相匹配。

假设您处于可以进行这些更改的实验室环境中,则以下configuration应允许server1 ping server2:

Server1:vconfig添加eth0 1001

ifconfig eth0.1001 192.168.199.199 netmask 255.255.255.0 up

vconfig添加eth0 1002

ifconfig eth0.1002 192.168.198.199 netmask 255.255.255.0 up

Server2:vconfig添加eth0 1001

ifconfig eth0.1001 192.168.199.200 netmask 255.255.255.0 up

在ProCurve交换机上创build一个标记的VLAN:

vlan 1001 tagged 9,18 vlan 1002 tagged 9,18

以下应该工作:

从server2运行一些stream量到server1:ping 192.168.199.199

运行一些从server2到server1的stream量:ping 192.168.199.200

除非您在交换机上正确configuration了路由,否则以下情况将会失败:

从server2运行一些stream量到server1:ping 192.168.198.199