Linux Raspberry as access point - omartek/linux_variePerLaboratorio GitHub Wiki
Guida estratta dal sito ufficiale RaspberryPI.org
Aggiorna il SO
sudo apt-get update sudo apt-get upgrade
e installare i seguenti pacchetti software:
sudo apt-get install dnsmasq hostapd
Spegni i servizi dns e AP appena installati in quanto vanno configurati:
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
Per funzionare da server il RaspberryPi deve avere un indirizzo IP statico assegnato alla porta wireless. Assegneremo al server l'indirizzo IP 192.168.4.1. Si presume inoltre che il dispositivo wireless in uso sia wlan0.
Per fare ciò modifichiamo il file di configurazione di dhcpcd con:
sudo nano /etc/dhcpcd.conf
''# modifichiamo la riga relativa''
interface wlan0
static ip_address=192.168.4.1/24
''e riavviamo il servizio''
sudo service dhcpcd restart
Il servizio DHCP è fornito da dnsmasq. Per impostazione predefinita, il file di configurazione contiene molte informazioni che non sono necessarie ed è più facile iniziare da zero.
Rinominare questo file di configurazione e modificarne uno nuovo:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo nano /etc/dnsmasq.conf
Digita o copia le seguenti informazioni nel file di configurazione di dnsmasq e salvalo:
interface=wlan0 # Use the require wireless interface - usually wlan0 dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
Quindi wlan0, forniremo indirizzi IP tra 192.168.4.2 e 192.168.4.20, con un lease time di 24 ore.
Modificare il file di configurazione hostapd, situato in /etc/hostapd/hostapd.conf.
sudo nano /etc/hostapd/hostapd.conf ''# Aggiungi le informazioni di seguito al file di configurazione. Questa configurazione presuppone che stiamo usando il canale 7, con un nome di rete di NameOfNetwork e una password AardvarkBadgerHedgehog. Si noti che il nome e la password non devono contenere virgolette. La passphrase deve avere una lunghezza compresa tra 8 e 64 caratteri.'' interface=wlan0 driver=nl80211 ssid=NameOfNetwork #nome SSID hw_mode=g channel=7 #canale trasmissione wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=password_MIN8_caratteri_NO_virgolette wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Dire al sistema dove trovare questo file:
sudo nano /etc/default/hostapd ''#nella riga seguente'' DAEMON_CONF="/etc/hostapd/hostapd.conf"
Ora avvia i servizi rimanenti:
sudo systemctl start hostapd sudo systemctl start dnsmasq
Modifica
sudo nano /etc/sysctl.conf
#''e decommenta questa riga:'
net.ipv4.ip_forward=1
Aggiungi un masquerade per il traffico in uscita su eth0:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#''e salva le regole''
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Modifica /etc/rc.local per installare queste regole all'avvio.
sudo nano /etc/rc.local
#''e aggiungi questo appena sopra "exit 0"''
iptables-restore < /etc/iptables.ipv4.nat
Per condividere la connessione proveniente dalla porta Ethernet deve essere installato un "bridge" tra il dispositivo wireless e il dispositivo Ethernet. Installare i seguenti pacchetti per abilitare l'installazione del punto di accesso e il bridging:
sudo apt-get install hostapd bridge-utils
Al termine del file etc/dhcpcd.conf aggiungere le seguenti righe. Permette di collegarsi direttamente a Raspberry collegandosi direttamente via cavo. Ovviamente dovrà esserci attivo ssh o Vnc per poter operare da remoto.
interface eth0 fallback ipstatic-eth0