Configurazione di una connessione wireless

Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"

In questa guida ci occupiamo della configurazione manuale di una connessione wireless, senza l'uso di alcun network manager.

È sconsigliata per portatili che potrebbero doversi connettere a molte reti wireless diverse, in quanto sarebbe necessario modificare manualmente il file di configurazione ogni volta che se ne presenta una nuova.

Per disabilitare la gestione tramite file di configurazione, si rimanda alla sezione #Network management.

Preparazione del sistema

Una volta installati i driver per la propria scheda wireless (Driver wireless) e, se necessario, il firmware, bisogna configurare la connessione alla propria rete.

Iniziamo con l'installare alcuni pacchetti che ci saranno utili, con privilegi di amministrazione basta:

# apt install net-tools wpasupplicant wireless-tools

Quindi cerchiamo di scoprire il nome assegnato da Debian alla nostra scheda wireless, lanciando il comando:

# iwlist scan

che dovrebbe restituire un output simile a questo:

lo Interface doesn't support scanning.
eth0 Interface doesn't support scanning.
wlan0 Interface doesn't support scanning. network is down

oppure:

lo Interface doesn't support scanning.
eth0 Interface doesn't support scanning.
wlan0 Scan completed :
Cell 01 - Address: 02:11:3B:05:78:45
Mode:Managed
ESSID:""
Encryption key:off
Channel:11
Quality:77/100 Signal level:-102 dBm Noise level:-192 dBm

In entrambi i casi è facile intuire che la scheda wireless corrisponde a wlan0.

Rete Wireless protetta con WEP

  ATTENZIONE
Il metodo di protezione offerto da questo protocollo è obsoleto e ormai facilmente superabile perfino con un brute-force attack, a prescindere quindi dalla scelta della chiave. Si raccomanda pertanto di ricorrere almeno a una protezione WPA se è possibile.


Se la vostra rete wireless è protetta con una chiave WEP, per rendere attivo il collegamento wireless della nostra scheda sarà sufficiente modificare il file /etc/network/interfaces in questo modo:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Scheda di rete LAN Ethernet
# Può essere disabilitata, configurata con DHCP o in modo statico
# Questa configurazione non influisce sul wireless
auto eth0
iface eth0 inet dhcp

# Scheda wireless con DHCP
auto wlan0
iface wlan0 inet dhcp
wireless-channel 11
wireless-essid NOME_NOSTRA_RETE_WIRELESS
wireless-key 0f1456db9876ab15ce1222cb45

# Scheda wireless configurata con indirizzo statico
# Da utilizzare al posto della configurazione precedente, MAI insieme
auto wlan0
iface wlan0 inet static
address 192.168.1.111 # Mettere un IP coerente con la vostra rete
netmask 255.255.255.0
gateway 182.168.1.1
broadcast 192.168.1.255
wireless-channel 11
wireless-essid NOME_NOSTRA_RETE_WIRELESS
wireless-key 0f1456db9876ab15ce1222cb45

Riavviate il PC o, semplicemente, riavviate i servizi di rete:

# ifdown wlan0
# ifup wlan0

e controllate che tutto sia a posto:

# iwconfig wlan0

che restituirà qualcosa di simile a:

RT2500 Wireless ESSID:"NOME_NOSTRA_RETE_WIRELESS"
Mode:Managed Frequency=2.462 GHz Access Point: 02:11:3B:05:78:45
Bit Rate:54 Mb/s Tx-Power=-1
RTS thr:off Fragment thr:off
Encryption key:0f1456db9876ab15ce1222cb45 Security mode:open
Link Quality=74/100 Signal level=-31 dBm Noise level:-199 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Rete Wireless protetta con WPA

Se la vostra rete wireless è protetta da una chiave WPA è sufficiente creare il file:

# nano /etc/wpa_supplicant.conf

e fare in modo che contenga:

network={
        ssid="NOME_RETE_WIRELESS"
        psk="Chiave impostata nell'Access Point"
        key_mgmt=WPA-PSK
        proto=WPA
        }

Per motivi di sicurezza non è opportuno inserire in /etc/wpa_supplicant.conf la chiave in chiaro ma una chiave criptata. Per fare questo, eseguire il comando:

# wpa_passphrase NOME_RETE_WIRELESS

che vi chiederà la password della rete wireless, e poi restituirà qualcosa di simile a questo:

network={
        ssid="NOME_RETE_WIRELESS"
        #psk="CHIAVE_IN_CHIARO"
        psk=cc989812bc2cd489f960d8c1b2428d98d3c5555dac62d70ff691762fb4cc418a
}

a questo punto basta sostituire in /etc/wpa_supplicant.conf la riga:

psk="Chiave impostata nell'Access Point"

con la riga:

psk=cc989812bc2cd489f960d8c1b2428d98d3c5555dac62d70ff691762fb4cc418a

ovviamente la chiave criptata può essere diversa; notare inoltre che le virgolette non sono più necessarie.

Aggiungere anche la riga scan_ssid=1 per abilitare la scansione della rate, se l'access point è stato configurato in modo da tenere nascosto l'SSID:

network={
       ssid="NOME_RETE_WIRELESS"
       psk=cc989812bc2cd489f960d8c1b2428d98d3c5555dac62d70ff691762fb4cc418a
       scan_ssid=1
}

Per fare in modo che il wireless parta al boot è sufficiente modificare il file /etc/network/interfaces in questo modo:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Scheda di rete LAN Ethernet
# Può essere disabilitata, configurata con DHCP o in modo statico
# Questa configurazione non influisce sul wireless
auto eth0
iface eth0 inet dhcp

# Scheda wireless con DHCP
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B

# Scheda wireless configurata con indirizzo statico
# Da utilizzare al posto della configurazione precedente, MAI insieme
auto wlan0
iface wlan0 inet static
address 192.168.1.111 # Mettere un IP coerente con la vostra rete
netmask 255.255.255.0
gateway 182.168.1.1
broadcast 192.168.1.255
wireless-channel 11
pre-up wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B

Il comando:

pre-up

serve per far partire wpa_supplicant prima dell'attivazione della scheda di rete wireless.
Riavviate adesso il PC o, semplicemente, riavviate i servizi di rete:

# ifdown wlan0
# ifup wlan0

e controllate che tutto sia a posto:

# iwconfig wlan0

che restituirà qualcosa di simile a:

RT2500 Wireless ESSID:"NOME_NOSTRA_RETE_WIRELESS"
Mode:Managed Frequency=2.462 GHz Access Point: 02:11:3B:05:78:45
Bit Rate:54 Mb/s Tx-Power=-1
RTS thr:off Fragment thr:off
Encryption key:0f1456db9876ab15ce1222cb45 Security mode:open
Link Quality=74/100 Signal level=-31 dBm Noise level:-199 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Parametri WPA senza wpasupplicant.conf

Almeno a partire da Lenny (Debian 5) è possibile configurare wpa_supplicant direttamente dal file /etc/network/interfaces; per fare ciò sarà però necessario modificare un poco la sintassi. Rifacendomi all'esempio sopra riportato (nel caso con DHCP, ma vale la stessa cosa per un indirizzo statico), il file unico di configurazione andrebbe scritto nel modo seguente:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid NOME_RETE_WIRELESS
wpa-psk cc989812bc2cd489f960d8c1b2428d98d3c5555dac62d70ff691762fb4cc418a

evitando appunto la linea "pre-up wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B" e dunque l'utilizzo del file "etc/wpa_supplicant.conf. Alla fine i due metodi di configurazione sono da considerarsi equivalenti; sarà infine solo la filosofia dell'utente ad indicare quale metodo sia il migliore (c'è chi preferisce configurare un file in meno nel sistema operativo e chi preferisce avere un file di configurazione "dedicato" per ogni funzione del sistema). In ogni caso, come sempre, prima viene la conoscenza delle possibilità e poi si potrà decidere in tutta calma :-).

  Nota
È possibile che in alcune guide troverete la linea "wpa-driver wext" a seguire o a precedere le due citate; nonostante quest'opzione sia effettivamente necessaria, se la si tralascia è ciò che viene comunque selezionato per default: tanto vale allora dimenticarcela ;-).


Oltre alle opzioni "wpa-ssid" e "wpa-psk" (e "wpa-driver"), nel file /usr/share/doc/wpasupplicant/README.Debian.gz troverete tutte le altre possibilità che vi riportiamo qui sotto e utilizzabili a seconda dell'esigenza.

Element        Example Value            Description
=======        =============            ===========
wpa-ssid       plaintextstring          sets the ssid of your network

wpa-bssid      00:1a:2b:3c:4d:5e        the bssid of your AP

wpa-psk        0123456789......         your preshared wpa key. Use
                                        wpa_passphrase(8) to generate your psk
                                        from a passphrase and ssid pair

wpa-key-mgmt   NONE, WPA-PSK, WPA-EAP,  list of accepted authenticated key
               IEEE8021X                management protocols

wpa-group      CCMP, TKIP, WEP104,      list of accepted group ciphers for WPA
               WEP40

wpa-pairwise   CCMP, TKIP, NONE         list of accepted pairwise ciphers for
                                        WPA

wpa-auth-alg   OPEN, SHARED, LEAP       list of allowed IEEE 802.11
                                        authentication algorithms

wpa-proto      WPA, RSN                 list of accepted protocols

wpa-identity   myplaintextname          administrator provided username
                                        (EAP authentication)

wpa-password   myplaintextpassword      your password (EAP authentication)

wpa-scan-ssid  0 or 1                   toggles scanning of ssid with specific
                                        Probe Request frames

wpa-ap-scan    0 or 1 or 2              adjusts the scanning logic of
                                        wpa_supplicant

Network management

La configurazione di una connessione di rete (sia essa cablata o wireless) può essere compiuta anche attraverso applicazioni client-server che ne rendono più agevole la gestione, in particolare in caso di cambiamenti frequenti.
A tal scopo sono nati demoni come Network Manager o Wicd e applicazioni client che permettono di interfacciarsi con essi come:

Network Manager
  • network-manager-gnome (applet con frontend GTK)
  • plasma-widget-networkmanagement (plasma widget per KDE)
  • plasma-nm (altro plasma widget)
  • nm-cli (client di testo)
Wicd
  • wicd-client (applet GTK)
  • wicd-kde (plasma widget per KDE)
  • wicd-cli (client di testo)
  • wicd-curses (client semi-grafico)

Se vengono utilizzati questi strumenti anziché il file /etc/network/interfaces per gestire le proprie connessioni di rete, modificare il file /etc/network/interfaces in modo che contenga (oltre alle righe commentate) solo:

auto lo
iface lo inet loopback

in modo che possa configurare l'interfaccia di loopback e solo quella.

Guide correlate

Abilitare una scheda wireless con uno script in bash




Guida scritta da: Ferdybassi   Debianized 80%
Estesa da:
Brunitika 08:34, 20 nov 2010 (CET) Aggiunta configurazione wpa "diretta" in "interfaces"
S3v 19:48, 11 gen 2014 (CET) (Network management)
Verificata da:
MadameZou 16:09, 4 feb 2010 (CET)
S3v 19:48, 11 gen 2014 (CET)
HAL 9000 10:36, 28 lug 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized