VLAN-Konfiguration für zwei Mikrotik RB951 mit WLAN (Multi-SSID)

Dieses Thema im Forum "Mikrotik" wurde erstellt von CapFloor, 30. März 2015.

  1. CapFloor

    CapFloor Moderator

    Registriert seit:
    9. August 2010
    Beiträge:
    3.373
    Punkte für Erfolge:
    160
    Hi,
    ich beschäftige mich schon seit einiger Zeit mit der Konfiguration von Mikrotik Routern, insbesondere als Multi-SSID AP mit VLAN-Unterstützung. Es gibt sehr viele Informationen im Web, wie so etwas bei Geräten mit RouterOS konfiguriert werden soll. Aber die Informationen sind sehr verstreut, oft nicht akurat und fast immer auf englisch. Deshalb möchte ich eine Anfrage hier im Forum zum Anlass nehmen und folgende Konfiguration vollständig beschreiben.

    Zwei RB951G mit RouterOS 6.27 sind über Kabel miteinander verbunden und stellen an ihren eth-Ports drei VLANs zur Verfügung. An beiden Routern werden drei WLAN-SSIDs konfiguriert, die den Wireless Zugang über die drei VLANs erlauben. Ein RB951G stellt den Internet-Zugang für sich und den zweiten RB951G.

    RB951G #1:
    Dieser stellt den Internet-Zugang an P#1 zur Verfügung.

    Er ist für 3 VLANs konfiguriert, die an P#3=VLAN10 (192.168.110.0/24), P#4= VLAN20 (192.168.120.0/24) und P#5=VLAN01 (192.168.101.0/24) rausgeführt werden. P#2 ist als VLAN-Trunk aufgesetzt, über den die VLANs 1,10 und 30 getagged übertragen werden. Daran ist per eth-Kabel ein weiterer RB951G angeschlossen.

    Weiterhin sind drei WLANs mit den Namen VLAN01, VLAN20 und VLAN30 definiert, die den Zugang zu den entsprechende VLANs via WLAN bereitstellen.

    Der RB951G befindet sich im Auslieferungszustand: Also Internet über Port 1; Port 2 ist der Master-Port für die restlichen 4 Switch-Ports.

    Switch / VLANs
    Zuerst die Switch-Konfiguration, wobei Port#5 im "set..." der "switch1-cpu" Port ist.
    Code:
    /interface ethernet switch vlan
    add independent-learning=yes ports=\
        ether2-master-local,ether5-slave-local,switch1-cpu switch=switch1 \
        vlan-id=1
    add independent-learning=yes ports=\
        ether2-master-local,ether3-slave-local,switch1-cpu switch=switch1 \
        vlan-id=10
    add independent-learning=yes ports=\
        ether2-master-local,ether4-slave-local,switch1-cpu switch=switch1 \
        vlan-id=20
    
    /interface ethernet switch port
    set 0 vlan-header=always-strip
    set 1 default-vlan-id=1 vlan-mode=check
    set 2 default-vlan-id=10 vlan-header=always-strip vlan-mode=fallback
    set 3 default-vlan-id=20 vlan-header=always-strip vlan-mode=fallback
    set 4 default-vlan-id=10 vlan-header=always-strip vlan-mode=fallback
    set 5 vlan-mode=fallback
    Wenn man keine Multi-SSIDs mit den VLANs verknüpfen will, so wäre die Konfiguration hier abgeschlossen. Der RB951G würde dann als 4-Port Switch, mit 3 VLANs und einem WAN-Port für den Internet-Zugang laufen - allerdings ohne DHCP-Server für die VLANs.

    WLAN / virtuelle APs
    Alles Weitere zeigt, wie 3 virtuellen APs (Multi-SSIDs) für die drei VLANs angelegt und per Bridge mit der VLAN-Konfiguration der 4 geswitchten Ports verbunden werden. Ich benutze hier nur zwei verschiedene "Security profiles", in der Praxis sollte aber jeder virtuelle AP ein eigenes Profile besitzen.
    Code:
    /interface wireless security-profiles
    add authentication-types=wpa-psk,wpa2-psk eap-methods="" \
        management-protection=allowed mode=dynamic-keys name=Home \
        supplicant-identity="" wpa-pre-shared-key=XXXX wpa2-pre-shared-key=\
        XXXX
    add authentication-types=wpa-psk,wpa2-psk eap-methods="" \
        management-protection=allowed mode=dynamic-keys name=Guest \
        supplicant-identity="" wpa-pre-shared-key=XXXX wpa2-pre-shared-key=\
        XXXX
    Code:
    /interface wireless
    set [ find default-name=wlan1 ] band=2ghz-b/g/n disabled=no distance=indoors \
        frequency=auto l2mtu=2290 mode=ap-bridge name=wl-noVLAN security-profile=\
        Home ssid=noVLAN wireless-protocol=802.11
    add disabled=no l2mtu=2290 mac-address=4E:5E:0C:6D:25:C2 master-interface=\
        wl-noVLAN name=wl-VLAN10 security-profile=Home ssid=VLAN10 \
        wds-cost-range=0 wds-default-cost=0
    add disabled=no l2mtu=2290 mac-address=4E:5E:0C:6D:25:C4 master-interface=\
        wl-noVLAN name=wl-VLAN20 security-profile=Guest ssid=VLAN20 \
        wds-cost-range=0 wds-default-cost=0
    Bridges / DHCP
    Zum Abschluss werden die virtuellen Interfaces (3 für die 3 VLANs) über dem Switch angelegt, per Bridge mit den virtuellen APs verbunden und mit DHCP-Servern für die IP-Adressbereiche, die den VLANs zugeordnet sind, versehen.
    Code:
    /interface vlan
    add interface=br-base l2mtu=1594 name=brg-VLAN10 vlan-id=10
    add interface=br-base l2mtu=1594 name=brg-VLAN20 vlan-id=20
    
    /interface bridge port
    add bridge=br-base interface=ether2-master-local
    add bridge=br-base interface=wl-noVLAN
    add bridge=br-VLAN10 interface=wl-VLAN10
    add bridge=br-VLAN20 interface=wl-VLAN20
    add bridge=br-VLAN10 interface=brg-VLAN10
    add bridge=br-VLAN20 interface=brg-VLAN20
    
    /ip address
    add address=192.168.88.1/24 comment="default configuration" interface=br-base \
        network=192.168.88.0
    add address=192.168.110.1/24 interface=br-VLAN10 network=192.168.110.0
    add address=192.168.120.1/24 interface=br-VLAN20 network=192.168.120.0
    
    /ip pool
    add name=VLAN10 ranges=192.168.110.100-192.168.110.110
    add name=VLAN20 ranges=192.168.120.100-192.168.120.110
    
    /ip dhcp-server network
    add address=192.168.88.0/24 comment="default configuration" gateway=\
        192.168.88.1
    add address=192.168.101.0/24 dns-server=192.168.101.1 gateway=192.168.101.1 \
        ntp-server=192.168.101.1
    add address=192.168.110.0/24 dns-server=192.168.110.1 gateway=192.168.110.1 \
        ntp-server=192.168.110.1
    add address=192.168.120.0/24 dns-server=192.168.120.1 gateway=192.168.120.1 \
        ntp-server=192.168.120.1
    
    /ip dhcp-server
    add address-pool=default-dhcp disabled=no interface=br-base name=noVLAN
    add address-pool=VLAN10 disabled=no interface=br-VLAN10 name=VLAN10
    add address-pool=VLAN20 disabled=no interface=br-VLAN20 name=VLAN20
    Firewall
    Die Firewall sollte als letzte Regel immer das Verwerfen aller Pakete enthalten. Damit kommen nur Pakete durch, die vorher ausdrücklich erlaubt wurden. Hier eine Beispielkonfiguration der Firewall:
    Code:
    /ip firewall address-list
    add address=192.168.101.0/24 list=VLAN01
    add address=192.168.110.0/24 list=VLAN10
    
    /ip firewall filter
    01: add action=drop chain=input comment="Drop Invalid connections" \
        connection-state=invalid
    02: add chain=input comment="default configuration" protocol=icmp
    03: add action=drop chain=input dst-address-list=VLAN10 in-interface=br-VLAN20
    04: add chain=input comment="Allow input except Internet" in-interface=\
        !ether1-gateway
    05: add chain=input comment="Allow Established connections" connection-state=\
        established,related
    06: add chain=forward connection-state=established,related in-interface=\
        ether1-gateway
    07: add chain=forward out-interface=ether1-gateway
    08: add chain=forward in-interface=br-VLAN10 out-interface=br-VLAN20
    09: add chain=forward connection-state=established,related in-interface=br-VLAN20 \
        out-interface=br-VLAN10
    10: add action=drop chain=input comment="Drop everything else"
    11: add action=drop chain=forward
    Die Firewall-Regeln sind zur besseren Refenzierbarkeit durchnummeriert.

    Ausgangspunkt ist eine geschlossene Firewall (R#9 & R#10).

    01: Mit "invalid" geflaggte Pakete werden gedropped.
    02: Ping-Anfragen werden auf allen Interfaces zugelassen - auch auf dem WAN-Interface!
    03: Beispielhaft: Der Zugriff von VLAN20 auf den Router über seine VLAN10 IP Adresse wird blockiert. Diese gesonderte Blockierung wäre auf Wunsch deshalb notwendig, da in R#4 neue Verbindungen zum Router von allen Interfaces akzeptiert werden.
    04: Neue Verbindungen auf den Router werden von allen Interfaces außer dem WAN-Port (ether1-gateway) akzeptiert.
    05: Pakete, die zu bestehenden Verbindung gehören, werden akzeptiert.
    06+07: Damit wird die Internet-Verbindung erlaubt:
    Neue und zu bestehenden Verbindungen gehörenden Pakete werden in Richtung Internet erlaubt. Aus dem Internet werden nur Pakete, die zu bestehenden Verbindungen gehören, erlaubt.
    08+09: Hier wird beispielhaft eine Firewall Konfig dargestellt, die aus VLAN10 den Zugriff auf VLAN20 erlaubt, aber nicht umgekehrt. Dazu werden alle Pakete von VLAN10 nach VLAN20 weitergeleitet, aber nur zu bestehenden Verbindungen gehörende Pakete von VLAN20 nach VLAN10 - ähnlich der Firewall-Konfiguration für den WAN-Port.

    Damit ist die Konfiguration vom ersten RB951G abgeschlossen. Über P#2 wird ein weiterer RB951G angeschlossen, der über den ersten RB951G seinen Internet-Zugang bekommt und seinerseits die VLANs an seinen eth-Ports und den virtuellen APs zur Verfügung stellt.

    VG
     
  2. CapFloor

    CapFloor Moderator

    Registriert seit:
    9. August 2010
    Beiträge:
    3.373
    Punkte für Erfolge:
    160
    Hi,
    hier nun die Konfiguration des zweiten RB951G. Dieser wird als Multi-SSID AP genutzt, bei dem alle fünf Ports als Switch konfiguriert sind. Ich benutze hier den Port 1 als Master-Port des Switches, da das der einzige Port ist, der PoE fähig ist. Wenn man PoE nicht benutzen will, kann man auch den Port 1 einfach zum Default Master-Port 2 hinzufügen...

    P#1 wird als VLAN Trunk zur Verbindung mit dem ersten RB951G genutzt. Um P#1 "normal" nutzen zu können, muss in der Firewall das Natten auf diesem Port abgeschaltet werden.

    In der Konfig taucht auch das VLAN30 auf. Für dieses Beispiel ist das nicht relevant: Denn ich benutze diesen AP nicht nur zusammen mit dem ersten RB951G, sondern auch mit Routern anderer Hersteller, die auch eine andere VLAN Konfiguration enthalten, z.B. ein VLAN30.

    RB951G #2:
    Es beginnt wieder mit der Switch-Konfiguration.
    Code:
    /interface ethernet switch port
    set 0 default-vlan-id=1 vlan-mode=check
    set 1 default-vlan-id=10 vlan-header=always-strip vlan-mode=fallback
    set 2 default-vlan-id=1 vlan-header=always-strip vlan-mode=fallback
    set 3 default-vlan-id=30 vlan-header=always-strip vlan-mode=fallback
    set 5 vlan-mode=fallback
    
    /interface ethernet switch vlan
    add independent-learning=yes ports=ether1-master,switch1-cpu,ether3-slave \
        switch=switch1 vlan-id=1
    add independent-learning=yes ports=ether1-master,switch1-cpu,ether2-slave \
        switch=switch1 vlan-id=10
    add independent-learning=yes ports=ether1-master,switch1-cpu switch=switch1 \
        vlan-id=20
    add independent-learning=yes ports=ether1-master,switch1-cpu,ether4-slave \
        switch=switch1 vlan-id=30
    
    /interface ethernet switch port
    set 0 default-vlan-id=1 vlan-mode=check
    set 1 default-vlan-id=10 vlan-header=always-strip vlan-mode=fallback
    set 2 default-vlan-id=1 vlan-header=always-strip vlan-mode=fallback
    set 3 default-vlan-id=30 vlan-header=always-strip vlan-mode=fallback
    set 5 vlan-mode=fallback
    Ohne Multi-SSIDs und deren Verknüpfung mit den VLANs im Switch könnte hier die Konfiguration abgeschlossen werden. Dieser RB951G würde dann als 5-Port Switch mit vier VLANs funktionieren - ohne DHCP-Server für die VLANs.

    Äquivalent zum ersten RB951G werden nun die vier virtuellen APs angelegt und mit der VLAN-Konfiguration der 5 geswitchten Ports verbunden.
    Code:
    /interface wireless security-profiles
    add authentication-types=wpa-psk,wpa2-psk eap-methods="" \
        management-protection=allowed mode=dynamic-keys name=Home \
        supplicant-identity="" wpa-pre-shared-key=XXXX wpa2-pre-shared-key=\
        XXXX
    add authentication-types=wpa-psk,wpa2-psk eap-methods="" \
        management-protection=allowed mode=dynamic-keys name=Guest \
        supplicant-identity="" wpa-pre-shared-key=XXXX wpa2-pre-shared-key=\
        XXXX
    
    /interface wireless
    set [ find default-name=wlan1 ] band=2ghz-b/g/n disabled=no distance=indoors \
        frequency=auto l2mtu=2290 mode=ap-bridge name=wl-VLAN01 security-profile=\
        Home ssid=MioRio wireless-protocol=802.11
    add disabled=no l2mtu=2290 mac-address=4E:5E:0C:6E:F2:62 master-interface=\
        wl-VLAN01 name=wl-VLAN10 security-profile=Home ssid=VLAN10 \
        wds-cost-range=0 wds-default-cost=0
    add disabled=no l2mtu=2290 mac-address=4E:5E:0C:6E:F2:63 master-interface=\
        wl-VLAN01 name=wl-VLAN20 security-profile=Guest ssid=VLAN20 \
        wds-cost-range=0 wds-default-cost=0
    add disabled=no l2mtu=2290 mac-address=4E:5E:0C:6E:F2:64 master-interface=\
        wl-VLAN01 name=wl-VLAN30 security-profile=Guest ssid=Guests-Go-Here \
        wds-cost-range=0 wds-default-cost=0
    Zum Abschluss werden die virtuellen Interfaces (4 für die 4 VLANs) über den Switch gelegt und per Bridge mit den virtuellen APs verbunden. Im AP gibt es keine DHCP-Server, die IP-Adressvergabe geschieht im ersten RB951G. Es ist wichtig, die virtuellen Interfaces auf Basis der Root-Bridge zu definieren und nicht etwa direkt auf dem Master Port des Switches (hier Port 1), da ansonsten das Routen nicht richtig funktioniert.
    Code:
    /interface vlan
    add interface=br-local l2mtu=1594 name=brg-VLAN10 vlan-id=10
    add interface=br-local l2mtu=1594 name=brg-VLAN20 vlan-id=20
    add interface=br-local l2mtu=1594 name=brg-VLAN30 vlan-id=30
    
    /interface bridge port
    add bridge=br-local interface=wl-VLAN01
    add bridge=br-local interface=ether1-master
    add bridge=br-VLAN10 interface=brg-VLAN10
    add bridge=br-VLAN20 interface=brg-VLAN20
    add bridge=br-VLAN30 interface=brg-VLAN30
    add bridge=br-VLAN10 interface=wl-VLAN10
    add bridge=br-VLAN20 interface=wl-VLAN20
    add bridge=br-VLAN30 interface=wl-VLAN30
    
    /ip dhcp-client
    add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
        interface=br-VLAN10
    add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
        interface=br-VLAN20
    add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
        interface=br-VLAN30
    add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
        interface=br-local
    Dieser RB951G in Multi-SSID AP Konfiguration kann über Port 1 mit einem VLAN-fähigen Router verbunden werden, der die DHCP-Server für die VLANs zur Verfügung stellt ebenso wie den Internet-Zugang. Ein möglicher Kandidat dafür wäre der RB951G, dessen Konfiguration oben beschrieben ist.

    VG