我已经在MikroTik路由器RB750UP(带有AR9330内置交换机的AR7240 CPU)上安装了OpenWrt。 我在下面包含了更多的细节,但我的问题是:
如何在同一个端口上configurationuntagged和tagged vlan?
我已经成功地configuration了无标记的vlans并且独立地标记了vlans,但不是针对同一个端口。 我之所以要这样做,是因为我有一个Ubiquiti NanoStation loco M2插入提供无线局域网的端口(这需要无标记的帧),但我也想configuration一个标记的vlan来pipe理本地(即访问其pipe理IP通过标签面包车)。
这里是一些进一步的细节:
swconfig输出:
swconfig dev eth0 help switch0: eth0(AR7240/AR9330 built-in switch), ports: 5 (cpu @ 0), vlans: 16 <snip>
以下是RB750的AR7240 / AR9330交换机布局图(我相信是) 的链接 。
OpenWrt屏障断路器(Bleeding Edge,r36085),用自定义configuration构build
# uname -a Linux OpenWrt 3.8.3 #3 Wed Mar 27 04:09:04 PDT 2013 mips GNU/Linux
这是我的networking设置图的链接。
如图所示,将NanoStation loco插入端口3,并在vlan = 3的vlan上configurationpipe理IP为192.168.20.10/24。 它还充当192.168.100.0/24networking的无线网桥/接入点。
因此,路由器上的端口3具有为192.168.100.0/24networkingconfiguration的未标记vlan和为192.168.20.0/24pipe理networking(具有vid = 3)的已标记vlan。
这是我想要实现与下面的configuration:
和/etc/config/network的实际内容:
<snip> config interface 'loco' option proto 'static' option ifname 'eth0.3' option ipaddr '192.168.20.1' option netmask '255.255.255.0' config interface 'locolan' option proto 'static' option ifname 'eth0.4' option ipaddr '192.168.100.1' option netmask '255.255.255.0' <snip> config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option vid '1' option ports '0t 2 4' config switch_vlan option device 'switch0' option vlan '2' option vid '2' option ports '0t 1' config switch_vlan option device 'switch0' option vlan '3' option vid '3' option ports '0t 3t' config switch_vlan option device 'switch0' option vlan '4' option vid '4' option ports '0t 3' config switch_port option port '3' option pvid '4'
重新启动路由器后, swconfig显示以下交换机configuration。 记下VLAN 3中缺less的“3t”。
# swconfig dev switch0 show Global attributes: enable_vlan: 1 Port 0: pvid: 0 link: port:0 link:up speed:1000baseT full-duplex txflow rxflow Port 1: pvid: 2 link: port:1 link:up speed:100baseT full-duplex auto Port 2: pvid: 1 link: port:2 link:down Port 3: pvid: 4 link: port:3 link:up speed:100baseT full-duplex auto Port 4: pvid: 1 link: port:4 link:up speed:100baseT full-duplex auto VLAN 0: vid: 0 ports: 0t VLAN 1: vid: 1 ports: 0t 2 4 VLAN 2: vid: 2 ports: 0t 1 VLAN 3: vid: 3 ports: 0t <----- no tagged port 3! VLAN 4: vid: 4 ports: 0t 3
结果,我无法ping本地的pipe理IP。
我也尝试使用swconfig手动configurationvlan /端口分配和标记,但是在每个排列中,它要么将端口3留在其中一个vlan上,要么强制端口3在两个vlans中被标记。
一般来说,即使不带标签的端口也需要分配一个自己的VLAN ID,并且只有当它与缺省ID是1不同的时候。这是为了帮助交换机了解如何转发数据包。 如果你没有提供一个vlan,而且这个vlan是桥接的,那么它就被认为是一个路由接口。 除非您希望在该接口上使用IP绑定该系统,否则通常不应该在接口上指定子接口(即标记)。
还有一点。 一般来说,标签只有在L2报文从一个vlan迁移到核心交换引擎时才会发生,只有当需要通过另一个中继时才能进行标签转发。 当数据包stream出交换机引擎时,将被剥离标签并通过标准的以太网帧进行转发。
我不认为有可能有一个港口标记启用AND没有..
要么你在访问模式下configuration一个id(无标签),
您可以在访问模式下在端口上configuration多个ID。
您可以在该端口上添加单个ID标记
要么标记多个ID来隔离交通,它被称为中继
我想你在这里需要的是你的pipe理界面上的trunk和configuration的数据vlan。 请记住,在另一个设备上configuration的端口必须接受由中继线传输的特定ID上的标记帧
user173470,
为此,最佳做法是将该特定端口上的Native VLAN或PortVlan ID分配给NanoStation的VLAN。 如果您希望在端口上传递所有其他VLAN,请将其标记为TAG。 并非所有设备都可以传递标记的帧。 您也不必将所有成员分配到这些端口。 只将vlan成员分配给您希望stream量通过的端口。 (节省带宽)。
你的其他端口可以看到有适当的PVID /物理Vlan和被标记。 如果您只需要传递一个vlan,那么将其设置为不带标签的设备只需要该vlan。
保持你简单的configuration。
希望这有助于..干杯..
我认为常见的困惑点(在这种情况下,对于VLAN不太熟悉的用户),默认情况下,接入点不会将AP本身的pipe理接口标记为任何VLAN ID,因此您可能会失去如果AP所连接的受pipe理交换机端口已更改为带有几个VLAN(中继线)的标记,请从Web界面configurationAP。
解决方法是先在AP上设置VLAN ID,然后通过临时将pipe理交换机端口更改为带有标记VLAN的中继端口来testing它们,以testingVLAN是否真正正常工作,并在路由器中正确设置。
如果VLAN似乎工作正常(一次连接到一个SSID),则临时将中继端口更改为未标记(常规端口),并在AP上find将pipe理接口绑定到AP上的设置本身到你想要的任何VLAN。 如果您确定VLAN实际工作正常(您应该刚testing过),则可以将APpipe理接口设置为此VLAN。 最后,将交换机端口更改回中继端口,标记每个所需VLAN,每个SSID和/或pipe理VLAN(如果不在Wifi上)。 现在,你应该有VLAN工作,同时访问AP网页界面。