4 069
contributi
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à== |