Impostare il Roaming WiFi con wpa

Probabilmente si avrà bisogno di firmware non-free disponibile su di una chiavetta USB per fare l'installazione. Fare riferimento a firmware non-free deb su di una chiavetta.

Panoramica

wpa-roaming è un metodo con il quale si possono trovare e ci si può connettere a reti wireless con o senza ambiente grafico.

Il risultato della seguente configurazione è che se un cavo ethernet non è collegato, wlan0 prende la precedenza e connette il PC alla rete wireless preferita oppure ad una rete wireless aperta e disponibile oppure ad una rete wireless predeterminata. Se si collega un cavo di rete, la connessione di rete cablata spegne immediatamente l'accesso WiFi ed eth0 quindi si connette alla rete cablata. Scollegando il cavo di rete la connessione wireless verrà di nuovo ed immediatamente resa disponibile.

Impostare la configurazione di rete

Come root adattare il file /etc/network/interfaces in modo che somigli a questo. (il nome dell'interfaccia può cambiare):

# The loopback network interface
auto lo
iface lo inet loopback


#Added by user
allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa-roam.conf

#this line must always be here
iface default inet dhcp

wpa_supplicant necessita di un file .conf, wpa-roam.conf

cp /usr/share/doc/wpasupplicant/examples/wpa-roam.conf /etc/wpa_supplicant/wpa-roam.conf

Utilizzare un editor di testi per aprire il file

<editor> /etc/wpa_supplicant/wpa-roam.conf

Togliere il commento dalla linea 30 (rimuovere il #). Questo deve essere fatto altrimenti le configurazioni non verranno salvate nel file:

update_config=1

Per impostare un portatile oppure un desktop che necessita soltanto di avere l'accesso immediato ad una rete sicura, togliere il commento alle linee (rimuovere i #), WEP o WPA-WPA2PSK come richiesto:

esempio WEP:

network={
	ssid="debian" #Example WEP Network
	key_mgmt=NONE
	wep_key0=6162636465
	wep_tx_keyidx=0
}

esempio WPA:

network={
	ssid="aptosid_Worldwide" #Example WPA Network
	psk="mysecretpassphrase"
}

Il prossimo passo mette in sicurezza wpa-roam.conf da accessi non desiderati. Questo è necessario dal momento che le chiavi segrete delle reti private vengono salvate in questo file:

chmod 600 /etc/wpa_supplicant/wpa-roam.conf

Attivare la connessione wireless

ifup wlan0

Quindi controllare se si è connessi ad una rete:

wpa_cli status

L'output dovrebbe assomigliare a questo:

Selected interface 'wlan0'
bssid=94:0c:6d:aa:f4:42
ssid=aptosid_Melbourne
id=3
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.1.102

Se non si vedono numeri accanto a ip_address= non si è connessi quindi ricontrollare le configurazioni terminando per prima cosa wlan0:

wpa_action wlan0 stop

In caso si necessiti di configurazioni di rete specializzate vedere qui

Per abilitare lo scambio fra reti cablate e wireless

Per prima cosa vedere Scambiare fra cavo e wireless in quanto, se non impostato correttamente, lo scambio e la connessione alla rete non avverrà.

Dopo aver impostato ifplugd la configurazione finale dovrebbe assomigliare a questa:

auto lo
iface lo inet loopback

# governed by ifplugd ... do not use allow-hotplug or auto options
iface eth0 inet dhcp

#Added by user
allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa-roam.conf

#this line must always be here
iface default inet dhcp

Utilizzare wpa-roam.conf con configurazioni di rete specificate manualmente

Con l'aiuto di IDString e Priority si può indicare verso quale rete il PC si connette all'avvio. La priorità più alta è 1000, la più bassa è 0. Si deve anche aggiungere id_str a /etc/network/interfaces.

La sintassi per /etc/network/interfaces.

La prima è per la connessione a server DHCP, la seconda è per gli indirizzi ad IP fisso. Per modificare le impostazioni:

# id_str="home_dhcp"
iface home_dhcp inet dhcp

#this line must always be here
iface default inet dhcp

# id_str="home_static"
iface home_static inet static

        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0

        broadcast 192.168.0.255
        gateway 192.168.0.1
Esempi pratici

Se si vuole essere connessi automaticamente alla rete wireless di casa quando si è a casa, assegnare ad IDString "home" e priorità "15". Se si è in viaggio e si vuole che il portatile si connetta ad ogni rete wireless libera e senza password disponibile, assegnare ad IDString "stalk" e priorità "1" (molto bassa). Per favore controllare se la connessione è legale e disconnettersi se è chiaramente non impostata per essere gratuita.

Esempi in /etc/network/interfaces:

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa-roam.conf

#this line must always be here
iface default inet dhcp

iface home inet dhcp
iface stalk inet dhcp

Esempio /etc/wpa_supplicant/wpa-roam.conf (SSID e password sono cambiate oppure soltanto spiegate):

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="my_ssid"
        scan_ssid=1
        psk=123ABC  ##here comes the passphrase in hexadecimal code!!
#       psk="password_in_ascii"   ##you dont need to
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=TKIP
        auth_alg=OPEN
        priority=15
        id_str="home"
}

network={
        ssid=""
        scan_ssid=1
        key_mgmt=NONE
        auth_alg=OPEN
        priority=1
        disabled=1   ## no automatic connection, one needs wpa_cli or wpa_gui
        id_str="stalk"
}

Con "disabled=1" non sarete connessi automaticamente ad un blocco di rete già definito (open WLAN), si deve inizializzare il roaming attraverso wpa_gui oppure wpa_cli. Per il roaming automatico non utilizzare l'opzione oppure commentare la linea con l'opzione "disabled" utilizzando un #.

Crittografia WEP

Se si vogliono aggiungere reti criptate WEP al file wpa-roam.conf in maniera permanente, la sintassi da usare è:

network={
	ssid="example wep network"
	key_mgmt=NONE
	wep_key0="abcde"
	wep_key1=0102030405
	wep_tx_keyidx=0
}

Note

1. Facile da riutilizzare

Una volta impostata, si può utilizzare la configurazione su altri portatili o desktop con schede WLAN. È sufficiente copiare /etc/network/interfaces (modificare il nome dell'interfaccia se necessario) e /etc/wpa_supplicant/wpa-roam.conf nel nuovo PC. Non c'è bisogno di "installare" niente dopo questo passaggio.

2. Backup

È buona idea fare il backup di /etc/network/interfaces e /etc/wpa_supplicant/wpa-roam.conf, ma criptare il backup in quanto contiene informazioni sensibili.

Un buon metodo per fare un backup sicuro e criptare i file di configurazione è quello di utilizzare tar e gpg. Come root:

tar -cf- /etc/network/interfaces /etc/wpa_supplicant/wpa-roam.conf  |  gpg -c > backup_name.tar.gpg

Adesso un file è stato creato nella $ HOME:
backup_name.tar.gpg

Per mostrare il contenuto del file backup_name.tar.gpg:

gpg -d -o - backup_name.tar.gpg  | tar vtf -

Per estrarre e decrittare il contenuto del file backup_name.tar.gpg:

gpg -d -o - backup_name.tar.gpg  | tar vxf -
3. SSID nascosti

Gli SSID nascosti vengono rilevati quando viene definito scan_ssid=1 nel blocco rete.

Sicurezza di base per wireless modem/router

Dove si ha il controllo del modem/router wireless, ci sono poche regole di base da implementare per proteggere la rete interna da incursioni.

Scelte di base del protocollo
Passphrase/password

Per una passphrase/password difficile da indovinare ed impossibile da memorizzare utilizzare pwgen in un terminale (leggere anche: man pwgen):

$ pwgen -s 63 1
VltnfGmGKXovVv2rmrCFFXBZ55Mij5bA6WytVJnVoKUqRn6dfjldG6MBrRo0Cdi

Senza la -s si ottengono password di tipo parlante, tuttavia è improbabile che si voglia ottenere questo:

$ pwgen 8 3
Sooxae2s Niew9ugh Hi7eeloo

Una volta che si è generata la passphrase/password memorizzarla in un file di testo in un dispositivo USB ed applicarla ad altri computer che utilizzano la stessa rete wireless. Non archiviare la passphrase/password nel computer.

Esempio di una configurazione finale di router:
Version: WPA2-PSK
Encryption: AES
PSK Password: VltnfGmGKXovVv2rmrCFFXBZ55Mij5bA6WytVJnVoKUqRn6dfjldG6MBrRo0Cdi
Content last revised 21/08/2012 1620 UTC