Switch vs Router - má to vůbec smysl dělit?

V současnosti je ve správě sítí skupina zařízení Aktivní prvky, a v ní je většinou nadefinovaný jeden router, několik switchů a případně několik WiFi přístupových bodů. Celé to v podstatě dobře funguje.

Nedávno se vyjevil problém, jestli může (router) Mikrotik fungovat jako switch. Dneska to nejde nastavit - ale technicky tomu nic nebrání a ukázalo se, že by to bylo potřeba (z různých důvodů - třeba potřebuju někam zabudovat malý switch v VLANama).

Další problém jsou WiFi APčka - ty mají často více ethernetových portů a můžou dělat switch i router. Navíc jsou tu (integrované) GSM moduly. A taky jsou routery, která mají WiFi a měly by dělat i APčko.

Navíc je tu problematika “řízených” wifi sítí (CAPSMAN) - ten kontroler dneska běží na routeru - ale to vůbec nemusí tak být, ten CAPSMAN může běžet na úplně jiné krabičce.
Prakticky stejný problém je s VPN, která se dneska definuje manuálně, ale mohla by se nastavovat v systému. Taky to může běžet na krabičce, co dělá jenom VPN a s routerem nemá nic společného.

Problém není to technicky zprovoznit, ale vymyslet, jak to jednoduše a elegantně definovat.

Napadlo mne, jestli to dělení na Router, Switch a AP není nesmysl. V podstatě by měl stačit typ “Aktivní prvek”, kde by se:

  • Nastavil nějaký typ (Mikrotik, EdgeCore), případně podtyp (CAP/CRS/CSS u Mikrotiku, 2100 atd. u EdgeCore)
  • Byly by tam checkboxy typu Router, Switch, AP, WiFi controler, VPN
  • Specifika ohledně switchování a routování by se stejně řešily až v rámci portů

Já myslím, že by to nebylo špatné řešení.

V druzích zařízení by byl “Aktivní prvek” sítě a v něm by teprve byly checkboxy Router, Switch AP, WiFi controler, VPN, …

Ano, bude to nutné takto udělat, jen bych potom prohlížeč aktivních prvků filtrovat spodními záložkami, aby se dalo zafiltrovat v seznamu Vše, Router, Switche, WiFi AP, WiFi controler atd. Přitom jedno zařízení by potom mohlo být součástí více filtrů.

Příklad konfigurace, která udělá switch z malého Mikrotiku hEX S (5eth+1sfp) :

  • fungují vlany i hybridní porty (např. pro WiFi AP-čka)
[nosek@Mikrtoik-SW-3] > export
# jul/05/2021 16:06:42 by RouterOS 6.48.3
# software id = TKM9-TC5D
#
# model = RB760iGS
# serial number = E1F10EC08A54
/interface bridge
add comment="Management aktivnich prvku (LM)" fast-forward=no name=IFB_VLAN2
add comment="Kamerovy system (LM)" fast-forward=no name=IFB_VLAN3
add comment="Management WiFi (LM)" fast-forward=no name=IFB_VLAN4
add comment="Stara sit" fast-forward=no name=IFB_VLAN5
add comment="Servery (LM)" fast-forward=no name=IFB_VLAN6
add comment="Spravci site (LM)" fast-forward=no name=IFB_VLAN7
add comment="Tiskarny (LM)" fast-forward=no name=IFB_VLAN8
add comment="Elektronika (LM)" fast-forward=no name=IFB_VLAN9
add comment="Uzivatele ETH (LM)" fast-forward=no name=IFB_VLAN101
add comment="Uzivatele WiFi (LM)" fast-forward=no name=IFB_VLAN102
add comment="Hoste ETH (LM)" fast-forward=no name=IFB_VLAN201
add comment="Hoste WiFi (LM)" fast-forward=no name=IFB_VLAN202
add admin-mac=2C:C8:1B:63:34:88 auto-mac=no comment=defconf name=bridge
/interface vlan
add interface=ether1 name=IFV_ether1_2 vlan-id=2
add interface=ether1 name=IFV_ether1_4 vlan-id=4
add interface=ether1 name=IFV_ether1_9 vlan-id=9
add interface=ether1 name=IFV_ether1_101 vlan-id=101
add interface=ether1 name=IFV_ether1_102 vlan-id=102
add interface=ether1 name=IFV_ether1_202 vlan-id=202
add interface=ether5 name=IFV_ether5_4 vlan-id=4
add interface=ether5 name=IFV_ether5_102 vlan-id=102
add interface=ether5 name=IFV_ether5_202 vlan-id=202
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp ranges=192.168.88.10-192.168.88.254
/port
set 0 name=usb1
/interface bridge port
add bridge=IFB_VLAN2 interface=IFV_ether1_2
add bridge=IFB_VLAN4 interface=IFV_ether1_4
add bridge=IFB_VLAN9 interface=IFV_ether1_9
add bridge=IFB_VLAN101 interface=IFV_ether1_101
add bridge=IFB_VLAN102 interface=IFV_ether1_102
add bridge=IFB_VLAN202 interface=IFV_ether1_202
add bridge=IFB_VLAN4 interface=IFV_ether5_4
add bridge=IFB_VLAN102 interface=IFV_ether5_102
add bridge=IFB_VLAN202 interface=IFV_ether5_202
add bridge=IFB_VLAN101 interface=ether2 pvid=101
add bridge=IFB_VLAN101 interface=ether3 pvid=101
add bridge=IFB_VLAN9 interface=ether4 pvid=9
add bridge=IFB_VLAN4 interface=ether5 pvid=4
add bridge=IFB_VLAN2 interface=sfp1 pvid=2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add interface=ether1 list=LAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=sfp1 list=LAN
/ip address
add address=10.60.2.12/24 interface=IFB_VLAN2 network=10.60.2.0
/ip dns
set allow-remote-requests=yes servers=10.60.2.1
/ip firewall filter
add action=drop chain=forward comment="DROP ALL" disabled=yes
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid disabled=yes
add action=drop chain=input comment="defconf: drop all not coming from LAN" disabled=yes in-interface-list=!LAN
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related disabled=yes
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked disabled=yes
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" disabled=yes dst-address=127.0.0.1
add action=accept chain=forward comment="defconf: accept in ipsec policy" disabled=yes ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" disabled=yes ipsec-policy=out,ipsec
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked disabled=\
    yes
add action=accept chain=forward comment="Povoleni navazanych spojeni odkudkoliv" connection-state=established,related
add action=accept chain=forward comment="Povoleni prichozich dst-nat" connection-nat-state=dstnat
add action=accept chain=forward comment="Povoleni spravcu site vsude" in-interface=IFB_VLAN7
add action=accept chain=forward comment="Servery (LM) <-- Uzivatele ETH (LM)" in-interface=IFB_VLAN101 out-interface=IFB_VLAN6
add action=accept chain=forward comment="Servery (LM) <-- Uzivatele WiFi (LM)" in-interface=IFB_VLAN102 out-interface=IFB_VLAN6
add action=accept chain=forward comment="Tiskarny (LM) <-- Uzivatele ETH (LM)" in-interface=IFB_VLAN101 out-interface=IFB_VLAN8
/ip route
add distance=1 gateway=10.60.2.1
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=10.60.2.0/24,10.60.7.0/24 port=30080
set ssh address=10.60.2.0/24,10.60.7.0/24 port=30022
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Prague
/system identity
set name=KC5666-SW-3
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN