В статье "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 DROPiptables -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:80iptables -t nat -A PREROUTING -i eth0 -p tcp \
--dport 80 --syn -m random --average 50 \
-j DNAT --to-destination 192.168.0.101:80iptables -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
Новость: http://www.opennet.me/opennews/art.shtml?num=3898
Скрытые возможности netfilter... и не скрытые, а добавленные... да и не новость это уже полгода как... С остальным согласен :o)
imho кромере номеров портов в одной строке бесполезняк...
Не согласные есть?
-j TARPIT тоже неплохо
временные рамки тоже рулез
почти циска
>временные рамки тоже рулез
>почти цискаПеременная, условие для iptables, устанавливаемая через /proc удобнее и более гибкая. Там хоть от времени, хоть от чёрты лысого устанавливай условия.
ну по времени еще может быть... :)
круть
в PoM есть nat протокола GRE, что мне очень важно.Andrei. http://linux.org.by
также PSD - port scan detect, connlimit, connbytes, h323-conntrack-nat, osf (OS fingerprinting), a также много других вкусностей.рулит.
я не фанат freebsd, но это реализация функиональности древнего ipfw. давно пора было...
ети возможности не скритие и некоторие из них сущуствуют уже 2 года, а string match у freebsd еще нет :-( и iptables побистрее будет
для ipfw много чего нет. мне например очень нехватало такой вещи - http://sourceforge.net/projects/iptables-p2p/
я чего-то пропустил? как сделать реализацию --timestart/--timestop на ipfw?
крона не предлагать. =)
А чем на практике плох крон?
>А чем на практике плох крон?Да, уж лучше пусть ядро занимается проверкой вхождения в диапазон на каждое срабатывание правила.... Системные вызов time относительно ресурсоемкий. Кстати, как он время определяет, там же нужно localtime учитывать. libc вон /etc/localtime читает.
я тоже считаю что cron в любом случае лучше для подобной задачи.
Очень порадовало вероятное срабатывание правила %-) Этакая русская рулетка )))
Так это ж самая вкусная шняжка ;) Простой метод создания кластеров тех же веб-серверов ;)
кто нибудь может вкрадце рассказать про target ROUTE? Использовали?
Вероятность красивая штука. Если приложить голову, в некоторых случаях можно до "высшего руководства" в разрезе бюджетирования добраться.Некрасиво. Но можно.
(как выпью - панковское детство просыпается, звиняйте люди добрые)
Просветите несведущего, а когда эти патчи будут входить в состав стандартного ядра? Родмэп есть какой-то для каждой части? Или для всех патчей вкупе?
а проверить не судьба ? ) вообще тут половина старья которым я пользовался ещё в МДК 9.0 установке по умолчанию ничего не патча)к стати научился таки айпитаблес трафик по человечески шейпирорвать ?
>к стати научился таки айпитаблес трафик по человечески шейпирорвать ?
А он тут причем??? Этим iproute2 заведует.
ну Iptables можно использовать как вспомогательный инструмент для Iproute2
в сочетании с модулями connmark,string,p2p получается очень вкусная шняжка ;) эдакий тонкий шейпер ;)
Подборка патчей для обзора IMHO не самая удачная.
Я например в свое время использовал для биллинговой системы интернет-клуба патчик, который прибивал правило в iptables, как только счетчик превышал заданное кол-во байт, кажется он называется limit. Красота, не надо было никаких кронов и прочей мутотени, не говоря уже о том что решение получилось хоть и не совсем стандартным (надо было патчить ядро), но зато красивым и производительным.
Так несколько портов в одной строке давно можно было указать, только через multiport. Для этого не надо устанавливать patch-o-matic
>Так несколько портов в одной строке давно можно было указать, только через
>multiport. Для этого не надо устанавливать patch-o-maticПосмеялся...
Если посмотреть на даты сообщений, и увидеть --mport можно, даже не зная факта,
сделать вывод о вхождении этих патчей в мейнстрим.