WIFi extender con raspberry – Seconda Parte
Nel primo articolo abbiamo visto come installare i driver per un dongle WIFi su Raspberry 3.
In questo articolo vedremo come servircene per realizzare un WiFi extender.
I due pacchetti fondamentali che andremo ad installare e ad utilizzare per questo scopo sono: dnsmasq e hostapd.
dnsmasq fungerà da dhcp server per le nostre connessioni.
hostapd questo è il pacchetto che ci permetterà di configurare la nostra dongle Wi-Fi come punto di accesso
Installiamo anzitutto i due pacchetti:
sudo apt-get install dnsmasq
sudo apt-get install hostapd
Prima di configurarli andiamo a settare la rete Wi Fi a cui si connetterà il Rasperry.
Per motivi di ricezione useremo il dongle WIFi per connetterci al router e la scheda Wifi interna per fare da extender.
Editiamo il file wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
In questo file inseriamo i dati della nostra rete Wifi domestica inserendo i nostri dati
network= ssid="networkname" psk="networkpassword" }
Salviamo e successivamente andiamo a settare un indirizzo IP statico per il nostro Raspberry modificando il file dhcpcd.conf e imponendo un indirizzo all’interfaccia wlan1 che in questo caso corrisponderà al dongle Wifi.
sudo nano /etc/dhcpcd.conf
in questo file aggiungiamo i seguenti dati o altri compatibili con la nostra configurazione di rete Wifi domestica.
interface wlan1 static ip_address=192.168.1.77/24 static routers=192.168.1.1
Configuriamo anche l’indirizzo ip della nostra scheda wifi interna (wlan0) che fungerà da extender.
interface wlan0 static ip_address=192.168.4.1/24 nohook wpa_supplicant
Tutti i dispositivi che si connetteranno all’extender avranno, come vedremo meglio in seguito, indirizzi compatibili con la rete 192.168.4.1/24
A questo punto eseguiamo un restart del servizio dhcpcd
sudo service dhcpcd restart
Adesso andiamo a modificare il file hostapd.conf con il comando
sudo nano /etc/hostapd/hostapd.conf
In questo file andremo ad inserire le seguenti configurazioni:
interface=wlan0 driver=nl80211 hw_mode=g channel=6 ieee80211n=1 wmm_enabled=1 ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] macaddr_acl=0 ignore_broadcast_ssid=0 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP ssid=Pi3-Extender wpa_passphrase=raspberry
In particolare le istruzioni ssid=Pi3-Extender wpa_passphrase=raspberry definiranno SSID e passphrase della rete che fungerà da wifi extender.
Se decidete di usare la dongle come extender allora non dovete fare altro che sostituire nel rigo driver= il nome corrispondente al suo driver.
Di seguito andiamo a dire dove si trova il file di configurazione di hostapad
Editiamo il file
sudo nano /etc/default/hostapd
e dentro inseriamo
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Per lo stesso motivo editiamo un secondo file
sudo nano /etc/init.d/hostapd
anche in questo file andremo ad inserire DAEMON_CONF=/etc/hostapd/hostapd.conf
Finita la configurazione di hostapd adesso andiamo a configurare dnsmasq.
Apriamo il file di configurazione con il comando sudo nano /etc/dnsmasq.conf
Inseriamo i comandi seguenti che configurano il pool di indirizzi che il dhcp server assegnerà ai dispositivi che si collegheranno con l’extender.
interface=wlan0
dhcp-range=192.168.4.1,192.168.4.100,255.255.255.0,12h
Fatto questo, effettuiamo uno start dei due servizi.
sudo systemctl start hostapd sudo systemctl start dnsmasq
Adesso dobbiamo fare in modo che tutto il ttraffico proveniente da wlan0 sia ridirezionato su wlan1.
Editiamo il file sysctl.conf
sudo nano /etc/sysctl.conf
e inseriamo in esso net.ipv4.ip_forward=1
Andiamo quindi a configurare il nat tra wla1 e wlan0
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE sudo iptables -A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
Di seguito salviamo le regole di nat in un file
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Infine facciamo in modo che il file con queste regole sia caricato ad ogni riavvio. Editiamo il file rc.local
sudo nano /etc/rc.local
Inseriamo nel rigo sopra all’istruzione che contiene exit 0 il seguente comando:
iptables-restore < /etc/iptables.ipv4.nat
A questo punto basterà effettuare il reboot per verificare il wifi extender èa ttivo e funzionante.