hai ca fac eu in locul tau (sa vezi ce iese) client -> gw -> afara
client neroutabil, gw = extern rutabil, intern nerutabil, afara e netu' pui pe gw un -t nat -A POSTROUTING -s $client -d any/0 -j MASQUERADE (sau -j SNAT --to $gw_extern - nu mai stiu daca e --to, asta e sigur la DNAT, pana mea ... mi-e lene, man iptables :-) sau foloseste prima ca e generica) si dupa aia -A FORWARD -s $client -d any/0 -j ACCEPT -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED (astea doua daca ai cumva policiul de REJECT sau DROP pus pe forward, daca nu nu e nevoie de ele) mai departe daca la intoarcere pachetele trec tot prin gw, nu e nevoie sa bagi nici o regula in plus, ca se ocupa contrackul de ele (eventual face match pe state/ESTABLISHED daca adaugi si regula aia); oricum nat-ul din cate am inteles se foloseste doar la SYN, mai departe e pe baza de conntrack Alex, care nici macar el nu intelege ce draq a scris aici (need a beer)
