Connettersi a una rete wifi da terminale
In questa guida impareremo a collegarsi ad una rete wifi manualmente, utilizzando i comandi da terminale. Sarà necessario disattivare i gestori di rete per GUI in uso.
Premesse
per semplificare la spiegazione si utilizzeranno i seguenti valori:
nome scheda wifi = wlan0
nome scheda ethernet = eth0
ip gateway = 192.168.0.1
indirizzo netmask = 255.255.255.0 ( /24 )
Nome ESSID rete wifi = ‘ReteWiFi’
Chiavi WEP e WPA = ‘chiaveWEP’ – ‘chiaveWPA’
Operazioni preliminari
Il primo provvedimento da prendere, se si hanno in esecuzione manager di rete come wicd o network mamanger, è quello di arrestare l’esecuzione dei loro demoni con uno dei seguenti comandi:
# service network-manager stop ---------------------------------- # /etc/init.d/network-manager stop ---------------------------------- # systemctl stop network-manager
Se stiamo utilizzando wicd inserire il nome del demone corrispondente.
Successivamente a questa operazione, recuperare il nome della rete wifi a cui si desidera collegarsi:
# iwlist scan
Queto comando fornirà, oltre al nome ESSID della rete, diverse informazioni che potrebbero risultare inutili per il nostro scopo, se si desidera ottenere solo il nome ESSID senza ulteriori informazioni, digitare il seguente comando:
# iwlist scan | grep -i essid
se non si conosce il nome del proprio dispositivo wifi digitare uno dei seguenti comandi:
$ iwconfig $ ip link
Se si sta utilizzando anche una scheda di rete cablata (via cavo) disattivarla tramite uno dei seguenti comandi:
# ip link set eth0 down ----------------------- # ifconfig eth0 down
Il nome del dispositivo è recuperabile indifferentemente tramite i seguenti comandi:
$ iwconfig $ ifconfig $ ip link
In seguito, disattivare e riattivare il dispositivo wifi tramite uno dei seguenti comandi:
# ip link set wlan0 down ------------------------ # ip link set wlan0 up # ifconfig wlan0 down ----------------------- # ifconfig wlan0 up
Adesso si è pronti per connettersi alla rete desiderata.
Connessione a una rete aperta o con protezione WEP
La connessione a una rete aperta, non protetta da chiave WEP o WPA, o a una rete protetta da chiave WEP è il procedimento più semplice
Rete aperta:
digitare il seguente comando da terminale:
# iwconfig wlan0 essid 'ReteWiFi'
Rete protetta da chiave WEP:
digitare da terminale il seguente comando:
# iwconfig wlan0 essid 'ReteWiFi' key 'chiaveWEP'
connessione a una rete con protezione WPA
La connessione a una rete WPA prevede diverse possibilità
È possibile connettersi a una WPA nella maggior parte dei casi tramite il semplice comando:
# iwconfig wlan0 essid 'ReteWiFi' key restricted 'chiaveWPA'
Dove questo comando non funzionasse, è possibile utilizzare il software wpa_supplicant nel seguente modo:
# (wpa_supplicant -i wlan0 -c <(wpa_passphrase 'ReteWiFi' 'chiaveWPA')) &
In alternativa a questa procedura è possibile creare un file di configurazione tramite wpa_passphrase e salvarlo nella propria home:
$ wpa_passphrase 'ReteWiFi' 'chiaveWPA' > ∼/.nomerete_cfg
.nomerete_cfg è un nome arbitrario.
Successivamente basterà utilizzare wpa_supplicant nel seguente modo:
# wpa_supplicant -i wlan0 -c ∼/.nomerete_cfg
È ulteriolmente possibile modificare il file /etc/wpa_supplicant/wpa_supplicant.conf in modo da configurarlo con i nostri parametri di rete:
# nano /etc/wpa_supplicant/wpa_supplicant.conf --------------------------------------------- ctrl_interface=/var/run/wpa_supplicant network={ ssid='ReteWiFi' key_mgmt=WPA-PSK proto=WPA psk='chiaveWPA' }
Salvare e chiudere il file, quindi avviare wpa_supplicant nel seguente modo:
# wpa_supplicant -Dwext -iwlan0 -c./wpa_supplicant.conf -B
A qualunque rete ci si connetta, una volta terminata la procedura, sarà necessario impostare l’indirizzo IP e gli indirizzi dei server DNS da utilizzare.
Impostazione indirizi ip dinamici
Per impostare l’indirizzo ip tramite il servizio dhcp fornito dal router utilizzare i comandi dhcpcd o dhclient, secondo il pacchetto utilizzato:
# dhcpcd wlan0 ---------------- # dhclient wlan0
Impostare un indirizzo ip statico
Per impostare un indirizzo ip statico digitare il seguente comando:
# ip addr add 192.168.0.10/24 dev wlan0
Specificare a questo punto il gateway della rete:
# ip route add default via 192.168.0.1
È possibile utilizzare anche il comando ifconfig assieme al comando route nel seguente modo:
# ifconfig wlan0 192.168.0.10 up
# route add default gw 192.168.0.1
Specificare quindi i DNS in /etc/resolv.conf:
# nano /etc/resolv.conf ----------------------------- nameserver [indirizzo_ip_DNS1] nameserver [indirizzo_ip_DNS2] search [nome_dominio]
Se si vogliono utilizzare i DNS impostati sul router inserire l’idirizzo ip del gateway e il nome dominio del router in questo modo:
(nome dominio e ip puramente a scopo di esempio)
nameserver 192.168.0.1 search sitecom.modem
È anche possibile creare uno script bash in modo da automatizzare i comandi fino ad ora visti. Procedere nel modo seguente:
editare con un editor di testi il file nella posizione desiderata ed inserire i comandi necessari:
(esempio di script per connessione a una rete aperta)
# nano /home/nome_file.sh ------------------------- #!/bin/bash systemctl stop network-manager ip link set eth0 down ip link set wlan0 down ip link set wlan0 up iwconfig wlan0 essid 'ReteWiFi' ip addr add 192.168.0.10/255.255.255.0 dev wlan0 ip route add default via 192.168.0.1
Salvare e chiudere il file, quindi per eseguire lo script digitare il seguente comando:
# bash /home/nome_file.sh
Un altro modo di collegarsi in modo automatico senza l’ausilio dei comuni gestori di rete per GUI, è quello di utilizzare i profili netctl. È un modo pratico e assai semplice per gestire le reti cablate e le reti wifi; qui la guida alla configurazione di netctl