Originariamente inviato da pilovis
cosa significa "eth0 esterna 192.168.0.254"?
Esterna vuole dire rete pubblica? Non capisco ...

Chi fa il gateway? Il router, oppure e' tutto su una unica macchina?

Come hai impostato i netmask?
Hai provato a fare una rotta statica dalla rete eth0 a quella eth2?

Ho bisogno di capire meglio come e' impostata la rete.
Da ciò che interpreto la situazione è così.
eth0 va al router/modem ed è (probabilmente) in /32 (rete .0.x)
eth1 va alla rete interna ed è interfaccia di routing per la Lan, infatti sta in /24 e non avrebbe senso fosse altrimenti e sta su una rete differente (rete .1.x)
eth2 è DMZ, probabilmente anche questa in /32, ed è anch'essa in rete differente (.2.x).

Le tre reti sono quindi differenti come è giusto che sia su una macchina che fa da router/firewall.
Ora, per poter vedere la DMZ dalla LAN, sebbene NON sia proprio una cosa accettabile dal lato sicurezza, dovresti solo impostare una rotta statica di questo tipo
codice:
route add -net 192.168.2.2 netmask 255.255.255.255 dev eth2
e ovviamente creare apposite regole di firewall per impedire il percorso inverso SE non iniziato dal lato LAN, o se preferisci vederla da un altro punto di vista, per concedere pacchetti dalla DMZ alla LAN solo in risposta a pacchetti iniziati lato LAN.

Piccolo consiglio. Esistono delle distro fatte apposta per svolgere il compito di router/firewall/NAT, per esempio zeroshell, IPCoP, Floppyfw e altre. Prova usando una di queste, ti rendono la vita più facile