[:it]Raspberry può diventare un bridge tra il wifi (dato da un cellulare che fa da hotspot mobile o un qualsiasi altro segnale wifi) e un altro host che ha la necessità di avere un collegamento alla rete ma è privo di wifi.
Il raspberry diventa un server dhcp ossia fornisce un indirizzo ip a tutti gli host che siu collegano ad esso.
Nella mia configurazione ho collegato all’uscita ethernet raspberry uno switch a cui si collegava un host con windows 10, un host debian sempre collegato allo switch ed un host Ubuntu sempre collegato allo switch.
Per comprendere tutti i passaggi è necessario conoscere:
- impostazione porta wlan
- dhcp
- ip statico
- modifica parametri di sistema
- firewall
Per eseguire i comandi che seguono bisogna essere root
Impostazione wlan0
Editare il file /etc/wpa_supplicant/wpa_supplicant.conf con il comando:
nano /etc/wpa_supplicant/wpa_supplicant.conf
aggiungere le seguenti righe senza cancellare quelle precedenti:
network= { ssid="ReteETE" psk="PASSWORD" }
con
- ssid il nome della rete wifi
- psk la password del wifi
si può verificare la corretta impostazione della rete con il comando:
wpa_passphrase "NOME-RETE" "password"
Impostazione IP statico
Adesso si deve impostare un IP statico andando ad editare il file /etc/network/interfaces con il comando:
nano /etc/network/interfaces
aggiungendo le seguenti righe:
allow-hotplug eth0 iface eth0 inet static address 10.0.0.1 netmask 255.255.255.0 network 10.0.0.0 broadcast 10.0.0.255 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
da notare come gestisco entrambe le porte la eth0 e la wlan0 in maniera tale che quando ricarico la configurazione entrambe le porte siano correttamente configurate.
Per caricare la corretta configurazione digitare il comando:
service networking restart
Per verificare lo stato del servizio digitare:
service networking status
Installazione dhcp
per installare il dhcp bisogna prima installarlo con il comando:
apt-get install dnsmasq
è buona regola copiare il vecchio file di configurazione prima di modificarlo:
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
adesso vado a digitarlo:
nano /etc/dnsmasq.conf
ed inserisco le seguenti righe:
interface=eth0 # Use interface eth0 listen-address=10.0.0.1 # Specify the address to listen on bind-interfaces # Bind to the interface server=208.67.222.222 # Use OpenDNS domain-needed # Don't forward short names bogus-priv # Drop the non-routed address spaces. dhcp-range=10.0.0.10,10.0.0.50,12h # IP range and lease time
è necessario anche abilitare il forward nel file sdi configurazione sysctl.conf per abilitire l’invio IP IPv4p
Modifica variabili di configurazione di sistema
Bisogan editare il file:
nano /etc/sysctl.conf
e togliere il cancelletto alla riga
#net.ipv4.ip_forward=1
per attivare il nuovo parametro digitare:
sysctl --system
per verificare i parametri attivi nel sistema digitare il comando:
sysctl -a
Configurazione firewall
Si modifica il firewall per consentire a tutto il traffico dalla nostra interfaccia wlan0 alla eth0:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE iptables -A FORWARD -i wlan -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
per consentire a tutte le modifiche di diventare definitive e non di cancellarsi ogni qualvolta che si fa il reboot del sistema si deve:
sh -c "iptables-save > /etc/iptables.ipv4.nat"
nano /etc/rc.local
inserire prima della riga exit 0 la riga:
iptables-restore < /etc/iptables.ipv4.nat
A questo punto si può far partire il dhcp:
service dnsmasq start
ma considerando tutte le notevoli modifiche effettuate, meglio è far ripartire il sistema.
[:]
Salve Prof.
Problema risolto, ho seguito tutti i passi e funziona correttamente, il problema era dato dalle impostazioni predefinite del Raspberry, il quale aveva disabilitate tutte quante le interfacce disponibili.
Molto bravo