Estou um pouco confuso com a sua explicação. Então, vou usar um exemplo de cenário aqui:
- eth0 = WAN = 123.11.22.33
- eth1 = DMZ = 192.168.1.0/24
- eth2 = LAN = 172.16.0.0/16
E o servidor web recebe 192.168.1.55
# First, allow LAN & DMZ to access the outside world
-t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Now, allow outside access to the webserver
-t nat -A PREROUTING -i eth0 -d 123.11.22.33 -p tcp --dport 80 -j DNAT --to 192.168.1.55:80
# Finally, allow forwarding
-A FORWARD -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -d 191.168.1.55 -p tcp --dport 80 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT
Se precisar de mais segurança, sinta-se à vontade para expandir as duas últimas linhas acima, por exemplo:
-N eth1_fwd
-N eth2_fwd
-A FORWARD -i eth1 -g eth1_fwd
-A FORWARD -i eth2 -g eth2_fwd
-A eth1_fwd -s ...... -j ACCEPT
...
-A eth2_fwd -s ...... -j ACCEPT
...
Espero que isso ajude. Não esqueça de adicionar uma rota padrão para o gateway padrão da eth0:)
editar: oops, errado ifaces nas regras posteriores