mercoledì 11 settembre 2013

Raspberry Pi - come impostare un numero IP statico

In questa guida spiegherò come impostare un indirizzo IP statico sul vostro Raspberry Pi, prima di iniziare la procedura pratica vorrei illustrare un po di teoria.
Un indirizzo IP serve ad identificare un dispositivo collegato in rete, generalmente il vostro router assegna dinamicamente un indirizzo IP ad ogni nuovo dispositivo collegato. Se abbiamo un computer collegato alla rete casalinga e lo scolleghiamo, il suo indirizzo IP viene liberato e lo stesso potrebbe essere assegnato ad un altro nuovo dispositivo che dovesse collegarsi successivamente. La stessa cosa avviene per il vostro Raspberry Pi, il quale ad ogni riavvio potrebbe avere un indirizzo IP differente.
Avere un IP dinamico risulta quindi decisamente scomodo quando vogliamo accedere in remoto al nostro Raspberry Pi, infatti ogni volta dovremmo essere a conoscenza del suo indirizzo IP. Questo vale sia per accedere al nostro hard disk condiviso tramite Samba, sia per accedere a Transmission-daemon o aMule-daemon e ancora se vogliamo accedere tramite SSH.
Impostare un IP statico farà in modo che, all'avvio, il Raspberry Pi otterrà sempre lo stesso indirizzo IP e di conseguenza sapremo sempre a quale indirizzo trovarlo.
Detto questo effettuiamo il login ed iniziamo a conoscere come vedere quale indirizzo IP ha attualmente il Raspberry Pi con il seguente comando:

sudo ifconfig

Questo comando visualizza molte informazioni riguardanti la connessione di rete, in particolare quelle della sezione denominata eth0 riguardano la connessione via cavo ethernet, wlan0 invece riguarda la connessione Wi-Fi.
Le informazioni che ci saranno utili sono l'indirizzo IP, descritto come "indirizzo inet:" e il numero della "Maschera". Un indirizzo IP è formato da quattro serie di numeri separati da un punto, anche la maschera ha un formato simile e di solito è 255.255.255.0, ma non sempre.

Un'altra informazione necessaria è l'indirizzo IP del nostro router, possiamo trovarla con il seguente comando:

route

Anche in questo caso verranno visualizzate diverse informazioni, il valore che vi interessa lo troverete nella riga che inizia con "default", sotto la colonna Gateway.
Nella riga subito sotto invece, sotto la colonna Genmask, troverete il valore della maschera che dovrebbe essere la stessa di quella trovata con ifconfig.

Ora che abbiamo ottenute tutte le informazioni possiamo andare a modificare il file interfaces che si trova in /etc/network/, quindi scriviamo:

cd /etc/network

Facciamo una copia di sicurezza di interfaces in modo da poterlo ripristinare in qualsiasi momento.

sudo cp interfaces interfaces.backup

Ora apriamo interfaces con l'editor di testo nano:

sudo nano interfaces

Il file di default dovrebbe essere come questo:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Prima cosa da fare è aggiungere il carattere # all'inizio della riga "iface eth0 inet dhcp", questo la farà diventare un commento e verrà ignorata.
Quindi subito sotto aggiungiamo le seguenti righe:

auto eth0
iface eth0 inet static

Di seguito aggiungiamo nell'ordine l'indirizzo IP del Raspberry Pi, l'indirizzo del router ed infine la maschera, come segue:

address [indirizzo_IP_del_Raspberry_PI]
gateway [indirizzo_IP_del_router]
netmask [numero_della_maschera]

Alla fine il vostro file dovrebbe somigliare a questo:

auto lo

iface lo inet loopback
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static

address 11.96.182.58
gateway 11.96.172.1
netmask 255.255.255.0

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Salviamo premendo i tasti Ctrl + o, premiamo il tasto Invio per confermare il nome del file, quindi usciamo dall'editor con Ctrl + x.
Ora riavviamo il Raspberry Pi scrivendo

sudo reboot

Se non avete fatto errori ora l'indirizzo IP sarà quello da voi impostato.
Verifichiamo se la connessione ad internet funziona provando con il comando ping sul sito di Google o qualunque altro indirizzo valido.

ping www.google.com

Il risultato deve essere qualcosa del genere:

PING www.google.com (173.194.40.20) 56(84) bytes of data.
64 bytes from mil02s06-in-f20.1e100.net (173.194.40.20): icmp_req=1 ttl=51 time=264 ms
64 bytes from mil02s06-in-f20.1e100.net (173.194.40.20): icmp_req=3 ttl=51 time=267 ms
64 bytes from mil02s06-in-f20.1e100.net (173.194.40.20): icmp_req=4 ttl=51 time=232 ms
64 bytes from mil02s06-in-f20.1e100.net (173.194.40.20): icmp_req=5 ttl=51 time=237 ms

Fermatelo premendo Ctrl + c.
Avete finito, il vostro Raspberry Pi ora ha l'indirizzo IP statico e saprete sempre come collegarvi in remoto.