[:it]A differenza del post hot spot con Rasperry che creava sì un accesso wifi ma attivava un dhcp per la gestione delle sole connessioni wifi, in questo caso si crea un “semplice” bridge tra la porta eth0 e wlan0 usando bridge-utils in maniera molto attenta.
Tale scelta demanda al dhcp della LAN l’assegnazione degli indirizzi IP e nel contempo interviene il proxy presente nella LAN stessa con la relativa autenticazione e regole del firewall e controllo della navigazione.
Ecco i dettagli tecnici per la sua realizzazione:
apt-get install hostapd bridge-utils
bloccare il servizio hostapd
service hostapd stop
nano /etc/dhcpcd.conf
aggiungere
denyinterfaces wlan0
denyinterfaces eth0
alla fine del file ma sopra le altre righe interface
Salvo il file.
Dalla linea comandi
Aggiungo una porta virtuale che chiamo br0
brctl addbr br0
Connetto la porta di rete eth0
al bridge br0
.
brctl addif br0 eth0
ora vado a modificare il file interfaces
nano /etc/network/interfaces
aggiungerndo le seguenti righe
# Bridge setup
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
ora vado a modificare il file di configurazione hostapd.conf
nano /etc/hostapd/hostapd.conf
in questa maniera:
interface=wlan0
bridge=br0
ssid=NameOfNetwork
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=AardvarkBadgerHedgehog
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
se voglio modificare la banda di trasmissione posso seguire la seguente legenda:
‘hw_mode=g’ a ‘hw_mode=a’
- a = IEEE 802.11a (5 GHz)
- b = IEEE 802.11b (2.4 GHz)
- g = IEEE 802.11g (2.4 GHz)
- ad = IEEE 802.11ad (60 GHz).
adesso devo modificare:
nano /etc/default/hostapd
trovare la linea #DAEMON_CONF, e sostituirla con:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
andare nel file /etc/sysctl.conf
net.ipv4.ip_forward=1
adesso modificare le tabelle del firewall
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sh -c "iptables-save > /etc/iptables.ipv4.nat"
Andare sul file /etc/rc.local ed aggiungere sopra “exit 0” questa regola:
iptables-restore < /etc/iptables.ipv4.nat &
sudo service hostapd start
dare il comando
systemctl unmask hostapd.service
Dopo il reboot da un semplice ipconfig si vedrà che SOLO la porta logica br0 avrà asseganto l’indirizzo IP.
[:]
Funziona !
nel file /etc/sysctl.conf , basta decommentare #net.ipv4.ip_forward=1