Configurare Ubuntu come gateway
Per impostare Ubuntu come gateway utilizziamo iptables
Innanzi tutto impostiamo l’inoltro degli IP
| 1 | sudo nano /etc/sysctl.conf | 
E impostiamo il valore net.ipv4.ip_forward a 1 ( è possibile anche eseguire il veloce comando echo “1” > /proc/sys/net/ipv4/ip_forward ma poi la modifica si perde al riavvio della macchina )
Facciamo rileggere il file /etc/sysctl.conf
| 1 | sysctl -p | 
Ora abilitiamo il NAT e richiamiamolo dal file /etc/rc.local in maniera che venga richiamato ad ogni boot
| 1 | sudo nano /etc/rc.local | 
e inseriamo le seguenti righe
| 1 2 | modprobe ip_conntrack modprobe iptable_nat | 
Se è richiesto usare connessioni FTP impostare anche queste due righe
| 1 2 | modprobe ip_conntrack_ftp modprobe ip_nat_ftp | 
Ora occorre impostare le regole del firewall, impostiamo da subito il mascheramento sull’interfaccia WAN ( eth1 in questo caso è la scheda di rete collegata al nostro modem/router )
| 1 | sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE | 
Abilitiamo il forward
| 1 | sudo iptables -t filter -P FORWARD ACCEPT | 
Diamo poi i permessi a se stesso e ad eventuali connessioni già stabilite
| 1 2 3 | sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT | 
Diamo i permessi solo alla nostra LAN per evitare che da fuori si colleghino
| 1 | sudo iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT | 
Dopo di chè sta solo nel giocare con le regole di iptables per abilitare o meno i servizi che ci servono.
Ovviamente le regole qui sopra se riavviamo la macchina spariscono, quindi serve salvare uno script e farlo eseguire al boot richiamato magari da /etc/rc.local o meglio quando la scheda di rete viene attivata editando /etc/network/interfaces e aggiungendo l’opzione post-up
| 1 2 3 4 5 6 7 | auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 post-up iptables-restore < file-con-le-nostre-regole | 
In questo caso le regole devono essere senza la chiamata a iptables, per ottenere il file adatto basta fare un dump prima
| 1 | sudo iptables-save > file-con-le-nostre-regole |