Firewall/NAT in 2 minuti

Ritratto di admin

Se vogliamo proteggere una rete locale e permettere la navigazione abilitando il NAT, possiamo usare al volo una configurazione di questo tipo.
Facciamo uno scirpt che chiamiamo rc.firewall:

#########################
#####rc.firewall
#########################
# eth0= LAN interface
# eth1= NET interface
# 192.168.10.0 = LAN interna

# Abilitiamo il forwarding dei pacchetti tra le interfacce (interna ed esterna)
echo 1 > /proc/sys/net/ipv4/ip_forward

# Cancelliamo tutte le vecchie policy
iptables -F
iptables -t nat -F
iptables -t mangle -F

# apertura di default (reset del firewall)
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Politiche di default tutte a DROP (privilegio minimo)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Viene permesso il traffico stabilito o correlato
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Viene abilitato il forward della rete interna
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT

# Viene permesso l'accesso al firewall via ssh dalla rete interna
iptables -A INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT

# Impostiamo il MASQUERADING (NAT) per la rete interna
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE

# Abilitiamo iltraffico in uscita dal firewall per DNS ed SSH
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
#########################