ubuntu上的VLAN

我只是想了解VLAN是如何工作的。这就是为什么想在两台ubuntu机器上build立,这是不工作的。我认为我有一些关于VLAN的错误理解。请纠正我,无论我哪里错了。

这是我遵循的步骤:

在ubuntu机器上1:

$ sudo modprobe 8021q $ ifconfig eth0 0.0.0.0 up $ sudo vconfig add eth0 6 $ sudo ifconfig eth0.6 192.168.0.100 broadcast 192.168.0.255 netmask 255.255.255.0 $ sudo ifconfig eth0 up 

在Ubuntu的机器2上:

  $ sudo modprobe 8021q $ ifconfig eth0 0.0.0.0 up $ sudo vconfig add eth0 6 $ sudo ifconfig eth0.6 192.168.0.200 broadcast 192.168.0.255 netmask 255.255.255.0 $ sudo ifconfig eth0 up 

这两台机器都连接到我的组织的networking。我听说,configuration交换机/路由器的端口和VLAN映射(包含特定端口映射到特定VLAN的信息)并不是强制性的。他们自己将在飞行中学习。真的吗? 我想我的网卡也支持VLAN

完成上述设置后,我可以看到与相应IP的接口。

/ proc / net / vlan / config中的条目如下所示:

  VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.6 | 6 | eth0 

/proc/net/vlan/eth0.6中的条目

  eth0.6 VID: 6 REORDER_HDR: 1 dev->priv_flags: 1 total frames received 0 total bytes received 0 Broadcast/Multicast Rcvd 0 total frames transmitted 232 total bytes transmitted 19220 Device: eth0 INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 EGRESS priority mappings: 

从机器1:

  $ ping 192.168.0.200 

这是不工作的。当我用wireshark尝试时,我能看到ARP数据包stream,没有find相应的MAC地址。

您将需要了解您的交换机是否能够支持VLAN以及哪种倾向。 如前所述,这不是必须的,但是如果你的服务器连接到不同的交换机,例如,一个人知道一个vlan,另一个不是,那么这可能会导致问题。 理想情况下,对于每台服务器,都要将交换机端口configuration为“标记VLAN”接口,然后在每台服务器所连接的交换机上configurationVLAN 6。 然后你需要弄清楚是否:

a)两台服务器都在同一个交换机上,如果是这样的话就足够了。

b)服务器在两台独立的交换机上,两台交换机之间有直接连接。 在这种情况下,您必须按照您configuration服务器端口的方式来configuration交换机之间的端口。

c)第一台服务器的交换机和第二台服务器的交换机之间至less有一个交换机。 在这种情况下,您需要在具有匹配VLAN的服务器之间进行每次交换,并确保交换机之间的连接configuration为标记为VLAN 6。

尝试使用交叉电缆直接连接机器。 如果ping工作(它应该),你有一个开关问题。

对于vlan,您需要访问中继端口(通常交换机上的所有端口都是正常的“访问”端口,只携带未标记的stream量 – 中继端口携带标记的stream量)。 取决于交换机,如果接收标记的stream量到一个访问端口,其中一些丢弃数据包,其中一些删除(剥离)标签(或者如果是noname开关,则做任何“奇怪的事情”)。

* tagged =带有vlan头的数据包,untagged =没有vlan头的“普通”数据包