Multi configurazione automatica wi-fi
From Linuzz
Dopo aver installato i rispettivi driver della vostra scheda wi-fi ed averne accertato il corretto funzionamento con almeno una singola configurazione, vi potrete creare più configurazione automatiche da usare in ambienti diversi come casa e ufficio... quindi a lavoro!
Accedo al terminale come utente root e creo due “copie” del file /etc/network/interfaces una per casa (/etc/network/interfaces_casa) l'altra per l'uffico seteck (/etc/network/interfaces_seteck)
Da terminale come utente root digito:
nano /etc/network/interfaces_casa
copio e incollo il contenuto
# 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 # The primary network interface #allow-hotplug eth1 iface eth1 inet static #auto eth2 iface eth2 inet dhcp wpa-conf /etc/wpa_supplicant_casa.conf wireless-essid (inserisco il nome della rete) wireless-key (inserisco la password wpa) #auto eth2
salvo e esco
Piccolo particolare: Fate attenzione a come viene identificata dal sistema la vostra periferica. Nel mio caso la scheda wi-fi è vista come: eth2 di conseguenza in tutti questi “script” la periferica wi-fi è indicata con eth2, se nel vostro pc risulta diverso basterà sostituire eth2 con il nome della vostra scheda. Es: eth0 Per svelare ciò da terminale basta digitare il comando:
ifconfig
e avrete l'elenco delle periferiche di rete e i relativi nomi.
Ora creo l'altro file di configurazione per l'ufficio seteck
Da terminale come utente root digito:
nano /etc/network/interfaces_seteck
copio e incollo il contenuto
# 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 # The primary network interface #allow-hotplug eth1 iface eth1 inet static #auto eth2 iface eth2 inet static address 192.168.X.XX netmask 255.255.XXX.X gateway 192.168.X.XXX wpa-conf /etc/wpa_supplicant_seteck.conf wireless-essid (inserisco il nome della rete) wireless-key (inserisco la password wpa) #auto eth2
salvo e esco
Creo i due nuovi wpa_supplicant.conf /etc/wpa_supplicant_casa.conf e /etc/wpa_supplicant_seteck.conf
Da terminale come utente root digito:
nano /etc/wpa_supplicant_casa.conf
copio e incollo
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=1000 update_config=1 network={ ssid=(inserisco il nome della rete rispettando maiuscole-minuscole ed eventuali virgolette-apici) psk=(inserisco la password wpa) proto=WPA key_mgmt=WPA-PSK pairwise=TKIP }
salvo e esco
creo l'altro per l'uffico, da terminale come utente root digito:
nano /etc/wpa_supplicant_seteck.conf
copio e incollo
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=1000 update_config=1 network={ ssid=(il nome della rete rispettando maiuscole-minuscole ed eventuali virgolette presenti nel nome essid EX: "Seteck") psk=(inserisco la password wpa) proto=WPA key_mgmt=WPA-PSK pairwise=TKIP }
salvo e esco
Creo l' /etc/resolv.conf dell'ufficio, la salvo rinominandola /etc/resolv_seteck.conf facendo un cat di /etc/resolv_seteck.conf mi apparirà il resolv.conf dell'ufficio:
inspiron:/etc# cat resolv_seteck.conf search fastwebnet.it nameserver 213.XXX.X.XX (in modalità nano, inserite il numero del vostro server DNS)
Adesso creo lo script che permetterà il riconoscimento automatico, che poi andrò ad inserire in /etc/rc.local
ifdown eth2 var_a=`iwlist eth2 scan|grep Alice-12345678|sed -e 's/ //'` if [ "$var_a" = 'ESSID:"Alice-12345678"' ]; then cp /etc/network/interfaces_casa /etc/network/interfaces else cp /etc/network/interfaces_seteck /etc/network/interfaces cp /etc/resolv_seteck.conf /etc/resolv.conf fi ifup eth2 exit 0
La funzione di questo script è: verificare il nome della rete rilevata, se la verifica da esito positivo, ad esempio viene rilevato il nome: ESSID:"Seteck" verrà copiata la configurazione /etc/network/interfaces_seteck nel file principale dell'interfaccia di rete ovvero: /etc/network/interfaces lo stesso per il file /etc/resolv.conf che contiene i dati del server DNS; successivamente verrà accesa la periferica wi-fi (ifup eth2). Lo stesso accade se viene rilevata la rete di casa ESSID:"Alice-12345678". In sostanza viene verificato il nome dell'ESSID delle reti rintracciate e se l'esito è positivo lo script procede nel cercare quale dei due file di configurazione permette alla periferica wi-fi di funzionare.
Ora lo copio e lo incollo in /etc/rc.local
Da terminale come utente root digito:
nano /etc/rc.local
copio e incollo
#!/bin/bash # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ifdown eth2 var_a=`iwlist eth2 scan|grep Alice-12345678|sed -e 's/ //'` if [ "$var_a" = 'ESSID:"Alice-12345678"' ]; then cp /etc/network/interfaces_casa /etc/network/interfaces else cp /etc/network/interfaces_seteck /etc/network/interfaces cp /etc/resolv_seteck.conf /etc/resolv.conf fi ifup eth2 exit 0
salvo e esco
P.s: se a casa usate un modem/router Alice Telecom, ricordatevi che oltre ad allinearvi con il “modem” inserendo la password WPA dovrete configurare ed effettuare anche una connessione di tipo pppoe altrimenti non vi collegate mai.
Per configurare una connessione Alice di tipo pppoe clickate sul seguente link: [1]
--marco.g 11:56, 18 June 2007 (EDT) Marco Graziotti, Michele Tatulli, Marco Moscini