Raspberry Pi 3 B+ come access point

I miei appunti su come far funzionare una Raspberry Pi come access point WiFi

Installare hostapd e dnsmasq:

sudo apt update
sudo apt -y install hostapd dnsmasq

Aggiungere queste due linee:

denyinterfaces wlan0
denyinterfaces eth0

nel file /etc/dhcpcd.conf per non far gestire di default le interfacce di rete a dhcpcd:

sudo nano /etc/dhcpcd.conf

Aggiungere nel file /etc/network/interfaces le seguenti linee:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.5.1
netmask 255.255.255.0
network 192.168.5.0
broadcast 192.168.5.255

Potete cambiare 192.168.5.x con la rete che preferite.

sudo nano /etc/network/interfaces

Abilitare l'IP forwarding levando il commento a questa linea che diventa da:

#net.ipv4.ip_forward=1

a

net.ipv4.ip_forward=1

il file da editare è questo:

sudo nano /etc/sysctl.conf

Fare il reboot della scheda:

sudo reboot

Controllare se l'ip_forward è attivo:

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Controllare se la WiFi è su:

$ ifconfig wlan0
wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.5.1  netmask 255.255.255.0  broadcast 192.168.5.255
        ether b8:27:eb:75:46:bf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Modificare /etc/rc.local per eseguire iptables al boot:

sudo nano /etc/rc.local

e aggiungere questa riga prima di "exit 0"

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  

Configurare hostapd creando un nuovo file di configurazione:

sudo nano /etc/hostapd/hostapd.conf

con questi contenuti:

interface=wlan0
driver=nl80211
hw_mode=g
channel=6
wmm_enabled=1
ieee80211n=1
#bridge=br0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=nome_da_dare_alla_nuova_rete_wifi
wpa_passphrase=password_di_accesso

Cambiare ovviamente nome_da_dare_alla_nuova_rete_wifi e password_di_accesso con il nome e la password che volete impostare per accedere a questo access point.

La password di accesso all'access point deve essere di almeno 8 caratteri.

Modificare il file:

sudo nano /etc/default/hostapd

e cambiare la riga:

#DAEMON_CONF=""

in

DAEMON_CONF="/etc/hostapd/hostapd.conf"

quindi abilitare in systemd il servizio hostapd

sudo systemctl daemon-reload
sudo systemctl enable hostapd
sudo systemctl unmask hostapd

Configurate ora il servizio dnsmasq:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.original
sudo nano /etc/dnsmasq.conf

Inserire questo nuovo contenuto:

interface=wlan0
listen-address=192.168.5.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.5.100,192.168.5.200,24h

Fare il reboot:

sudo reboot

A questo punto il nuovo access point dovrebbe essere visibile

Links