Scenario comune: DMZ Firewall
Un firewall di rete classico permette di filtrare il traffico esterno prima che raggiuna dei server in una DMZ. Ha almeno 2 interfacce (una esterna, esposta ad Internet, una sulla DMZ, che costituisce il default gateway dei server pubblici).
Puņ agire in 2 modi principali:
- Routing fra rete esterna e DMZ con IP pubblic
- Natting fra rete esterna e DMZ con IP privati nattati dal firewall
In entrambi i casi l'IP forwarding va attivato.
Su un routing firewall con DROP di default, per quanto riguarda il controllo del traffico in transito bastano regole come:
iptables -A FORWARD -d 217.56.217.2 -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 217.56.217.2 -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -m tcp -p tcp -s 217.56.217.0/255.255.255.240 -i eth1 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
Se viene introdotto il natting dei server pubblici su host con IP privato (10.0.0.x):
iptables -A FORWARD -d 10.0.0.2 -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 10.0.0.2 -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -m tcp -p tcp -s 10.0.0.0/255.255.255.0 -i eth1 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -d 217.56.217.2 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT
Notare che per ogni IP di cui il firewall fa destination natting č necessario che il sistema risponda ad arp request, per cui deve avere tutti gli IP nattati configurati come alias sulla sua interfaccia esterna.