The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Скрытые возможности Iptables (опубликован перевод на русский язык)

05.06.2004 17:26

Андрей Киселев перевел на русский язык, проанонсированную в OpenNews на прошлой неделе, статью "The Hidden Treasures of IPTables", в которой рассказано о некоторых интересных возможностях iptables недоступных в стандартной поставке 2.4 Linux ядра и открывающихся только после установки POM (patch-o-matic) патчей.

Ниже примеры интересных возможностей 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



  1. Главная ссылка к новости (http://gazette.linux.ru.net/ru...)
  2. Оригинал на английском: The Hidden Treasures of IPTables
  3. Перевод на русский язык
Лицензия: CC-BY
Источник: librenix.com
Тип: английский / Выше среднего
Короткая ссылка: https://opennet.ru/3898-iptables
Ключевые слова: iptables, filter, kernel, linux, firewall
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Moralez (?), 10:02, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скрытые возможности netfilter... и не скрытые, а добавленные... да и не новость это уже полгода как... С остальным согласен :o)
     
  • 1.2, Аноним (2), 10:19, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    imho кромере номеров портов в одной строке бесполезняк...
    Не согласные есть?
     
     
  • 2.12, жик (?), 09:09, 27/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    -j TARPIT тоже неплохо
     

  • 1.3, One (??), 10:47, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    временные рамки тоже рулез
    почти циска
     
     
  • 2.23, noname (??), 15:07, 06/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >временные рамки тоже рулез
    >почти циска

    Переменная, условие для iptables, устанавливаемая через /proc удобнее и более гибкая. Там хоть от времени, хоть от чёрты лысого устанавливай условия.

     

  • 1.4, Denis (??), 10:49, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну по времени еще может быть... :)
     
  • 1.5, screepah (??), 11:24, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    круть
     
  • 1.6, Andrei (??), 11:39, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в PoM есть nat протокола GRE, что мне очень важно.

    Andrei. http://linux.org.by

     
  • 1.7, GRisha (?), 12:04, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    также PSD - port scan detect, connlimit, connbytes, h323-conntrack-nat, osf (OS fingerprinting), a также много других вкусностей.

    рулит.

     
  • 1.8, ama (?), 13:12, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я не фанат freebsd, но это реализация функиональности древнего ipfw. давно пора было...
     
     
  • 2.10, Firewalker (??), 19:30, 26/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    ети возможности не скритие и некоторие из них сущуствуют уже 2 года, а string match у freebsd еще нет :-( и iptables побистрее будет
     
     
  • 3.11, choopie (?), 23:17, 26/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    для ipfw много чего нет. мне например очень нехватало такой вещи - http://sourceforge.net/projects/iptables-p2p/
     
  • 2.13, ol (??), 10:55, 27/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    я чего-то пропустил? как сделать реализацию --timestart/--timestop на ipfw?
    крона не предлагать. =)
     
     
  • 3.15, Andrew (??), 13:00, 28/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    А чем на практике плох крон?
     
     
  • 4.16, uldus (ok), 13:30, 28/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >А чем на практике плох крон?

    Да, уж лучше пусть ядро занимается проверкой вхождения в диапазон на каждое срабатывание правила.... Системные вызов time относительно ресурсоемкий. Кстати, как он время определяет, там же нужно localtime учитывать. libc вон /etc/localtime читает.

     
     
  • 5.17, rost (?), 16:35, 28/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    я тоже считаю что cron в любом случае лучше для подобной задачи.
     

  • 1.9, Аноним (2), 14:28, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень порадовало вероятное срабатывание правила Этакая русская рулетка )))
     
     
  • 2.14, voodoo (??), 12:07, 28/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Так это ж самая вкусная шняжка ;) Простой метод создания кластеров тех же веб-серверов ;)
     

  • 1.18, Аноним (2), 09:02, 05/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто нибудь может вкрадце рассказать про target ROUTE? Использовали?
     
  • 1.19, Аноним (2), 23:53, 05/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вероятность красивая штука. Если приложить голову, в некоторых случаях можно до "высшего руководства" в разрезе бюджетирования добраться.

    Некрасиво. Но можно.

    (как выпью - панковское детство просыпается, звиняйте люди добрые)

     
  • 1.20, Аноним (2), 23:56, 05/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просветите несведущего, а когда эти патчи будут входить в состав стандартного ядра? Родмэп есть какой-то для каждой части? Или для всех патчей вкупе?
     
  • 1.21, a55_5 (??), 00:44, 06/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а проверить не судьба ? ) вообще тут половина старья которым я пользовался ещё в МДК 9.0 установке по умолчанию ничего не патча)

    к стати научился таки айпитаблес трафик по человечески шейпирорвать ?

     
     
  • 2.22, sauron (?), 11:09, 06/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >к стати научился таки айпитаблес трафик по человечески шейпирорвать ?
    А он тут причем??? Этим iproute2 заведует.


     
     
  • 3.24, rost (?), 00:22, 15/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    ну Iptables можно использовать как вспомогательный инструмент для Iproute2
    в сочетании с модулями connmark,string,p2p получается очень вкусная шняжка ;) эдакий тонкий шейпер ;)
     

  • 1.25, Кум (?), 14:36, 05/11/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подборка патчей для обзора IMHO не самая удачная.
    Я например в свое время использовал для биллинговой системы интернет-клуба патчик, который прибивал правило в iptables, как только счетчик превышал заданное кол-во байт, кажется он называется limit. Красота, не надо было никаких кронов и прочей мутотени, не говоря уже о том что решение получилось хоть и не совсем стандартным (надо было патчить ядро), но зато красивым и производительным.
     
  • 1.26, Аноним (26), 18:02, 07/08/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так несколько портов в одной строке давно можно было указать, только через multiport. Для этого не надо устанавливать patch-o-matic
     
     
  • 2.27, прохожий. (?), 18:52, 15/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Так несколько портов в одной строке давно можно было указать, только через
    >multiport. Для этого не надо устанавливать patch-o-matic

    Посмеялся...
    Если посмотреть на даты сообщений, и увидеть --mport можно, даже не зная факта,
    сделать вывод о вхождении этих патчей в мейнстрим.


     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру