Table of Contents

Configura una WLAN ospite utilizzando principalmente la riga di comando (con script di shell di esempio)

Questa pagina fornisce uno script che crea una rete ospite aggiuntiva e una nuova firewall zone ospite per il tuo dispositivo OpenWrt. Questo è tutto quello che serve per creare una rete WiFi ospite, che ha accesso solo a internet, ma non può accedere alla tua LAN.

Lo script non necessita di alcuna personalizzazione manuale per il tuo dispositivo (!), dato che ha solo un riferimento hard-coded (non modificabile) all'ovvia zona “fwd.dest=wan” (che sicuramente già esiste di default sul tuo router con OpenWrt).

Lo script non effettua l’ultimo (semplice) passaggio che permette di creare la configurazione del dispositivo radio per il WiFi (dato che è un semplice passaggio e inoltre richiede alcuni parametri personalizzati che sono più adatti ad una configurazione manuale nella web GUI che ad uno script. Quel passaggio manuale finale è comunque parte di questa descrizione.

Passo dopo passo

  1. Prenditi il tuo tempo per leggere questa intera pagina prima di cominciare qualunque configurazione. Cerca di farti almeno un’idea grezza di quello che il codice riportato sotto sta configurando.
  2. Copia l’intero blocco di codice seguente ( da “NET_ID=guest…includendo fino al finale ...commit) senza la necessità di nessun cambiamento o personalizzazione in un prompt dei comandi di SSH del tuo dispositivo OpenWrt. Infine premi invio. (Alternativamente se preferisci: crea e avvialo come shell script sul tuo dispositivo con OpenWrt).
  3. Appena fatto, apri la Web GUI del tuo router OpenWrt e vai alla sezione Wireless → http://192.168.1.1/cgi-bin/luci/admin/network/wireless e create manualmente un’ addizionale rete WiFi su una delle interfacce radio del vostro dispositivo:
    1. sulla scheda di configurazione “General Setup” inserisci un ESSID ragionevole per il tuo WiFi ospite
    2. poi (per favore presta particolare attenzione) spunta la nuova rete “guest” direttamente sotto e non spuntare la tua rete “LAN”. La rete “guest” è quella appena creata con lo script di sotto e la spunta collegherà la tua WiFi ospite alla nuova firewall zone ospite.
    3. sulla scheda Wireless Security scegli preferibilmente la crittografia di tipo WPA2-PSK
    4. preferibilmente usa la cifratura “CCMP AES” e
    5. ora inserisci una buona password per la tua rete ospite nel campo Key
    6. e infine vai a “Save & Aplly” (potrebbero volerci 1-2 minuti per riavviare il tuo WiFi su dispositivi lenti).

Nota: Crea la rete WiFi come configurazione aggiuntiva sulla frequenza 2,4 o 5 GHz. Puoi anche creare 2 reti WiFi ospite per coprire entrambe le frequenze. Le nuove reti ospite condivideranno il canale/frequenza con la tua probabilmente già esistente LAN Wifi.

Il codice è stato creato/testato con successo con OpenWRT 18.06.xx

NET_ID="guest"
FW_ZONE="guest"
uci batch << EOF
set network.${NET_ID}=interface
set network.${NET_ID}.proto=static
set network.${NET_ID}.ipaddr=192.168.3.1
set network.${NET_ID}.netmask=255.255.255.0
set dhcp.${NET_ID}=dhcp
set dhcp.${NET_ID}.interface=${NET_ID}
set dhcp.${NET_ID}.start=100
set dhcp.${NET_ID}.leasetime=12h
set dhcp.${NET_ID}.limit=150
set firewall.${FW_ZONE}=zone
set firewall.${FW_ZONE}.name=${FW_ZONE}
set firewall.${FW_ZONE}.network=${NET_ID}
set firewall.${FW_ZONE}.forward=REJECT
set firewall.${FW_ZONE}.output=ACCEPT
set firewall.${FW_ZONE}.input=REJECT 
set firewall.${FW_ZONE}_fwd=forwarding
set firewall.${FW_ZONE}_fwd.src=${FW_ZONE}
set firewall.${FW_ZONE}_fwd.dest=wan
set firewall.${FW_ZONE}_dhcp=rule
set firewall.${FW_ZONE}_dhcp.name=${FW_ZONE}_DHCP
set firewall.${FW_ZONE}_dhcp.src=${FW_ZONE}
set firewall.${FW_ZONE}_dhcp.target=ACCEPT
set firewall.${FW_ZONE}_dhcp.proto=udp
set firewall.${FW_ZONE}_dhcp.dest_port=67-68
set firewall.${FW_ZONE}_dns=rule
set firewall.${FW_ZONE}_dns.name=${FW_ZONE}_DNS
set firewall.${FW_ZONE}_dns.src=${FW_ZONE}
set firewall.${FW_ZONE}_dns.target=ACCEPT
add_list firewall.${FW_ZONE}_dns.proto=tcp
add_list firewall.${FW_ZONE}_dns.proto=udp
set firewall.${FW_ZONE}_dns.dest_port=53
EOF
uci commit network
uci commit dhcp
uci commit firewall
service network reload
service dnsmasq restart
service firewall restart

Spiegazione di questo codice di configurazione

(tutte le personalizzazioni saranno visibili in seguito nella web GUI)

utente Saturn: la forward rule per la guest firewall zone nella configurazione sopra non ha fuzionato per me. Dopo aver seguito la guida di sopra, ho fatto i seguenti cambiamenti in /etc/config/firewall: linea originale: “config forwarding 'guest_fwd'” linea modificata: “config forwarding”

Personalizzazioni

Ci sono infinite opzioni di personalizzazione.

config rule
    option name 'Guest-Block-Cable-Modem'
    option src 'guest'
    option dest 'wan'
    option dest_ip '192.168.100.1'
    option family 'ipv4'
    option proto 'all'
    option target 'REJECT'

IPv6

Per abilitare IPv6 sulla rete ospite:

option dhcpv6 'server'
option ra 'server'

Rollback Manuale

Se desideri eliminare la personalizzazione creata da questo script, apri semplicemente la GUI di amministrazione web di OpenWrt

Uso su richiesta

Potresti non avere ospiti in giro per casa tutta la settimana.
Non devi cancellare l'intera configurazione quando i tuoi aspiti saranno andati via. Puoi semplicemente entrare nella web GUI di OpenWRT e abilitare (enable) o disabilitare (disable) a piacimento la WiFi ospite.