OpenWrt在同一端口上配置标记和未标记的VLAN


9

我已在MikroTik路由板RB750UP(带有内置交换机的AR7240 CPU的AR7240 CPU)上安装了OpenWrt。我在下面提供了其他详细信息,但我的问题是:

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

我已经成功地分别配置了非标记VLAN和标记VLAN,但是没有针对同一端口进行配置。之所以要这样做,是因为我将Ubiquiti NanoStation loco M2插入了提供无线局域网的端口(需要未标记的帧),但是我也想配置一个标记的VLAN来管理机车(即访问其管理) ip通过标记的货车)。

以下是更多详细信息:

硬件

  • MikroTik路由器板RB750UP
  • Ubiquiti NanoStation loco M2

swconfig 输出:

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

这是RB750的AR7240 / AR9330交换机布局图(我相信是这样)的链接

操作系统

OpenWrt BARRIER BREAKER(出血边缘,r36085),使用自定义配置构建

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

网络图

这是“ 网络设置”图的链接。

如图所示,NanoStation机车已插入端口3,并在vid = 3的vlan上配置了管理IP 192.168.20.10/24。它还充当192.168.100.0/24网络的无线网桥/访问点。

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

网络配置

这是我想要通过以下配置实现的目标:

  • 端口3(虚拟接口eth0.3)上标记为VLAN 3(vid = 3)的VLAN
  • 端口3(虚拟接口eth0.4)上未标记的VLAN 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。

我也尝试过使用手动配置VLAN /端口分配和标签swconfig,但是在每个排列中,它要么将端口3留在其中一个VLAN中,要么将端口3标记在两个VLAN中。

问题

  1. 如何在同一端口上配置未标记和标记的VLAN?我专门尝试为OpenWrt进行配置,但是即使了解一般情况下如何为Linux进行配置也将有所帮助。
  2. swconfig或AR7240 / AR9330 OpenWrt开关驱动程序是否存在任何已知的错误/问题,可能会导致此错误?(没有出现在我的搜索中。)

我对您的目标感到困惑:(2)端口3上未标记的VLAN 4(虚拟接口eth0.4)和端口3上的默认vlan pvid = 4(处理传入的未标记帧)。如果您在端口3上具有未标记的VLAN 4,它将已经处理了传入的未标记的帧,不是吗?那么,为什么在端口3上需要额外的默认vlan pvid = 4?
Andrey Sapegin

Answers:


1

一般而言,即使未标记的端口也需要分配一个NATIVE VLAN ID,并且仅当该ID与默认ID 1不同时才这样做。这有助于交换机了解如何转发数据包。如果您不提供VLAN并且已桥接​​,则将其视为路由接口。您通常不应在接口上指定子接口(即标签),除非您希望将其与该接口上的IP绑定在该系统上。

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

还有一点。一般而言,仅当L2数据包从一个VLAN移到核心交换引擎时才需要进行标记,并且仅在需要通过另一中继线承载时才进行标记。当数据包从交换引擎流出时,它会被剥离标签并通过标准以太网帧转发。


“如果您不提供VLAN,而是桥接的”-该声明有问题。我认为您的意思是,如果未桥接则将其路由。
马特

桥接并不意味着标记(VLAN),并且可以路由(或不路由)。L2和L3不同。一种是相关的物理数据包交换(L2),另一种是协议路由(L3)。问题是术语“桥”的使用非常宽松。从技术上讲,桥接描述了物理连接(L1),发生在任何成帧之前。可以将其视为两个接口之间的连接。VLAN(在这种情况下,也称为dot1q标记)是一种特殊的L2状态,其中所有L2数据包都标记有ID,这两个端点应将其作为单独的逻辑L2网络进行处理。
基思·安德鲁·希尔

0

我认为不可能有一个带有标记启用和不带标记的端口。

您处于配置了ID(没有标记)的访问模式下,

您可以在访问模式下在端口上配置多个ID。

您正在使用à单ID在该端口上进行标记

您正在标记多个ID以隔离交通,这称为中继

我认为您这里需要的是配置了您的admin和data vlan的界面上的主干。请记住,在另一设备上配置的端口必须接受特定ID上带标签的帧,该ID由中继线跟踪


0

用户173470,

为此,最佳实践是将特定端口上的本机VLAN或PortVlan ID分配给NanoStation的VLAN。如果要让其他所有VLAN在该端口上传递,则不要标记所有其他VLAN。并非所有设备都可以传递带标签的帧。另外,您不必将所有成员分配给这些端口。仅将vlan成员分配给您希望流量通过的端口。(节省带宽)。

您的其他端口可以看到适当的PVID /物理Vlan并被标记。如果只需要传递一个VLAN,则将其设置为不带标签的仅需要该VLAN的设备。

使您的配置变得简单。

希望这会有所帮助..干杯..


0

我认为常见的混淆点(在这种情况下,以及对于VLAN较新的用户)是,默认情况下,接入点不会将AP本身的管理接口标记为任何VLAN ID,因此您可能无法如果将AP连接到的管理型交换机端口更改为标记有几个VLAN(中继),则可以通过Web界面配置AP。

解决方案是先在AP上设置VLAN ID,然后通过将托管的交换机端口临时更改为带有标记VLAN的中继端口来测试它们,以测试VLAN是否真正起作用并在路由器中正确设置。

如果VLAN似乎可以正常工作(一次连接一个SSID),请暂时将中继端口更改回未标记的端口(常规端口),然后在与AP上的管理接口绑定的Access Point Web界面中找到设置。本身到您想要的任何VLAN。如果确定VLAN确实可以正常工作(应该已经对其进行了测试),则可以将AP管理接口设置为此VLAN。最后,将交换机端口改回中继端口,标记所需的每个VLAN,每个SSID标记一个和/或管理VLAN(如果该标记不在Wifi上)。现在,您应该使VLAN工作并且可以同时访问AP Web界面。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.