Всё ниже написанное действительно лишь в том случае, если включён IP_FORWARDING:
echo 1 > /proc/sys/net/ipv4/ip_forwardОчистка всех правил
iptables -F
iptables -t nat -F
Проброс порта через сервер
iptables -t nat -A PREROUTING -p tcp -d 192.168.2.10 --dport 9999 -j DNAT --to-destination 192.168.2.100:80
iptables -t nat -A POSTROUTING -d 192.168.2.100/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.2.10
Дропать пакеты по входу или выходу
iptables -A INPUT -s 193.124.0.32/32 -j DROP
iptables -A OUTPUT -d 118.194.34.0/24 -j DROP
Простейший файервол на iptables
Логика такая - доступ к порту 8000 только для нулевой подсети и определённых IP. Всех остальных перенаправляем на 9000, на котором либо пусто, либо висит сообщение(поток) о том, что доступ ограничен.
iptables -A PREROUTING -t nat -i eth0 -s 194.158.204.7/32 -p tcp --dport 8000 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -i eth0 -s 95.46.201.28/32 -p tcp --dport 8000 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -i eth0 -s 86.57.178.10/32 -p tcp --dport 8000 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -i eth0 -s 178.124.202.12/32 -p tcp --dport 8000 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -i eth0 -s 78.61.226.14/32 -p tcp --dport 8000 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -i eth0 ! -s 192.168.0.0/16 -p tcp --dport 8000 -j REDIRECT --to-port 9000