Vediamo oggi come assegnare un indirizzo IP Statico al Raspberry Pi dentro una LAN. Già in precedenza, per chi non l’avesse letto, abbiamo accennato a come configurare una rete wifi su raspberry pi e permettere la connessione automatica del RPi alla rete, una volta acceso.

Il procedimento che andremo a descrivere è molto simile a qualcosa già visto.

Modifichiamo il file delle interfacce network

Apriamo il file per la configurazione delle interfacce network. Interfacce network che possono essere Wifi (wlan0) o relative alla porta ethernet del RPi (eth0).
sudo nano /etc/network/interfaces

Con il file riproposto qui sotto, si permette al raspberry di richiedere al router/switch un indirizzo IP statico, in modo che eventuali configurazioni (NAT) sull’apparato di rete vengano mantenute operative.
In particolare le impostazioni sotto, sono quelle che utilizzo per il mio raspberry pi, oltre a garantire un indirizzo IP Statico permettono al raspberry di effettuare una connessione automatica alla prima interfaccia disponibile quando si avvia. Potete copiarlo e sovrascriverlo alla vostra configurazione attuale, facendo attenzione a modificare alcuni parametri e indirizzi fra poco descritti:

auto lo
 
iface lo inet loopback
 
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
 
auto wlan0
iface wlan0 inet static
address 192.168.1.111
gateway 192.168.1.1
netmask 255.255.255.0
 
 
auto eth0
iface eth0 inet static
address 192.168.1.111
gateway 192.168.1.1
netmask 255.255.255.0

In particolare, le istruzioni d’assegnamento di un indirizzo IP statico risiedono dalla 6 riga dove dice “iface eth0 inet static” e poi da “iface wlan0 inet manual” per la configurazione da wireless, se usiamo una pennetta wifi chiaramente.

Chiariamo meglio cosa voglia dire ogni voce:

address – L’indirizzo che volete dare al vostro Pi, può essere qualsiasi indirizzo IP nel range della rete. Si consiglia di assegnargli un numero alto piuttosto che basso, altrimenti si potrebbero causare del conflitti nella rete locale. Il range va da 192.168.1.1 fino a 192.168.1.255.

netmask – L’indirizzo della netmask, sotto è spiegato come ricavarselo.

gateway – L’indirizzo di Gateway (ancora, sotto vediamo come ricavarci questi indirizzi).

Volendo si possono aggiungere anche due parametri più specifici, ma durante alcune prove si è visto che non sempre funziona aggiungendo anche questi due parametri:

network – L’indirizzo IP del router, è l’indirizzo “Destination” che sotto mostriamo come ottenere. Talvolta questo indirizzo può essere scritto su un’etichetta sotto al router stesso.

broadcast – Indirizzo di BroadCast (guarda sotto su come ottenere anche questo indirizzo).

Mentre la linea ” /etc/wpa_supplicant/wpa_supplicant.conf” Semplicemente contiene informazioni di configurazione sulle reti wireless a cui ci connettiamo, ad esempio il nome della rete e la password! Se volessimo aggiungere una nuova rete, è sufficiente inserire una voce in questo file, alla fine.

Come ottenere questi valori?

Lanciando soli due comandi da terminale è possibile estrapolarci tutti i valori che ci servono per la richiesta di un IP Statico al router LAN.

Primo comando:

ifconfig

Che da un risultato del genere:

raspberry-pi-ifconfig

Questo comando rivela le informazioni del router, ciò che ci serve viene dopo eth0…

eth0      Link encap:Ethernet  HWaddr b8:27:eb:b3:fc:2c
               inet addr:192.168.1.81  Bcast:192.168.1.255  Mask:255.255.255.0

Appuntatevi dunque queste informazioni:

inet addr – 192.168.1.81 (Indirizzo IP corrente del Raspberry)
Bcast – 192.168.1.255 (Broadcast IP Range)
Mask – 255.255.255.0 (Indirizzo Subnet Mask)

Le altre info le otteniamo con quest’ultimo comando:

netstat -nr

come-dare-ip-statico-al-raspberry-pi

Da cui estraiamo:

Indirizzo ‘Gateway’ – 192.168.1.254
Indirizzo ‘Destination’ – 192.168.1.0

A questo punto se abbiamo aggiunto queste informazioni necessarie al file /etc/network/interfaces, possiamo riavviare il raspberry py:

sudo reboot

E verificare che effettivamente gli sia stato assegnato l’indirizzo IP che noi abbiamo specificato, col comando:

ifconfig

Fateci sapere se tutto è andato per il meglio 😉