VLAN pro IP kamery: MikroTik CCR2004, Omada switch a firewall jen do internetu

Devět venkovních IP kamer bylo ve stejné síti jako počítače, NAS a servery. Kamery jsou typická zařízení, kterým se nedá plně věřit: běží na firmwaru výrobce a komunikují s jeho cloudem. Oddělil jsem je proto do vlastní VLAN. Mají přístup jen do internetu kvůli aplikaci, do domácí sítě se nedostanou. Celé řešení stojí na routeru MikroTik CCR2004, přechodovém switchi MikroTik CRS309 a switchi TP-Link Omada. Aplikace pro kamery přitom funguje dál z Wi-Fi i z mobilních dat.

Výchozí stav a cíl

  • 9 kamer TP-Link Tapo C310 zapojených kabelem: 8 ve switchi TP-Link SG2210XMP-M2 (porty 1–8), jedna přímo v routeru.
  • Router MikroTik CCR2004-16G-2S+, všechny porty v jednom bridge, bez VLAN. DHCP a firewall na routeru.
  • Mezi routerem a Omada switchem je switch MikroTik CRS309 s výchozí konfigurací.
  • Omada switch spravovaný z Omada Software Controlleru, viz Omada Software Controller v LXC na Proxmoxu.

Cíl: kamery ve VLAN 20 s vlastní sítí a DHCP, provoz z kamer jen do internetu, z domácí sítě na kamery přístup zachovat (aplikace a později nahrávání na vlastním serveru).

vlan ip kamery schema

Jak VLAN projde sítí

MístoNastavení
Omada switch, porty 1–8access port, VLAN 20 bez tagu (kamery o VLAN nic nevědí)
Omada switch, uplinktrunk: domácí síť bez tagu, VLAN 20 s tagem
MikroTik CRS309beze změny, s vypnutým VLAN filtrováním propouští tagované rámce
Router, port k CRS309VLAN 20 tagovaná
Router, port s devátou kamerouVLAN 20 bez tagu (PVID 20)
Router, rozhraní VLAN 20brána, DHCP a firewall pro kamery

Zajímavý je přechodový switch. CRS309 má výchozí konfiguraci s vlan-filtering=no a v tomto režimu předává tagované rámce beze změny. Nemusel jsem na něm tedy nic nastavovat. Až budu zapojovat další switch, nastavím VLAN na obou CRS309 pořádně.

Router MikroTik

Bezpečnost změn: záloha a Safe Mode

Zásah do bridge je nejrizikovější část. Špatné nastavení může odříznout přístup k routeru. Proto jsem nejdřív udělal export konfigurace a zapnul Safe Mode (přepínač ve WebFigu). Pokud se spojení přeruší, router změny sám vrátí.

/export file=pred_vlan20

Rozhraní VLAN, adresa a DHCP

V ukázce používám dokumentační síť 198.51.100.0/24:

/interface vlan add name=vlan20-kamery vlan-id=20 interface=bridge1 comment="Kamery"
/ip address add address=198.51.100.1/24 interface=vlan20-kamery comment="Kamery"
/ip pool add name=pool-kamery ranges=198.51.100.100-198.51.100.199
/ip dhcp-server add name=dhcp-kamery interface=vlan20-kamery address-pool=pool-kamery lease-time=1d
/ip dhcp-server network add address=198.51.100.0/24 gateway=198.51.100.1 dns-server=198.51.100.1 comment="Kamery"

Internet měla nová síť automaticky, protože pravidlo NAT používá seznam rozhraní WAN (masquerade out-interface-list=WAN) a platí pro jakoukoli vnitřní síť.

Firewall: kamery jen do internetu

/ip firewall filter add chain=input action=accept in-interface=vlan20-kamery protocol=udp dst-port=53,67 comment="Kamery: DNS a DHCP"
/ip firewall filter add chain=input action=accept in-interface=vlan20-kamery protocol=tcp dst-port=53 comment="Kamery: DNS TCP"
/ip firewall filter add chain=input action=drop in-interface=vlan20-kamery comment="Kamery: zbytek na router zakazat"
/ip firewall filter add chain=forward action=drop in-interface=vlan20-kamery out-interface-list=!WAN comment="Kamery: jen do internetu"

Pravidla v řetězci input jsou nutná. Stávající firewall povoloval přístup na router z domácí sítě (rozhraní bridge1), ale neměl závěrečné zakázání. Bez nich by se kamery dostaly i na správu routeru. Odpovědi na spojení z domácí sítě ke kamerám projdou díky obvyklému pravidlu, které povoluje navázaná spojení.

VLAN na portech bridge

/interface bridge vlan add bridge=bridge1 vlan-ids=20 tagged=bridge1,sfp-sfpplus2 untagged=ether4 comment="Kamery"
/interface bridge port set [find interface=ether4] pvid=20
/interface bridge set bridge1 vlan-filtering=yes

Po zapnutí vlan-filtering jsem ověřil, že funguje WebFig i správa Omada controlleru, a teprve pak vypnul Safe Mode. Teprve tím se změny uloží natrvalo. Tuhle past jsem málem minul: Safe Mode zůstal zapnutý i po ověření a nebýt kontroly, při zavření prohlížeče by se vše vrátilo. Kontrola tabulky VLAN:

/interface bridge vlan print

Omada switch

V controlleru jsem v site zvolil Network Config → LAN → Add:

  • Network Name: Kamery, VLAN: 20,
  • DHCP Server Device: None.

Controller pak upozorní, že síť je čistě L2 bez brány a DHCP. To je správně: bránu i DHCP zajišťuje MikroTik a VLAN k němu doputuje přes uplink. Kdybych jako DHCP server vybral switch, vytvořil by si v síti vlastní adresu a začal by směrovat, a to nechci.

V dalším kroku průvodce jsem vybral switch a porty 1–8. Shrnutí před potvrzením přesně ukázalo, co se stane: porty 1–8 jako access porty ve VLAN 20, porty 9–10 jako trunk s přidanou VLAN 20.

Jak kamery přimět k nové adrese

Devátá kamera v routeru dostala novou adresu prakticky hned. Osm kamer ve switchi ale drželo starou adresu z domácí sítě, se kterou se v nové VLAN nikam nedostaly, takže byly v aplikaci offline. Kamera si o novou adresu řekne až při obnovení pronájmu nebo po výpadku linky.

Hromadné vypnutí a zapnutí portů v controlleru je schované v úpravě konfigurace portů a riskoval bych přepsání dalších nastavení (PoE, rychlost). Nejjednodušší bylo restartovat switch z controlleru. Nastavení VLAN zůstalo, všechny linky spadly a znovu naběhly a kamery si do minuty vzaly nové adresy. Kamery mají vlastní napájecí adaptéry, takže se samy nerestartovaly. Kontrola:

/ip dhcp-server lease print where server=dhcp-kamery

Všech 9 kamer mělo adresu z nové sítě a v aplikaci Tapo byly online z domácí Wi-Fi i z mobilních dat. Aplikace se ke kamerám připojuje přes cloud výrobce, takže jí oddělení od domácí sítě nevadí.

Bonus: ochrana LAN před příchozím provozem z internetu

Při procházení firewallu jsem zjistil, že v řetězci forward chybí obvyklé pravidlo, které zahazuje nová spojení z internetu do vnitřní sítě. Díky CGNAT na IPv4 to zatím nevadilo, ale je to levná pojistka. IPv6 má vlastní firewall, viz Domácí server za CGNAT s IPv6 a Cloudflare.

/ip firewall filter add chain=forward action=drop in-interface-list=WAN connection-state=new connection-nat-state=!dstnat comment="Blokuj novy provoz z internetu do LAN"

Pravidlo propustí případné přesměrované porty (dst-nat) a odpovědi na spojení zevnitř. Přidal jsem ho na konec řetězce, za povolení navázaných spojení a zahození neplatných.

Shrnutí

  • Kamery jsou ve vlastní VLAN, do internetu se dostanou, do domácí sítě ani na správu routeru ne.
  • Switch MikroTik s vypnutým VLAN filtrováním propouští tagované rámce, takže přechodový switch nemusel být hned nastavený.
  • V Omadě stačí síť bez DHCP serveru a access porty. Bránu, DHCP i firewall dělá MikroTik.
  • Změny bridge dělat v Safe Mode a nezapomenout ho vypnout.
  • Zařízení po přesunu do VLAN potřebují výpadek linky, aby si vzala novou adresu. Pomůže restart switche.

Související články: Plán IP adres a statické DHCP na MikroTiku, Adopce Omada AP bez výpadku Wi-Fi a Aktualizace a zálohování Omada controlleru.