Script Bash abilitazione scheda wireless: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
(Aggiunta gestione WPA2 e sistemazione della voce)
Riga 1: Riga 1:
Di seguito un semplice script per la connessione a una rete wireless. Richiede di essere eseguito con privilegi di amministrazione e che non sia attivo alcun network manager.
È possibile configurare la rete wireless senza script modificando opportunamente il file /etc/network/interfaces. E anche creare più profili diversi tra cui scegliere di volta in volta, installando il pacchetto switchconf. I comandi presentati però possono essere d'aiuto anche per la configurazione da terminale.
Creare un file (leggibile soltanto da root e in un percorso in cui soltanto root ha permessi di scrittura), con questo contenuto:
<pre>
<pre>
#!/bin/sh
#! /bin/sh -e
echo Abilitazione Scheda Wireless in corso......
 
iwconfig eth0 essid (vostro essid di rete)
 
iwconfig eth0 mode Ad-Hoc (managed) vedete voi
### PARTE DA MODIFICARE con i propri parametri
iwconfig eth0 key restricted (vostra key di rete)
 
ifconfig eth0 (ip che volete asegnare alla scheda) up
# specificare il nome della propria scheda di rete (eth0, eth1, wlan0, ecc... )
iwconfig eth0 power on
# (utilizzare il comando "/sbin/iwconfig 2> /dev/null", senza virgolette, mentre attiva)
route add default gw (indirizzo ip del gw)
IFACE="eth0"
echo Scheda Wireless abilitata Correttamente....
 
# specificare l'essid della rete a cui si intende connettersi
ESSID="vostro essid di rete"
 
# password (se utilizzata) per WEP o WPA
PASSWORD="vostra password"
 
# indirizzo (se non si utilizza DHCP)
ADDRESS="192.168.0.2"
 
# gateway (se non si utilizza DHCP)
GATEWAY="192.168.0.1"
 
# netmask
NETMASK="255.255.255.0"
 
 
### MAIN
 
echo Abilitazione Scheda Wireless in corso...
 
# attiva la scheda
ifconfig "$IFACE" up
 
# assegna essid
iwconfig "$IFACE" essid "$ESSID"
 
# si possono scegliere altre modalità, tra cui ad-hoc
# (supporta solo connessioni non criptate o criptate con WEP, e avviene senza access point)
# managed è la default e serve per connettersi a un access point
iwconfig "$IFACE" mode managed
 
# decommentare la riga successiva (togliendo #) per connessioni non criptate
# iwconfig "$IFACE" key open
 
# decommentare la riga successiva (togliendo #) per connessioni criptate con WEP
# iwconfig "$IFACE" key restricted "$PASSWORD"
 
# commentare le righe successive se la rete non utilizza crittografia WPA2
# (WPA2 è l'impostazione consigliata per reti domestiche, dato che WEP è obsoleta e insicura)
umask 0077 &&
wpa_passphrase "$ESSID" "$PASSWORD" > /tmp/.wpaconfig &&
wpa_supplicant -i "$IFACE" -c /tmp/.wpaconfig -B
 
# accende la scheda di rete e rendi effettive le modifiche
# (non supportate da tutte le schede, per cui avviene già in automatico)
iwconfig "$IFACE" power on || true
iwconfig "$IFACE" commit || true
 
# assegnazione IP alla scheda
ifconfig "$IFACE" "$ADDRESS" netmask "$NETMASK"
 
# aggiungi nuovo percorso alla tabella di routing
route add default gw "$GATEWAY"
 
# messaggio
echo Scheda Wireless abilitata correttamente.
</pre>
</pre>


Le parti tra parentesi sono quelle da modificare con i vostri parametri.
Le variabili IFACE, ESSID, PASSWORD, ADDRESS e GATEWAY vanno inizializzate con i vostri parametri. Si deve inoltre scegliere uno dei tre metodi per la crittografia, commentando gli altri (al momento lo script utilizza WPA2).


So che è uno scriptino minimale ma per qualcuno alle prime armi può sempre essere utile.
Si noti che in caso di [http://it.wikipedia.org/wiki/Captive_portal captive portal], dove l'autenticazione tipicamente avviene in un secondo momento dal proprio browser, la rete può essere aperta e senza crittografia.


Autore: debian
Per l'autenticazione, con WEP o WPA2, è possibile sostituire la riga PASSWORD="..." con read PASSWORD (per rendere interattiva la richiesta). Inoltre per WPA2 si può creare a priori il file wpaconfig (utilizzando wpa_passphrase) in un percorso raggiungibile soltanto da root, rimuovendo quindi sia la riga PASSWORD="...", sia umask e wpa_passphrase, e lasciando soltanto la riga wpa_supplicant per richiamarne la configurazione. In questo caso nel file di configurazione (tra "network={" e "}") si può aggiungere anche la riga scan_ssid=1 per permettere la connessione a reti protette da WPA2 con essid "nascosto".


N.B. Se si ha a che fare con un server DHCP, possiamo farci assegnare un IP tramite il comando
Se si ha a che fare con un server DHCP, possiamo farci assegnare un IP tramite il comando
<pre>
<pre>
# dhclient eth0
# dhclient eth0
Riga 23: Riga 85:
al posto della riga in cui si assegna l'IP alla scheda. A questo punto non sarà necessario neanche assegnare l'indirizzo del gateway poiché pensa a tutto il server DHCP.
al posto della riga in cui si assegna l'IP alla scheda. A questo punto non sarà necessario neanche assegnare l'indirizzo del gateway poiché pensa a tutto il server DHCP.


Autore Nota: grayhawk
----
[[Utente:Noise|Noise]]
 
Aggiunto uso DHCP da [[Utente:Grayhawk|Grayhawk]]
 
Aggiunta connessione a rete con WPA2 da [[Utente:HAL 9000|HAL 9000]]
 
[[Categoria: Schede Wireless]][[Categoria: Bash Scripting]]
[[Categoria: Schede Wireless]][[Categoria: Bash Scripting]]