4 069
contributi
Riga 58: | Riga 58: | ||
<br/> | <br/> | ||
Lo script, chiamato <tt>firebox.sh</tt>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <tt>/etc/init.d/</tt>. | Lo script, chiamato <tt>firebox.sh</tt>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <tt>/etc/init.d/</tt>. | ||
<pre> | |||
# nano /etc/init.d/firebox.sh | |||
</pre> | |||
<pre> | |||
#!/bin/bash | |||
### BEGIN INIT INFO | |||
# Provides: firebox | |||
# Required-Start: $network $remote_fs $syslog | |||
# Required-Stop: | |||
# Default-Start: 2 3 4 5 | |||
# Default-Stop: 0 6 | |||
# Short-Description: firewall and routing initscript | |||
### END INIT INFO | |||
# Pulisco eventuali catene esistenti | |||
iptables -F | |||
iptables -t nat -F | |||
# Abilito le connessioni di loopback | |||
iptables -A INPUT -i lo -j ACCEPT | |||
iptables -A INPUT -i eth1 -p icmp -j ACCEPT | |||
# Accesso libero a SSH | |||
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT | |||
iptables -A INPUT -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | |||
iptables -A INPUT -i eth1 -m conntrack --ctstate NEW -j DROP | |||
# Regola per il proxy trasparente | |||
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 | |||
# Abilito il forward | |||
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT | |||
# Abilito il NAT | |||
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE | |||
iptables -A FORWARD -i eth1 -o eth1 -j REJECT | |||
# Abilito le funzioni di IP Forward | |||
echo 1 < /proc/sys/net/ipv4/ip_forward | |||
</pre> |