配置 – OpenWrt在同一端口上配置Tagged和Untagged VLAN

我在MikroTik Routerboard RB750UP(带有AR9330内置交换机的AR7240 CPU)上安装了OpenWrt.我在下面列出了其他详细信息,但我的问题是:

如何在同一端口上配置未标记和标记的vlan?

我已经成功配置了非标记的vlan和标记的vlan,但不是同一个端口.我想这样做的原因是因为我有一个Ubiquiti NanoStation loco M2插入一个提供无线局域网(需要无标记帧)的端口,但我也想配置一个标记的vlan来管理loco(即访问其管理) ip via tag van).

以下是一些进一步的细节:

硬件

> MikroTik RouterBoard RB750UP
> Ubiquiti NanoStation loco M2

swconfig输出:

swconfig dev eth0 help
switch0: eth0(AR7240/AR9330 built-in switch), ports: 5 (cpu @ 0), vlans: 16
<snip>

这是一个链接到(我相信是)layout of the RB750’s AR7240/AR9330 switch的图表.

操作系统

OpenWrt BARRIER BREAKER(Bleeding Edge,r36085),采用自定义配置构建

# uname -a
Linux OpenWrt 3.8.3 #3 Wed Mar 27 04:09:04 PDT 2013 mips GNU/Linux

网络图

这是我的Network Setup图表的链接.

如图所示,NanoStation loco插入端口3,管理IP为192.168.20.10/24,vlan为vid = 3.它还充当192.168.100.0/24网络的无线网桥/接入点.

因此,路由器上的端口3具有为192.168.100.0/24网络配置的未标记vlan和用于192.168.20.0/24管理网络的标记vlan(具有vid = 3).

网络配置

以下是我尝试使用以下配置实现的内容:

>端口3上的标记VLAN 3(vid = 3)(虚拟接口eth0.3)
>端口3上未标记的VLAN 4(虚拟接口eth0.4)
>端口3上的默认vlan pvid = 4(用于处理传入的未标记帧)

和/ 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显示以下交换机配置.请注意VLAN 3中缺少的“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到本地的管理IP.

我还尝试使用swconfig手动配置vlan / port分配和标签,但是在每个排列中,它要么从其中一个vlan中留下端口3,要么强制端口3在两个vlan中标记.

问题

>如何在同一端口上配置未标记和标记的vlan?我特意尝试为OpenWrt配置这个,但是即使理解如何为Linux做这件事也会有所帮助.
> swconfig或AR7240 / AR9330 OpenWrt交换机驱动程序是否存在任何可能导致此问题的已知错误/问题? (在我的搜索中没有出现.)

一般来说,即使未标记的端口也需要分配NATIVE VLAN ID,并且仅当它与默认ID为1时不同.这是为了帮助交换机了解如何转发数据包.如果您没有提供vlan并且它已被桥接,则它被视为路由接口.您通常不应在接口上指定子接口(即标记),除非您希望它在该接口上使用IP绑定在该系统上.

>配置vlan路由接口(不是物理/桥接接口)
>指定物理桥接接口上使用的标记协议(即.
DOT1Q)
>选择并在所有接口上指定本机VLAN ID
(如果不是vlan 1)

还有一点.一般来说,标记只发生在L2数据包从一个vlan移动到核心交换机引擎时,并且只有当它需要通过另一个中继线传输时才会发生.当数据包流出交换机引擎时,它会被剥离标签并通过标准以太网帧转发.

翻译自:https://serverfault.com/questions/507176/openwrt-configuring-tagged-and-untagged-vlan-on-the-same-port

转载注明原文:配置 – OpenWrt在同一端口上配置Tagged和Untagged VLAN