Perché isolare i client WiFi?
Perché in una rete aperta, o anche solo condivisa con gli ospiti, il vicino di tavolo è a un passo dal tuo smartphone: condivisioni di file, stampanti, servizi lasciati aperti. Con l’isolamento attivo l’access point non inoltra il traffico da un client wireless all’altro: ognuno vede solo il router e internet.
Come si attiva con il pacchetto wifi di RouterOS 7?
Il pacchetto wifi raccoglie le impostazioni in profili riutilizzabili. Quella che ci interessa sta nel datapath:
/interface wifi datapath add name=dp-ospiti bridge=bridge-ospiti client-isolation=yes
/interface wifi configuration add name=cfg-ospiti ssid="Ospiti" mode=ap \
datapath=dp-ospiti security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="cambiami"
/interface wifi set [find default-name=wifi1] configuration=cfg-ospiti disabled=no
La stessa configurazione si usa con il CAPsMAN del pacchetto wifi: si assegna cfg-ospiti agli access point tramite le regole di provisioning, e tutti gli AP che la ricevono isolano i client.
/interface wifi capsman set enabled=yes interfaces=bridge-ospiti
/interface wifi provisioning add action=create-dynamic-enabled master-configuration=cfg-ospiti \
supported-bands=2ghz-ax,2ghz-n,5ghz-ax,5ghz-ac
E con il vecchio pacchetto wireless?
Sugli apparati che usano ancora wireless, l’isolamento sul singolo access point si ottiene togliendo il default forwarding all’interfaccia:
/interface wireless set [find default-name=wlan1] default-forwarding=no
Con il CAPsMAN “storico” (v1, menu /caps-man) era il datapath, come nell’articolo originale del 2015:
/caps-man datapath set [find name=datapath1] client-to-client-forwarding=no
L’isolamento vale anche fra access point diversi?
È il punto su cui si cade più spesso. client-isolation impedisce il traffico fra client dello stesso access point. Se gli AP inoltrano il traffico localmente nel loro bridge (local forwarding), due client su due AP diversi possono ancora vedersi passando dalla rete cablata.
Per chiudere anche quella strada ci sono due possibilità:
- far passare tutto il traffico degli ospiti dal router centrale, in una VLAN dedicata, e filtrare lì;
- usare l’horizon del bridge sulle porte verso gli AP: le porte con lo stesso valore di horizon non si scambiano traffico.
/interface bridge port set [find interface=ether2] horizon=1 /interface bridge port set [find interface=ether3] horizon=1
Con horizon=1 su entrambe, ciò che entra da ether2 non esce da ether3 e viceversa: gli access point parlano solo con il router.
Come verifico che funzioni?
Con due smartphone sulla rete ospiti: dall’uno si prova un ping all’indirizzo dell’altro (lo si legge nei lease DHCP). Con l’isolamento attivo il ping non risponde, mentre la navigazione funziona.
/ip dhcp-server lease print where server=dhcp-ospiti
/interface wifi registration-table print
Domande frequenti
Dove si attiva il client isolation in RouterOS 7?
Con il pacchetto wifi si attiva nel datapath, con client-isolation=yes, e il datapath si assegna alla configurazione dell’interfaccia o del CAPsMAN.
Il client isolation blocca anche l’accesso a internet?
No. Il client isolation impedisce solo il traffico diretto fra client wireless; il traffico verso il router e quindi verso internet passa normalmente.
Due client su access point diversi sono isolati?
Non necessariamente. Il client isolation agisce sul singolo access point; per isolare anche client collegati ad AP diversi servono una VLAN dedicata filtrata dal router oppure l’horizon del bridge sulle porte verso gli AP.
Che cosa faceva client-to-client-forwarding?
Era l’opzione del datapath del CAPsMAN storico di RouterOS 6 (menu /caps-man): impostata a no impediva ai client dello stesso access point di comunicare fra loro.
Questo howto aggiorna a RouterOS 7 un articolo del 2015 sul mio vecchio blog wirelessguru.it, ormai offline.



