Raspberry PI 2 B WiFi Router
Updated at: 17/06/2015
Configuriamo la nostra Raspberry Pi 2 model B (con raspbian come OS) per fare da router sull'interfaccia WiFi utilizzando la scheda Edimax EW-7811UN.
La guida da cui ho preso spunto è questa (anche se alcune cose sono modificate ad hoc):
http://www.acmesystems.it/webapp_server
Per prima cosa installiamo i componenti necessari (è normale che
isc-dhcp-server dia errore subito dopo l'installazione perché dovremo configurarlo)
sudo -s
apt-get update
apt-get install -y hostapd dnsmasq iw isc-dhcp-server
apt-get install zip
La versione "standard" di hostapd non funziona (perlomeno con questa scheda di rete), quindi scarichiamo alcuni file per farne il fix (li trovate anche
qui)
wget http://www.jsmservice.eu/Downloads/hostapd.zip
unzip hostapd.zip
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
sudo mv hostapd /usr/sbin/hostapd.edimax
sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd
sudo chown root.root /usr/sbin/hostapd
sudo chmod 755 /usr/sbin/hostapd
Quindi andiamo a modificare l'interfaccia di rete wlan0
nano /etc/network/interfaces
aggiungiamo le seguenti righe per la connessione wlan0
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0
ifdown wlan0 && ifup wlan0
Ora andiamo a creare il file di configurazione per hostapd
nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=rtl871xdrv
bridge=br0
ssid=RPi
channel=1
wmm_enabled=0
wpa=1
wpa_passphrase=wifi_pw
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
Configuriamo ora il server DHCP per funzionare sull'iterfaccia di rete corretta:
nano /etc/default/isc-dhcp-server
modifichiamo la seguente riga mettendo wlan0 come interfaccia:
INTERFACES="wlan0"
nano /etc/dhcp/dhcpd.conf
sostituiamo tutto con le seguenti righe:
ddns-update-style none;
option domain-name "acme.org";
option domain-name-servers 192.168.2.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.50 192.168.2.100;
option routers 192.168.2.1;
}
quindi riavviamo il servizio DHCP
/etc/init.d/isc-dhcp-server restart
A questo punto, se tutto è andato bene, testiamo la nostra condivisione WiFi lanciando il comando:
hostapd /etc/hostapd/hostapd.conf
Dovrebbe avviarsi la connessione wifi e da un altro dispositivo connetterci alla nostra Raspberry con la password specificata nel file conf.
Se tutto è a posto mettiamo in avvio automatico la creazione della rete wifi
nano /etc/default/hostapd
modifichiamo la riga come segue (rimuovendo il commento # all'inizio della riga):
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Eseguiamo un reboot e tutto dovrebbe funzionare.
Al momento, in questa configurazione, è possibile solo accedere alla scheda tramite rete, non fa da router verso internet (posto che sia connessa a una rete su eth0).
Se vogliamo evitare che la scheda ci metta tantissimo ad avviarsi in assenza di connessione su eth0, modifichiamo il file /etc/dhcp/dhclient.conf come segue:
nano /etc/dhcp/dhclient.conf
timeout 10;
retry 15;