Script Bash abilitazione scheda wireless: differenze tra le versioni

Da Guide@Debianizzati.Org.
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]]

Versione delle 15:24, 23 gen 2012

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:

#! /bin/sh -e


### PARTE DA MODIFICARE con i propri parametri

# specificare il nome della propria scheda di rete (eth0, eth1, wlan0, ecc... )
# (utilizzare il comando "/sbin/iwconfig 2> /dev/null", senza virgolette, mentre attiva)
IFACE="eth0"

# 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.

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).

Si noti che in caso di captive portal, dove l'autenticazione tipicamente avviene in un secondo momento dal proprio browser, la rete può essere aperta e senza crittografia.

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".

Se si ha a che fare con un server DHCP, possiamo farci assegnare un IP tramite il comando

# dhclient eth0

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.


Noise

Aggiunto uso DHCP da Grayhawk

Aggiunta connessione a rete con WPA2 da HAL 9000