NAT con iptables
Scenario
Abbiamo una macchina Debian che vogliamo usare come gateway per internet, per poter fornire uno o più dei seguenti servizi:
- Firewall
- Transparent Proxy
- Content Filtering
- Routing verso un modem ADSL
La nostra rete LAN si presenta quindi in questo modo:
INTERNET | | Modem ADSL | | Debian NAT | | Switch | | Rete LAN
Il nostro scopo è quello di utilizzare il modem ADSL per permettere a tutte le macchine della nostra rete LAN di andare in internet, passando attraverso il firewall Debian. Inoltre sarà configurato un accesso SSH da internet verso una macchina della nostra rete LAN.
Per tutta la guida verranno utilizzati i seguenti indirizzi:
- Rete LAN: 192.168.1.0
- Macchina accessibile via SSH: 192.168.1.200
- Eth0 Debian NAT: 192.168.1.254
- Eth1 Debian NAT: 172.16.200.254
- Modem ADSL: 172.16.200.1
Installazione
In quasi tutte le versioni di Debian, il pacchetto iptables dovrebbe già essere installato, ma può esser utile controllare:
apt-get install iptables
Configurazione - I Modo
La prima configurazione proposta prevede l'utilizzo del pacchetto ipmasq, presente nei repository di Debian. Ipmasq è una collezione di script molto ben congegnata, che facilita la configurazione di un IP Masquerade su Debian GNU/Linux. l'IP Masquerade è una funzionalità del kernel di Linux che permette a un'intera rete di computer di essere connessa ad un'altra rete (quasi sempre internet) utilizzando l'indirizzo IP pubblico del gateway.
Di default, ipmasq configura il sistema sul quale è installato con le seguenti funzionalità:
- protezione da IP spoofing
- protezione da stuffed routing
- connessioni permesse dalla LAN verso internet
- connessioni bloccate da internet verso la LAN
Quindi con il semplice comando:
apt-get install ipmasq
risolviamo tutti i nostri problemi e otteniamo un firewall perfettamente funzionante.