venerdì 21 settembre 2018

Utilizzare Raspberry Pi come Client WiFi e server DNS

Il sistema che vado configurando e' questo:

una Raspberry Pi che collega via WiFi un Router WiFi con server dhcp che ha accesso ad internet;
la Raspberry Pi attraverso la sua presa di rete ed uno switch di rete, condivide la connessione intenet con tutta la rete della mia mansarda.
In sostanza per ottenere la navigazione internet dalla mansarda dove abito, ho dovuto fare un link con l'appartamento sottostante dove risiede la linea telefonica ed il modem ADSL.

Come spesso succede per ottenere il risultato desiderato ho dovuto fare un mix di tutorial, l'mportante comunque e' sempre riuscire ad arrivare alla meta!Vedi le tribolazioni per il settaggio della chiavetta WiFi della Raspberry utilizzata come Client in questo post  


Comportandosi come router, la Raspberry Pi dovra' assegnare gli indirizzi ip alle macchine che la connetteranno, quindi per fare questo ho dovuto configurare il programma DNSMASQ.

Iniziamo con scaricare il software con

sudo apt-get install dnsmasq

poi si deve modificare il file /etc/dnsmasq.conf

sudo nano /etc/dnsmasq.conf

Inserendo prima della fine del file queste righe di codice:

interface=eth0
listen-address=192.168.1.1,127.0.0.1
dhcp-range=192.168.1.50,192.168.1.150,12h


In questo modo il dnsmasq assegna un numero ip variabile con un lease time di 12 ore, nel range di numeri  da 50 a 150 sulla interfaccia eth0 (la rete cablata collegata allo switch)

Poi ho attivato il port forwording tra le porte, modificando questo file

sudo nano /etc/sysctl.conf

 andando a cambiare, togliendo il #, questa riga del file di configurazione.

net.ipv4.ip_forward = 1

A questo punto diventiamo root con

sudo su

ed andiamo a modificare la trabella di routing con il comando

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE


per controllare che tutto sia ok

iptables -t nat -L

Dovrebbe restituire questa scritta


Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere


Adesso  lo andiamo a scrivere con questo comando:

echo 1 > /proc/sys/net/ipv4/ip_forward


questa ultima istruzione deve essere data assolutamete con i privilegi di root

Per rendere permanenti questi comandi che altrimenti si resetterebbero al riavvio,viene utilizzata la tecnica di  scrivere tutto su un file e caricarlo ad ogni riavvio in quresto modo:

cd /etc/network
iptables-save > condivisione-internet.rules
touch attiva-condivisione-internet
chmod u+x attiva-condivisione-internet
nano attiva-condivisione-internet

inseriamo questo contenuto:

iptables-restore < /etc/network/condivisione-internet.rules
echo 1 > /proc/sys/net/ipv4/ip_forward

Ora modifichiamo il file /etc/network/interfaces

nano interfaces

ed aggiungere, nella configurazione dell'ingterfaccia wlan0 questa riga di codice che al boot della macchina fa leggere alla Raspberry Pi la configurazione salvata nel file prodotto sopra :

pre-up /etc/network/attiva-condivisione-internet


Se non mi sono dimenticato nulla e non ci sono errori, al reboot la Raspberry Pi si colleghera' al suo AP configurato nel wpa_supplicant e condividera' la connessione internet tramite la sua presa di rete


Di seguito i link da cui ho fatto osmosi:
https://www.lffl.org/2016/04/guida-dnsmasq-condividere-connessione-via-ethernet.html
http://vilnet.it/argo/linux-guide-trucchi-15/news/condividere-connessione-internet-terminale-321/#




Nessun commento: