Во первых нормально прикрыть роутер:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -m state --state ! ESTABLISHED,RELATED -j LOG
/sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp -j ACCEPT
Затем для каждого пользователя кторый не использует прямые адреса прописать:
iptables -A FORWARD -s 192.168.x.x -j ACCEPT
iptables -A FORWARD -d 192.168.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.x.x -j MASQUERADE
А для тех кто использует прямые ip прописать:
iptables -t nat -A POSTROUTING -s 192.168.x.x -j SNAT --to-source x.x.x.x
iptables -A FORWARD -p tcp -d 192.168.x.x --syn -j ACCEPT
iptables -A FORWARD -s 192.168.x.x -j ACCEPT
iptables -A FORWARD -d 192.168.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d x.x.x.x -j DNAT --to-destination 192.168.x.x
iptables -t nat -A PREROUTING -p udp -d x.x.x.x -j DNAT --to-destination 192.168.x.x
Соответственно ра роутере должны быть прописанны все x.x.x.x адреса.
Если будешь пинговать из инета, то будет пинговаться роутер, а все остальные порты перенаправляться на клиентские компы. еще одно но, из локальной сети на адреса x.x.x.x ломиться бесполезно, они все равно потеряются.