13

Wireless in Roaming Mode per Debian e Ubuntu

ottobre 2008 da Lobotomia

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle6 Stelle7 Stelle8 Stelle9 Stelle10 Stelle (2 voti, media: 10,00 su un massimo di 10)
Loading ... Loading ...

Ultimamente sto usando un vecchio laptop molto limitato in risorse con installata ‘ Testing’. Mi sono sbizzarrito ad usare le soluzioni più pratiche e possibilmente senza applicazioni con interfaccia grafica.
Il suddetto portatile non possiede scheda ethernet e l’unico modo che ho per metterlo in rete è di usare una vecchia scheda PCMCIA WiFi.
Non conoscendo nessuna utility per configurare le schede wireless inizio a cercare  nei repository uno strumento che soddisfacesse le mie esigenze.
Dopo essermi scontrato con varie applicazioni grafiche decido di spendere un po di tempo per fare le cose alla ‘ Way’ che tanto piace al sottoscritto.
Dopo aver installato wpa_supplicant:
apt-get install wpa_supplicant
mi tuffo nella documentazione dello stesso e scopro un modo interessante per configurare la mia scheda in Roaming Mode, il metodo sfrutta le utility wpa_cli/wpa_action ma non starò ad annoiarvi con i dettagli, per altro non necessari per la configurazione.

Dettagli per la configurazione:

1) Modificate/Create il file /etc/wpa_supplicant/wpa_supplicant.conf:

# Consente a root e utenti che appartengono al gruppo netdev
# di interagire con wpa_supplicant (wpa_cli, wpa_action, wpa_gui...).
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

# Di seguito vanno specificate le reti alle quali ci si vuole connettere.
# In /usr/share/doc/wpa_supplicant/examples trovate come usare i vari
# parametri. Il parametro importante per noi è 'id_str' che ci consente
# di interagire con 'ifupdown', gli altri servono ad identificare e
# agganciarsi alle reti. Sono riportati esempi a puro scopo esplicativo.

# WiFi a casa (WEP)
network{
        ssid="Phobos WiFi"
        key_mgmt=MANAGED
        # NOTA: qui ci va la chiave di autenticazione
        key0=...
        # NOTA: l'interfaccia sarà individuata da 'wificasa'
        id_str="wificasa"
}

# WiFi a lavoro (WPA)
network{
        ssid="Mars inc."
        # ATTENZIONE: qui ci va la chiave di autenticazione
        psk=...
        # NOTA: l'interfaccia sarà individuata da 'wifiwork'
        id_str="wifiwork"
}

# WiFi libero
network{
    key_mgmt=NONE
    # ATTENZIONE: qui potremmo evitare di usare 'id_str' e
    # l'interfaccia sarebbe individuata da 'default'
    # io preferisco usare 'freewifi'
    id_str='freewifi'
}

2) Configurare /etc/network/intefaces: aggiungere le seguenti righe.

# ATTENZIONE: l'interfaccia di roaming DEVE usare il metodo inet manual.
# Per avviare il demone automaticamente si deve usare allow-hostplug
# oppure auto. Supporremo che il dispositivo WiFi si chiami 'wlan0' e il
# driver da usare con wpa_supplicant sia 'wext'

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

# le seguenti corrispondono agli AP configurati in wpa_supplicant.conf

iface freewifi inet dhcp

iface wificasa inet dhcp

iface wifiwork inet static
        address 192.168.1.69
        netmask 255.255.255.0
        gateway 192.168.1.254

A questo punto potreste voler proteggere le informazioni sensibili contenute in wpa_supplicant.conf con un bel:
chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf
Una volta riavviata la rete con:
/etc/init.d/ restart
il controllo di ogni interfaccia tra freewifi, wificasa e wifiwork sarà affidato al demone di roaming che si occuperà di agganciarsi automaticamente alle reti presenti. Ad ogni modo è possibile interagire con wpa_supplicant tramite wpa_action/wpa_cli.

Io personalmente con questo metodo mi trovo benissimo e vivo felice senza i vari network-manager/wifi-radar/wicd/… e il mio vecchio laptop inizia a navigare non appena trova una rete disponibile senza che io faccia niente.

Buon divertimento!

Post correlati

Leave a Reply

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>