если намудрили и не работает, потестите на простой конфигурации, есть такой скрипт, попробуйте:IPT=/sbin/iptables
LPDIF=lo #петля
INTIF=eth2 #внутри
EXTIF=eth1 #снаружи
INTNET="192.168.0.0/24" сеть
INTUSER="192.168.0.22" ип куда бросаем
INTUSERPORT="50000" порт
EXTIP="xx.xx.xx.xx" внешний ип
MODULES="ip_tables ip_conntrack ip_gre iptable_filter iptable_mangle iptable_nat ipt_LOG ipt_limit ipt_owner ipt_state ipt_owner ipt_REJECT ipt_MASQUERADE ipt_mark ipt_tcpmss ip_nat_ftp ip_conntrack_ftp ip_conntrack_irc"
for i in $MODULES;
do
modprobe $i
done
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i $LPDIF -j ACCEPT
$IPT -A INPUT -i $INTIF -j ACCEPT
$IPT -A OUTPUT -j ACCEPT
$IPT -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport $INTUSERPORT -j ACCEPT
$IPT -A FORWARD -i $EXTIF -o $INTIF -p udp --dport $INTUSERPORT -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp -i $EXTIF -d $EXTIP --dport $INTUSERPORT -j DNAT --to-destination $INTUSER:$INTUSERPORT
$IPT -t nat -A PREROUTING -p udp -i $EXTIF -d $EXTIP --dport $INTUSERPORT -j DNAT --to-destination $INTUSER:$INTUSERPORT
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET-j MASQUERADE
заработает, так постепенно усложняйте, режте лишнее