Из моего опыта (пусть он и не так велик), для работы с Linux-системами чаще всего используются следующие правила и возможности iptables:

iptables -L INPUT –line-numbers – просмотреть правила

iptables -D INPUT “номер” – удалить правило с данным номером

iptables -t nat -L POSTROUTING –line-numbers – просмотреть правила для NAT

iptables -t nat -D POSTROUTING “номер” – удалить правило для NAT с данным номером

iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth1 -j SNAT –to-source 111.111.111.111 – создать правило NAT для данного внутренного ip

iptables -t nat -A PREROUTING -p tcp -d 192.168.0.1 –dport 21 -j DNAT –to-destination 192.168.1.1:21 – проброс порта

Максимум 5 одновременных соединений к данному порту с одного IP
iptables -A INPUT-p tcp –dport порт -m iplimit –iplimit-above 5 -j REJECT

Ограничение трафика на данном порту

iptables –new-chain car
iptables –insert OUTPUT 1 -p tcp –destination-port “порт” -o eth1 –jump car
iptables –append car -m limit –limit 20/sec –jump RETURN
iptables –append car –jump DROP

Хотим отключить интернет у пользователя? Запретим ему обмен данными по любому маршруту: iptables -A FORWARD -d 192.168.0.12 -j DROP