Un Hotspot WiFi usando il RPi3 e Fedora
Un Hotspot WiFi usando il RPi3 e Fedora
Installazione Fedora
Si veda la pagina GNU-Linux:Installazione:FedoraRPi3 per avere informazioni su come installare Fedora sul Raspberry Pi.
In questo Howto si utilizza l'immagine Minimal di Fedora 26. Il Raspberry è la versione 3, quello con il WiFi integrato.
Configurazione LAN
Si presuppone che l'interfaccia Ethernet eth0 sia già stata configurata durante il setup iniziale.
Installazione del wifi
Per far sì che il device WiFi a bordo del Raspberry funzioni, c'è bisogno di scaricare un file che non può essere distribuito con Fedora. Se non lo avete già fatto:
curl https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt \ -o /lib/firmware/brcm/brcmfmac43430-sdio.txt reboot
Configurazione firewall e rete
In Fedora il firewall è gestito dal demone [firewalld]. Di default ci sono già delle zone preesistenti, probabilmente con regole preconfezionate a seconda del livello di sicurezza (public, internal, ecc.), ma andiamo a crearne un'altra
firewall-cmd --permanent --new-zone=wifi firewall-cmd --reload
Configuriamo l'interfaccia wireless wlan0 con il comando nmcli (Network Manager command line interface). In questo modo viene creato un profilo in NetworkManager, che verrà attivato al boot.
nmcli con add type 802-11-wireless con-name HOTSPOT ifname wlan0 connection.zone wifi connection.autoconnect yes 802-11-wireless.ssid TUOSSID 802-11-wireless.mode ap 802-11-wireless-security.key-mgmt wpa-psk 802-11-wireless-security.psk tuapazzword ipv4.method manual ipv4.addresses 192.168.57.1/24 ipv6.method ignore nmcli con show
Configuriamo le regole del firewall
firewall-cmd --permanent --get-zones firewall-cmd --get-zone-of-interface=eth0
In questo modo tutto il traffico in uscita da eth0 viene nattato
firewall-cmd --zone=public --add-masquerade --permanent
Consentiamo i servizi necessari sullinterfaccia wifi
firewall-cmd --permanent --zone=wifi --add-service=dhcp firewall-cmd --permanent --zone=wifi --add-service=ssh firewall-cmd --permanent --zone=wifi --add-service=dns firewall-cmd --reload firewall-cmd --get-zone-of-interface=wlan0 firewall-cmd --info-zone=wifi firewall-cmd --get-active-zones
L'ultimo comando dovrebbe dire così
public interfaces: eth0 wifi interfaces: wlan0
Abilitiamo il forward dei pacchetti fra le due interfacce
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/10-ip_forward.conf sysctl --system
Installazione e configurazione del DHCP
dnf install dnsmasq
vi /etc/dnsmasq.d/hotspot.conf
Questa è una configurazione di base di dnsmasq
interface=wlan0 no-dhcp-interface=lo,eth0 dhcp-range=192.168.57.11,192.168.57.100,255.255.255.0,12h
systemctl enable dnsmasq systemctl start dnsmasq