В статье "The Hidden Treasures of IPTables" рассказано о некоторых интересных возможностях iptables недоступных в стандартной поставке 2.4 Linux ядра и открывающихся только после установки POM (patch-o-matic) (http://netfilter.org/patch-o-matic/index.html) патчей. Ниже примеры интересных возможностей iptables:
Фильтрация по строковой маске:
iptables -A FORWARD -i eth0 -p tcp --sport 80 \
-m string --string '|7F|ELF' -j DROP
iptables -A FORWARD -i eth0 -p tcp \
! -s 192.168.0.5 --sport 80 -m string \
--string '|7F|ELF' -j DROP
Сжатая компоновка номеров портов в одной строке:
iptables -A INPUT -p tcp -m mport \
--dports 80,110,21,6000:6003 -j ACCEPT
Учет времени при блокировке:
iptables -A INPUT -p tcp -d 80 -m time \
--timestart 04:00 --timestop 06:30 --days Fri \
--syn -j REJECT
Коннект в пустоту (соединение не закрывается, но ничего не происходит)
iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT
Срабатывание правила с заданной вероятностью (в процентах)
iptables -t nat -A PREROUTING -i eth0 -p tcp \
--dport 80 --syn -m random --average 33 \
-j DNAT --to-destination 192.168.0.100:80
iptables -t nat -A PREROUTING -i eth0 -p tcp \
--dport 80 --syn -m random --average 50 \
-j DNAT --to-destination 192.168.0.101:80
iptables -t nat -A PREROUTING -i eth0 -p tcp \
--dport 80 --syn -j DNAT \
--to-destination 192.168.0.102:80
URL: http://www.lowth.com/howto/iptables-treasures.php
Новость: https://www.opennet.ru/opennews/art.shtml?num=3898