sabato 29 novembre 2008

Configurazione manuale di una connessione WiFi per gli smanettoni della console Linux Ubuntu (appunti vari)


Quale procedura manuale via console, eseguirebbe uno smanettone Ubuntista per configurare la propria rete Wifi?

Ecco i passi:

1 -- Controllo delle interfaccie di rete attive
ifconfig -a

2 -- Disabilito la schete di rete ethernet
sudo ifconfig eth0 down

3 -- Verifichiamo che la rete wireless sia attiva
sudo ifconfig wlan0 up (nel caso non sia attiva questo comando provvederà a farlo)

4 -- Effettuiamo una scansione delle rete disponibili
sudo iwlist wlan0 scan (questo comando fornirà dell informazioni utili come l'ESSID e il channel )

5 -- Con i dati forniti dal comando precedente configuriamo la scheda Wifi
sudo iwconfig wlan0 mode managed channel essid
Fatto questo possiamo verificare il risultato ottenuto con il comando iwconfig

6 -- Adottiamo una configurazione con ip statici oppure DHCP editando il file interfaces.
Il channell e l'essid devo essere sostituiti con quelli della rete da collegare.
Suppongo inoltre che l'indirizzo del router sia il 192.168.1.1
sudo gedit /etc/network/interfaces

Esempio con ip statico:
auto wlan0
iface wlan0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
wireless-essid
wireless-channel 11
wireless-mode managed

Esempio con l'uso del DHCP:
auto wlan0
iface wlan0 inet dhcp
wireless-essid
wireless-channel 11
wireless-mode managed

Ma cosa significa la modalita managed? Ecco la spiegazione:

Differenze nelle modalità di connessione

a- Managed: per comunicare con un Access Point (reale o emulato da un PC fisso).
b- Had-hoc: per comunicare con un'altro PC, con scheda di rete wireless pcmcia/pci, senza Access Point.
c- Master: per fare di un PC, con scheda di rete wireless pcmcia/pci, un Access Point.


a- Mode managed - Wireless managed mode
Utilizzare la modalità managed, anche detta Infrastructure,
se si dispone di un Access Point esterno che trasmette ad una ben determinata frequenza
(ovvero canale) e realizza una sotto-rete wireless identificata dal parametro ESSID
(il nome della sotto-rete wireless).Con questa modalità si realizza una topologia
di rete a "stella", tutti i dispositivi mobili (portatili, palmari, ecc)
potranno comunicare fra loro e verso l'esterno,
se l'access point è a sua volta connesso ad Internet attraverso
un router o un PC che funga da router.
Se la connessione si stabilisce il LED della scheda wireless
non lampeggierà più ma resterà a luce fissa.

b- Mode ad-hoc - wireless ad-hoc mode
Utilizzare la modalità ad-hoc se si desidera realizzare una connessione semplice (peer-to-peer)
tra due computer.In tal caso su entrambi i PC, dotati di schede wireless pcmcia/pci
si eseguirà uno script per l'impostazine dello stesso ESSID e Frequenza Portante (Canale)
Anche in questo caso se la connessione si stabilisce il LED della scheda wireless resterà fissa.

c- Mode Master - wireless master mode
Grazie all'utilizzo dei driver HostAP non è necessario disporre di un access point vero e proprio,
è possibile infatti utilizzare un PC con scheda wireless PCI configurata in modalità Master
(Access Point Mode).
A differenza dei casi precedenti, in questa modalità il LED della scheda wireless continuerà a
lampeggiare indicando che stà funzionando da Access Point.

7 -- Riavviamo la rete:
sudo /etc/init.d/networking restart

8 -- Ora testiamo la connessione con un ping verso il router

ping 192.168.1.1 -c5

Se ci sono problemi tipo:
"no route to host" o "network unreachable"
ci potrebbero essere dei problemi con la tabella di routing.
Questo potrebbe essere dovuto da qualche altra interfaccia ancora attiva.
In tal caso fare riferimento nuovamente con i passi 1 -- e 2 --
Staccare anche il cavo Ethernet se collegato.
Con il comando ifconfig -a l'unico dispositivo di rete deve essere solo quello della
Wireless.
Se tutto è ok i comando "route" deve restituire una cosa del genere:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0

9 -- Testiamo la connessione con un semplice ping verso un sito del web
ping www.google.com
Se il ping da picche e non risponde occorre inserire i dns statici per
per la risoluzione dei nomi.Nel mio caso uso quelli wind (dato che mi appoggio a questo operatore).
Editare il file :
sudo gedit /etc/resolv.conf

E inserire le sguenti righe:

nameserver 193.70.152.25
nameserver 193.70.192.25

10 -- Impostazioni per le connessioni sicure con chiave WEP/WAP
La codifica WEP non è molto sicura ma è quella con cui quesi tutti idispositivo
riescono ad essere compatibili
Editiamo nuovamente il file interface
sudo gedit /etc/network/interfaces
e aggiungendo la linea

wireless-key CHIAVEWEP

alla fine il file interface dovrebbe assomigliare ad una cosa del genere:

auto wlan0
iface wlan0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
wireless-essid
wireless-channel 11
wireless-mode managed
wireless-key CHIAVEWEP

Si possono gestire più chiavi WEP, inserendole nel modo seguente (premetto che questo non è sempre
necessario)

wireless-key1 s:primachiave
wireless-key2 s:secondachiave
wireless-key3 s:terzachiave
wireless-key4 s:quartachiave
wireless-key n°

A posto di n° dovete va messo i numero della chiave da usare per defaulrt
La s: vicino alla chiave vuol dire che la chiave è in formato ASCII.
Se la s: è omessa vuol dire che vogliamo usare delle chiavi ESADECIMALI.
Tutto questo dipende dalla configurazione del router.

Per usare la codifica WPA (molto più sicura) dobbiamo utilizzare Wpa Supplicant.

Io ho eseguito le istruzioni trovate nel wiki http://wiki.ubuntu-it.org/Hardware/DispositiviSenzaFili/WpaSupplicant
Per semplicità del lettore elenco le operazioni fondamentali direttamente in questo articolo:

Prima fase ) Installazione

Il programma wpa_supplicant è presente nei repository ufficiali.
Per poterli installare utilizzare i seguenti comandi:

sudo apt-get update
sudo apt-get install wpasupplicant

Seconda fase) Configurazione

Creiamo il file /etc/wpa_supplicant.conf con un editor di testo e con i diritti di amministratore

Eseguiamo il comando sudo gedit /etc/wpa_supplicant.conf ed inseriamo le seguenti righe:

network={
ssid="Nome Rete o SSID"
psk="Chiave impostata nell'AP"
key_mgmt=WPA-PSK
proto=WPA
pairwise=CCMP TKIP
}

La configurazione precende va bene per reti cifrate mediante il protocollo WPA.
Per quelle che usano il WPA2 sostituiamo le viste precedentemente con queste:

network={
ssid="Nome Rete o SSID"
psk="Chiave impostata nell'AP"
key_mgmt=WPA-EAP WPA-PSK
proto=RSN WPA
pairwise=CCMP TKIP
}

Terza fase ) Esecuzione
Se tutto è stato configurato in modo corretto digitiamo il seguente comando:

sudo ifconfig wlan0 up

Dopo di che avviamo il wpa_supplicant con il seguente comando:

sudo wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd -B

Se non ci sono errori nell'attivazione dell'interfaccia la navigazione dovrebbe avvenire senza problemi.

Quarta fase opzionale ) Avvio automatico

È possibile configurare il sistema affinché wpa_supplicant venga eseguito automaticamente all'avvio.

Aprire il file /etc/network/interfaces e nella sezione relativa all'interfaccia wireless,
inserire le seguenti righe:

wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

Un esempio del sopra citato file dovrebbe essere simile al seguente:

auto wlan0
iface wlan0 inet dhcp
wireless-essid nomerete(ssid)
wireless-mode managed
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

In questo modo wpa_supplicant, una volta riconosciuta l'interfaccia, verrà avviato automaticamente.

Se il sistema sopra descritto non dovesse funzionare, è possibile aggiungere
nel file /etc/network/interfaces la seguente riga (nella sezione relativa all'interfaccia):

post-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B

Una configurazione di esempio è la seguente con l'uso del DHCP:

auto wlan0
iface wlan0 inet dhcp
wireless-essid nomerete(ssid)
wireless-mode managed
post-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B

Infine, riavviare il sistema e attivare la connessione senza fili.

sudo /etc/init.d/networking restart

3 commenti:

Anonimo ha detto...

L'immagine che hai incollato, da dove l'hai copiata?? L'autore ne è informato? E la guida? E' roba tua?

il MessaGGiero ha detto...

Questa non è una guida ma bensi una raccolta un pò ordinata di appunti.
Il web è pieno di informazioni e howto su come configurare la rete Wifi su Ubuntu.
La foto è stata presa tra quelle che google rende disponibili.

Contento!?

Unknown ha detto...

Ciao, volevo chiederti se questa raccolta un po' ordinata di appunti, è stata redatta a seguito di lezioni presso la facoltà di informatica o in altre occasioni didattiche di qualsiasi forma o tipo, o se invece fanno riferimento ad altri tutorial letti qua e là in rete? nel secondo caso (e qui comprendo anche l'immagine presa da google) sarebbe comunque buona norma riportarlo. Sicuramente darebbe un valore in più al tuo stesso lavoro oltre che comunicare una corretta riconoscenza verso chi ci ha permesso di conoscere le cose.

Cmq, ho trovato molto utili le note relative al WPA2. In tanti altri siti si parla solo del WPA o del WEP o addirittura si riportano configurazioni per l'accesso ad AP senza protezione, rendendole praticamente inutili dato che nessuna persona di buonsenso lascia il proprio AP privo di password, o di altri tipi di protezione. Certi tutorial andrebbero tolti da Internet poiché causano solo una gran perdita di tempo e un aumento la frustrazione in chi si sta dannando per risolvere i vari problemi tecnici.

In ogni caso grazie per aver condiviso queste informazioni e, semmai troverò il tempo per pubblicare i miei appunti, mi auguro di non fare l'errore di non segnalare queste pagine.

Ciao, Beppe