NAT con iptables: differenze tra le versioni

Riga 46: Riga 46:
risolviamo tutti i nostri problemi e otteniamo un firewall perfettamente funzionante.
risolviamo tutti i nostri problemi e otteniamo un firewall perfettamente funzionante.
=Configurazione - II Modo=
=Configurazione - II Modo=
Tuttavia, se volessimo addentrarci in configurazioni particolari, ipmasq potrebbe starci un po' stretto. In questo capitolo vedremo pertanto come effettuare una semplice configurazione manuale di iptables.<br>
Generalmente iptables viene configurato da linea di comando e non prevede files di configurazione; il modo migliore per rendere definitive le modifiche alla configurazione e mantenerle anche dopo un riavvio del server è utilizzare uno script.<br>
Il seguente script configura iptables per un servizio di routing DNAT and SNAT (destination/source network address translation) e in più imposta una regola per accettare le connessioni entranti sulla porta 22 (SSH), dirottandole verso la macchina locale di indirizzo IP 192.168.1.200:
<pre>
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=firewall
DESC="Routing - NAT - SSH"
# Indirizzo IP della eth1 del firewall
EXTERNIP="172.16.200.254"
# La macchina della rete che risponde alle richieste SSH
SSHHOST="192.168.1.200"
# Il range IP della LAN
LOCALNET="192.168.1.0/24"
case "$1" in
  start)
        iptables -t nat -A POSTROUTING -d ! ${LOCALNET} -j SNAT --to ${EXTERNIP}
        iptables -t nat -A PREROUTING --dst ${EXTERNIP} -p tcp --dport 22 -j DNAT --to-destination ${SSHHOST}
        echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
        ;;
  stop)
        echo 0 > /proc/sys/net/ipv4/conf/all/forwarding
        iptables -t nat -F
        ;;
    *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop}" >&2
        exit 1
        ;;
esac
exit 0
</pre>
Modificate gli indirizzi IP secondo le vostre esigenze e salvate il file come <tt>//etc/init.d/firewall</tt>.
A questo punto rendiamolo eseguibile con il comando:
<pre>
chmod +x firewall
</pre>
e automatizziamolo:
<pre>
update-rc.d firewall defaults
</pre>
==Iptables in profondità==