The OpenNET Project / Index page

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

IPFilter под Linux - вторая попытка.

01.06.2004 23:11

Первая попытка переноса популярного в *BSD системах пакетного фильтра IPFilter относится ко времени 2.0.x Linux ядер. Начиная с версии ipfilter 4.1.1, поддержка Linux по немногу стала сдвигаться с места, хотя в INSTALL.Linux еще значится "Linux is no longer supported" и требуются доп. патчи).

В статье "ipfilter on GNU/Linux" демонстрируется техника установки ipfilter под Linux и проверка его работоспособности.

  1. Главная ссылка к новости (http://www.linuxjournal.com/ar...)
  2. IP Filter
  3. Writing ipfilter Rulesets
  4. ipfilter FAQ
  5. David Bogen's GNU/Linux ipfilter Startup Script
  6. David Bogen's SuSE 8.2 ipfilter Build/Install Patches
Лицензия: CC-BY
Тип: Интересно / Выше среднего
Короткая ссылка: https://opennet.ru/3939-ipfilter
Ключевые слова: ipfilter, firewall, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, gaf (?), 08:35, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и зачем это надо? лишняя работа только imho
     
  • 1.2, vitamin (?), 09:41, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда..
    Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и т.п. линукс не поставлю.
    Но что касается firewall'а.. здесь, извините, альтернативы iptables я не вижу. Даже openbsd'шный pf не спасает.
     
     
  • 2.3, uldus (ok), 09:56, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
    >т.п. линукс не поставлю.

    Это предубеждение.

     
     
  • 3.8, poige (??), 11:17, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
    >>т.п. линукс не поставлю.
    >
    >Это предубеждение.

    причем распространненое :-)

    /poige

     
     
  • 4.10, Deadgeny (??), 11:23, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. к "предубеждению" претензий нет? ;)
     
     
  • 5.11, Ярослав (??), 11:32, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Извините, а на чем вы Оракл поднимать будете?

    На винде? Или на солярисе? :-)

     
     
  • 6.13, Deadgeny (??), 11:42, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    На Ms-DOS 3.22, конечно!

    Я как бы и не спорю -- плясать с бубном вокруг него на фряхе можно, но не нужно.

     
  • 5.16, poige (??), 12:20, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Т.е. к "предубеждению" претензий нет? ;)

    от вас неподалеку пункт приема претензий к предубеждениям? ;-)

    /poige

     
     
  • 6.22, Deadgeny (??), 14:37, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    :)
     
  • 4.29, vitamin (?), 16:41, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
    >>>т.п. линукс не поставлю.

    >>Это предубеждение.

    >причем распространненое :-)

    Это мне пофиг.
    Linux - is most self incompatible OS. (c) автор cdrecord
    Для меня это критично.

     
  • 2.19, cmhungry (?), 14:05, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то я вот не слышал про WF2Q, ALTQ и прочие радости под iptables...
    Да и большинство маршрутизаторов, которые не кошки, под фрей.
     
     
  • 3.28, vitamin (?), 16:38, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > Как-то я вот не слышал про WF2Q, ALTQ и прочие радости под iptables...

    В пингвиниксе отлично QoS реализован в ядре, уж с очередями там всё в порядке, неговоря про RED'ы всякие. Там даже RSVP есть :)

    > Да и большинство маршрутизаторов, которые не кошки, под фрей.

    Согласен. Но мы вроде про файрволы говорим..

     

  • 1.4, Scott Tiger (?), 10:27, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надеюсь, на Linux всё-таки будет когда-нибудь нормальный пакетный фильтр, а не это у..ще iptables.
     
     
  • 2.5, bzzz (??), 10:30, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    идиот?
     
     
  • 3.9, poige (??), 11:17, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >идиот?

    закономерный вопрос :)

    /poige

     
  • 3.40, Scott Tiger (?), 11:23, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не идиот. iptables - однозначно помойка, хуже него разве что ipchains. ipfilter рулит.
     
  • 2.47, Fantomas (??), 14:45, 04/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Почему у...ще. Это эмоции, а не аргумент.
    Если хорошо разобраться с Iptables, то
    можно строить очень хитро и детально настроенные фаерволы.
    Единственное чего не хватает, так это труб, как во фре.
     

  • 1.6, tahion (ok), 10:39, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
      У меня роутером стоит фря, остольные службы на линухах! И сказал бы что iptables намного лучше работает (читать надо нормально доки), т.к. если руки не оттуда ростут ни какой фаервол не поможет!
      Ну отличаетются способы работы и настройки, это не должно быть тормозом к прогрессу! тем более перед настройкой iptables нужно прочитать доки и по TCP/IP, и тогда понятно становится что и куда и зачем и почему именно так!
     
  • 1.7, pF (?), 10:52, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    iptables на сегодняшний день наиболее продвинутый фаервол. Я имел дело с ipf pf ipfw и все они имели свои ограничения, которых нет у iptables
     
     
  • 2.12, Ярослав (??), 11:33, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >iptables на сегодняшний день наиболее продвинутый фаервол. Я имел дело с ipf
    >pf ipfw и все они имели свои ограничения, которых нет у
    >iptables


    Самый продвинутый - Cisco PIX. IMHO.

     
     
  • 3.14, anonymous (??), 11:55, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    ошибаетесь, самый продвинутый - CheckPoint Firewall
     
     
  • 4.15, Deadgeny (??), 12:17, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Угу. И самый геморройный тоже.
     
  • 3.25, anonymous (??), 16:03, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    и чего в нем такого супер-пупер можно сделать, чего нельзя сделать iptables(на крайний случай патченый iptables)?
    на сколько оправдана покупка такой дорогостоящей железяки кроме понтов и откатов?
     
  • 3.27, vitamin (?), 16:35, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    pix - это ж*па
    в топку его
     
  • 2.18, Scoundrel (?), 13:37, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Вот у меня есть вопрос: Во фре я часто использую управление правилами на основе их номеров - очень удобно и гибко (например - хранить в базе номер правила очень просто)... Как мне в линуксе организовать создание/удаление/съем статистики с правил фаервола?
     
     
  • 3.20, illi (?), 14:34, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    iptables -L -v -n -Z [your_billing_chain] | your_billing.pl
    Да, скрипт подсчёта будет сложнее, чем для ipfw с её нумерацией правил, но совершенно никаких принципиальных проблем нет. (Наверное, правильнее использовать IPTables::IPv4, но когда я писал эту считалку, ещё под ipchains, я про эти модули не знал). Хеш по src/dst/flags.
    Кроме того, можешь посмотреть ULOG.

    Сложность подсчёта - обратная сторона гибкости настройки. Оно того стоит.

    А если вдруг тебе придётся вставить какие-то правила между считаемыми ? Как же твои ключи в базе ?

     
  • 3.21, Mr.Uef (??), 14:37, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Как мне в линуксе организовать создание/удаление/съем статистики с
    >правил фаервола?


    Читать iptables howto

     
     
  • 4.23, Scoundrel (?), 14:55, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>Как мне в линуксе организовать создание/удаление/съем статистики с
    >>правил фаервола?
    >Читать iptables howto

    Ой! Какие мы умные!!!

    Так бы и сказал, что не знаешь!
    Нельзя в линуксе создать правило с номером XYZ, которое после любых изменений в остально наборе правил не изменит своего номера... :-(

    А вот с хешем правила - это хорошая идея... надо над ней подумать...

     
     
  • 5.24, illi (?), 15:38, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Я, правда, имел в виду перловый хеш, с ключами вида
    "DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0          icmp type 8" и значением pkts. Эти ключи можно напрямую класть в базу вместо номеров правил, или сопоставлять каким-то номерам, или действительно брать от них какую-то хеш-функцию. Всё равно же номера правил в базе тебе ничего не говорят - или держишь в голове, что правило 625 - это трафик к юзеру "Вася" ?

    PS. когда я первый раз после бейсика увидел C, я совершенно не догонял, как же можно жить без нумерации строк программы.

     
  • 5.26, poige (??), 16:28, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    считать трафик правилами _firewall_ (с философией типа "count") неправильно
    в пр-цпе, ибо firewall это ACL, а не accounting.

    /poige

     
     
  • 6.30, Michael (??), 17:07, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >считать трафик правилами _firewall_ (с философией типа "count") неправильно
    >в пр-цпе, ибо firewall это ACL, а не accounting.
    почему?
    я пытаюсь спорить, просто не понятно, раз уж пакет прошел через правило, то что мешает счетчик прибавить?
     
     
  • 7.35, poige (??), 19:01, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>считать трафик правилами _firewall_ (с философией типа "count") неправильно
    >>в пр-цпе, ибо firewall это ACL, а не accounting.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    == firewall это ср-во защиты, а не учета.

    >почему?

    см. выше.

    >я пытаюсь спорить, просто не понятно, раз уж пакет прошел через правило,
    >то что мешает счетчик прибавить?

    Обычно ничего. Вот только масштабируемость у этого метода никакая:

    https://www.opennet.ru/openforum/vsluhforumID1/35252.html#2

    Да и вообще, "удобств" малова-то. :-)

    /poige

     
     
  • 8.39, Michael (??), 10:01, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    тут у меня опечатка, на самом деле я НЕ пытаюсь спорить, просто хочу понять сов... текст свёрнут, показать
     
     
  • 9.43, poige (??), 15:07, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    - проблема на вашей стороне c Я ж не учебник пишу, вообще-то Так, ... текст свёрнут, показать
     
  • 6.31, illi (?), 17:11, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    1. Может, я неправильно понял, но - я не считаю трафик правилами. Правила задают поведение роутера(или вырожденно - хоста)  при обработке пакетов определённыт типов, а побочный эффект - они считают количество пакетов/байт, через них проходящих.
    2. И почему неправильно, даже в случае философии типа "count" ? Доступный, надёжный, дешёвый(по производительности) способ... А как правильно ?
     
     
  • 7.36, poige (??), 19:06, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    [...]

    >надёжный, дешёвый(по производительности) способ... А как правильно ?

    специальными пакетами, которые "заточены" именно под это.

    Кто-то пишет свое, кто-то юзает готовое. Я года 3 назад реализовал 1-й вариант, в качестве источника данных выбрал libcap (API pcap()). Но в пр-цпе, можно было бы и тот же divert-like подход (на FreeBSD) применить.

    /poige


     
     
  • 8.37, illi (?), 19:42, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Тезис понятен, но не аргументирован Возможно, на специализированных биллинг-сис... текст свёрнут, показать
     
     
  • 9.45, poige (??), 16:37, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    кому нужно, тот понял, хотелось бы верить ... текст свёрнут, показать
     
     
  • 10.46, illi (?), 10:49, 04/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Я не говорил, что для подсчёта трафика специально надо ставить firewall или раут... большой текст свёрнут, показать
     
  • 5.41, Mr.Uef (??), 12:19, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Scoundrel,
    >Ой! Какие мы умные!!!
    Не надо льстить, просто я более внимательно читал HOWTO.

    >Так бы и сказал, что не знаешь!
    Знаю, просто соотв. ключи для снятия и обнуления статистки уже указали постом выше.

    >Нельзя в линуксе создать правило с номером XYZ, которое после любых
    >изменений в остально наборе правил не изменит своего номера... :-(

    Нельзя, но если так уж нужны номера это легко исправить:
    1. Создаешь новую цепочку с нужным идентификатором, если тебе удобнее - пусть с номером.
    Ех: iptables -N 1
    2. Добавляешь туда нужное правило (или группу правил)
    Ex: iptables -A 1 -s 1.2.3.4 -j ACCEPT
    3. Указываешь каким пакетам в эту цепочку ходить:
    Ex: iptables -A INPUT -j 1
        iptables -A OUTPUT -j 1
         ...
    Все. Получаешь полную аналогию с нумерацией правил во Фре, если она, конечно, тебе нужна ибо для снятия и.т.п статистки можно придумать и гораздо более простые и изящные способы.

    ЗЫ. Прежде чем наезжать на нелюбимую систему, все же ознакомься подробнее с ее достоинствами и недостатками.

     
     
  • 6.48, Scoundrel (?), 00:20, 05/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Scoundrel,
    >>Ой! Какие мы умные!!!
    >Не надо льстить, просто я более внимательно читал HOWTO.

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

    >>Нельзя в линуксе создать правило с номером XYZ, которое после любых
    >>изменений в остально наборе правил не изменит своего номера... :-(
    >Нельзя, но если так уж нужны номера это легко исправить:
    <...skipped...>
    >Все. Получаешь полную аналогию с нумерацией правил во Фре, если она,
    >конечно,
    >тебе нужна ибо для снятия и.т.п статистки можно придумать и гораздо
    >более простые и изящные способы.

    Спасибо за совет! Попробую воспользоваться!

     
  • 5.49, mod (?), 11:20, 08/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Как мне в линуксе организовать создание/удаление/съем статистики с
    >>>правил фаервола?
    >>Читать iptables howto
    >
    >Ой! Какие мы умные!!!
    >
    >Так бы и сказал, что не знаешь!
    >Нельзя в линуксе создать правило с номером XYZ, которое после любых изменений
    >в остально наборе правил не изменит своего номера... :-(
    >
    >А вот с хешем правила - это хорошая идея... надо над ней
    >подумать...
    а в ман хоть раз заглянуть ?
    man iptables |grep rulenum
    -D, --delete chain rulenum
    -I, --insert chain [rulenum] rule-specification
    ...

     

  • 1.17, Аноним (17), 13:10, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Самый продвинутый - Cisco PIX. IMHO.
    :)ну и раскажи что он умеет делать такого чего неможет iptables
    P.S.у меня самого 2 525х
     
  • 1.32, rost (?), 18:03, 02/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    к чему весь этот флейм?
    ну юзаю линукс и что? чем iptables плох? меня например он полностью устраивает, на все сто! с помошью связки iptables+ipt_string+connmark+iproute2 я спокойно могу резать траффик по отдельным виртуалхостам апача, при этом совершенно не трогая сам апач. такой гибкости я еще невидел нигде! даже под суперправильной ОС - freebsd.
     
     
  • 2.33, hehe (?), 18:28, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    mod_bandwidth
     
     
  • 3.34, rost (?), 18:34, 02/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >mod_bandwidth

    ну и?
    юзал я это поделие... после нескольких часов работы апач просто переставал отвечать на запросы.

     
     
  • 4.38, Алексей (??), 08:09, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.snert.com/Software/mod_watch/
     

  • 1.42, Аноним (17), 15:06, 03/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А попробуйте на freebsd при помощи ipf pf ipfw сделать то что делет ULOG iptables а ведь при помощи этого кластно трафик собирать и правил не каких не надо (да и клсифицировть на кокой порт да и по какому протоколу трафик пошел когда нибудь придется, что бы бабки разные за разные кляссы трафика брать).
    А что бы трафик считать в iptables правила нумеровать и не надо (хотя такая фигня и в нем есть доки читайте). Создаете отдельныю цепочку и все првила по трафику туда скидываете у меня такая фишка года 3 работает еще с ipchains и с базой вместе только номера правил я там не храню не зачем просто достаточно ip клиента хранить.
     
     
  • 2.44, Cyrill Malevanov (?), 15:11, 03/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >А попробуйте на freebsd при помощи ipf pf ipfw сделать то что
    >делет ULOG iptables а ведь при помощи этого кластно трафик собирать
    >и правил не каких не надо (да и клсифицировть на кокой
    >порт да и по какому протоколу трафик пошел когда нибудь придется,
    >что бы бабки разные за разные кляссы трафика брать).
    >А что бы трафик считать в iptables правила нумеровать и не надо
    >(хотя такая фигня и в нем есть доки читайте). Создаете отдельныю
    >цепочку и все првила по трафику туда скидываете у меня такая
    >фишка года 3 работает еще с ipchains и с базой вместе
    >только номера правил я там не храню не зачем просто достаточно
    >ip клиента хранить.


    Нахрена, извините мой французский, считать это через файрвол? Если уж считать - то считать, опять же, ядерной тулзой, специально для этого заточенной. На freebsd - ng_ipacct, ng_netflow. И ничем по формату вывода от кошки не отличается.

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



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

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