
Il mio router principale OpenWrt gestisce 3 reti separate, ognuna con i propri punti di accesso Wi-Fi, IP e regole firewall:
Fin qui tutto bene: non è compito di questo articolo spiegare come si ottiene la configurazione sopra (che è comunque una configurazione delle reti Wi-Fi piuttosto standard, con propri DHCP e configurazioni specifiche sul firewall).
Il problema è estendere queste 3 reti sugli access point sparsi per casa/giardino in modo da mantenere inalterate tutte le regole. Se un dispositivo IOT che si trova in giardino si connette alla sua Wi-Fi della rete "THINGS" deve mantenere le sue limitazioni sopra, anche se si sta connettendo a un access point (a sua volta connesso via LAN al router principale).
Per risolvere il problema ci viene in aiuto il sistema delle VLAN (sistema supportato da molti router, non solo OpenWrt).
Il sistema delle VLAN permette di suddividere la propria LAN in varie "sotto reti virtuali", ognuna vista come una rete a se stante (e quindi con le proprie regole). Quando un pacchetto di dati gira per i cavi di rete tra un dispositivo all'altro potrà appartenere a una di queste reti virtuali: per riconoscerlo si una un TAG applicato al pacchetto (il tag in genere è un semplice codice numerico). E' un sistema che deve ovviamente essere supportato da router/access point/switch (e in genere lo è).
Ogni punto di accesso Wi-Fi sarà a sua volta associato a una VLAN: in questo modo se un dispositivo si connette a quella rete Wi-Fi, i suoi pacchetti saranno instradati nella VLAN giusta, e taggati con il TAG specificato.
Ad esempio, ipotizziamo che le mie 3 reti abbiano TAG 1 (la rete standard), 3 (la rete THINGS) e 4 (la rete GUEST). Si, non ho usato il numero 2 (più sotto il motivo).
Quando il mio dispositivo IOT in giardino si connette alla rete Wi-Fi "THINGS" sull'access point in giardino viene taggato con il TAG 2. A quel punto se cerca di comunicare con il server MQTT, l'access point instraderà i pacchetti verso il router, passando dal cavo LAN che li connette (e girando magari tra vari switch), e tutti i pacchetti avranno l'etichetta "2".
Il router, che riconosce l'etichetta, collegherà correttamente i pacchetti alla VLAN "THINGS" e applicherà le regole relative. In questo caso le regole gli permettono di accedere al server MQTT, e quindi gli manderà i dati.
Vista la teoria, vediamo ora in pratica come si gestiscono le VLAN su OpenWrt, sia nella nuova versione DSA che nella vecchia (visto che a casa mia ho degli access point vecchi che per ora non voglio aggiornare).
OpenWRT 24 (DSA)
Per prima cosa si creano le VLAN. Ci sono vari sistemi per ottenere la stessa cosa (come si può vedere nelle guide e link che ho riferito in fondo), ma il sistema per me più veloce è questo.
Andiamo in Network > Interfaces e creiamo le interfacce che vogliamo (come per le normali reti), impostando per ognuna il dispositivo della VLAN relativo. Per la rete lan base dovremo usare il dispositivo "br-lan.1".
Alcuni screenshot per THINGS (mostro le impostazioni base e le impostazioni firewall giusto per far vedere che avrò inserito una sua zona per il firewall).
Network > Wireless, configurazione della rete THINGS (SSID: XXX-TH)
Network > Firewall, mostro la configurazione base delle zone (poi ci sono anche un sacco di traffic rules, ma qui non ci riguardano)
Abbiamo finito!
Per quanto riguarda gli access point, se sono DSA, la situazione è sostanzialmente la stessa per quanto riguarda definizione di device, vlan, e reti wireless.
Ovviamente cambiano le interfacce (presumibilmente utilizzerete il DHCP server del router centrale per assegnare le IP, e il firewall è gestito da lui), ma questi sono aspetti che riguardano la normale estensione di rete via access point (o "dumb access point") che potete vedere altrove (nei link riferiti in fondo se ne parla).
Passiamo ora agli OpenWrt vecchi.
OpenWRT 23 e inferiori (non DSA)
La cosa che cambia di più è la definizione delle VLAN, che si fa in maniera molto diversa.
Si deve andare in Network > Switch per farla.
Bisogna considerare che qui la situazione è più complicata, perchè i vecchi OpenWRT (non mi è chiaro se sempre o solo in certe configurazioni) considerano anche la WAN con una particolare VLAN (taggata con "2", motivo per cui non ho usato quel TAG), e tra le porte visibili ci sono anche le CPU (cioè il router stesso).
Senza addentrarci in troppi tecnicismi (che non ricordo più nemmeno io visto che sono cose fatte anni fa), considerate che la VLAN 1 è quella standard (e nel mio caso va bene li dov'è), la 2 "WAN" va lasciata e dovete aggiungere 3 e 4.
Tutte devono avere accesso alla CPU.
Nella mia configurazione specifica LAN4 è la porta WAN, e quindi li ci metto taggato solo la VLAN2 (come di default). Delle altre 4 porte ho configurato solo la prima, che è simile a quella sopra (qui non esiste l'*, ovvero il "Primary VLAN ID", che però in una configurazione cosi' semplice non è necessario).
Da notare che nel mio access point la WAN non la uso, e quindi probabilmente avrei potuto semplificare (ma non mi andava).
Anche la definizione delle interfacce cambia un po'. Premettiamo che conviene per prima cosa creare le reti WiFi da Interfaces > Wireless.
Fatto questo possiamo creare le varie interfacce per le 3 reti, considerando che in ognuna dovremo impostare nei "Physical settings" un bridge che connette la VLAN (che qui si chiama "eth.TAG") con la rispettiva interfaccia wireless "wlanX-Y". Ad esempio nel mio caso sotto per la rete THINGS ho fatto un bridge tra eth0.3 e wlan0-1 (l'accesso wireless per things configurato poco prima).
Metto gli screenshot (nel mio caso specifico THINGS è anche su una seconda wlan, per esigenze specifiche che qui possiamo ignorare. Inoltre, sempre per esigenze diverse dal focus di questo articolo, la rete LAN è impostata come Static address mentre Things è DHCP Client... cosi' vedete 2 esempi diversi).
Il resto è sostanzialmente come per le istruzioni precedenti.
Finito!
Riferimenti
Questo è tutto, se avete seguito tutto bene avete tutte le vostre reti correttamente gestite in ogni angolo di casa (e fuori).
Lascio diversi riferimenti interessanti dai quali ho attinto, ora e in passato, per capire come funzionava il tutto (e come aggiornare a DSA).
Articolo ufficiale su come estendere reti Wi-fi via AP
https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/bridgedap
Video relativo:
https://youtu.be/4t_S2oWsBpE
Tutorial conversione a DSA, utili gli esempi che spiegano il funzionamento di porte tagged / untagged / PVID:
https://openwrt.org/docs/guide-user/network/dsa/converting-to-dsa
Altro tutorial per il passaggio a DSA
https://openwrt.org/docs/guide-user/network/dsa/dsa-mini-tutorial
E video per il passaggio VLAN a DSA:
https://youtu.be/qeuZqRqH-ug
Video non ufficiale che spiega abbastanza bene la gestione VLAN su DSA:
https://youtu.be/p7EWTbZfBKo
Aggiungi un commento