ciao
risposta 1:
Fai anche un SNAT per le risposte? Potrebbe non funzionare perché il client si vede recapitare pacchetti di ritorno provenienti da una porta diversa da quella richiesta.
risposta 2:
ma 12.0.0.10 è il firewall stesso o una macchina in dmz?
Se è il firewall è giusto usare OUTPUT ma sbagliato usare -i, son pacchetti generati dall'host e quindi senza interfaccia di entrata. per impedire il ping:
iptables -t filter -I OUTPUT -p icmp -o eth2 -j DROP
per impedire le connessioni in generale:
iptables -t filter -I OUTPUT -m state --state NEW -o eth2 -j DROP
se invece 12.0.0.10 non è il firewall va usato FORWARD al posto di OUTPUT e possiamo usare l'interfaccia di entrata:
iptables -t filter -I FORWARD -p icmp -i eth1 -o eth2 -j DROP
iptables -t filter -I FORWARD -m state --state NEW -i eth1 -o eth2 -j DROP
P.S.: ma le policy di default sono ACCEPT? Se le imposti a DROP e abiliti solo quello che vuoi far passare potresti semplificarti la vita.