ma non dovrà esistere nessuna regola di masquerading di iptables.
Se mai questa esistesse, bisognerà rimuoverla:
# iptables -t nat -D POSTROUTING 1
Una volta configurata, sarà possibile attivare l'interfaccia di bridge virtuale br0 come una normale scheda di rete fisica sia assegnando un ip statico che dinamico via dhcp.
A questo punto si potranno collegare pc, hub, switch, etc. alla porta ethernet o a quella wifi e la "comunicazione" sarà garantita. Queste periferiche saranno in grado di "vedersi" e comunicare l'una con l'altra senza che ci sia bisogno di impostare gli indirizzi ip su classi differenti e senza dover impostare le regole di iptables.
Modalità router
Per il routing, invece, è necessario avere a che fare con le regole di netfilter per mezzo di iptables.
Autorizziamo l'interfaccia ath0 ad accettare nuove connessioni e istruiamola a forwardarle verso l'esterno attraverso l'interfaccia eth0:
# iptables -A FORWARD --in-interface ath0 --out-interface eth0 --source 192.168.1.0/255.255.255.0 -m state --state NEW -j ACCEPT
# iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
# iptables -A FORWARD -m state --state RELATED -j ACCEPT
Impostiamo il NAT per "mascherare" gli ip della lan:
# iptables -t nat -A POSTROUTING -j MASQUERADE
in questo modo i pacchetti in uscita sembreranno tutti provenienti dalla linux-box che sta eseguendo il routing.
Infine attiviamo il packet forwarding a livello kernel:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Questo setup farà passare il traffico dalla lan ad internet ma non si preoccuperà di configurare i parametri di rete nei computer della lan. In ognuno di essi sarà necessario impostare indirizzo ip, indirizzo del gateway, indirizzo del dns. Se si utilizza il nostro Debian AP come NAT gateway, questo potrà essere facilmente ottenuto usando il dhcp.
Le impostazioni di iptables e dell'ip_forward fin qui definite si perderebbero in caso di halt o reboot del sistema. È quindi consigliabile inserirle in uno script apposito da avviarsi in automatico al boot dell'ap.