Первая попытка переноса популярного в *BSD системах пакетного фильтра IPFilter (http://coombs.anu.edu.au/~avalon/) относится ко времени 2.0.x Linux ядер. Начиная с версии ipfilter 4.1.1, поддержка Linux по немногу стала сдвигаться с места, хотя в INSTALL.Linux еще значится "Linux is no longer supported" и требуются доп. патчи (http://www.rockstacking.com/ipfilter/ipfilter-4.1.1-suse-8.2...)).В статье "ipfilter on GNU/Linux (http://www.linuxjournal.com/article.php?sid=7595)" демонстрируется техника установки ipfilter под Linux и проверка его работоспособности.
URL: http://www.linuxjournal.com/article.php?sid=7595
Новость: http://www.opennet.me/opennews/art.shtml?num=3939
и зачем это надо? лишняя работа только imho
Мда..
Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и т.п. линукс не поставлю.
Но что касается firewall'а.. здесь, извините, альтернативы iptables я не вижу. Даже openbsd'шный pf не спасает.
>Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
>т.п. линукс не поставлю.Это предубеждение.
>>Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
>>т.п. линукс не поставлю.
>
>Это предубеждение.причем распространненое :-)
/poige
Т.е. к "предубеждению" претензий нет? ;)
Извините, а на чем вы Оракл поднимать будете?На винде? Или на солярисе? :-)
На Ms-DOS 3.22, конечно!Я как бы и не спорю -- плясать с бубном вокруг него на фряхе можно, но не нужно.
>Т.е. к "предубеждению" претензий нет? ;)от вас неподалеку пункт приема претензий к предубеждениям? ;-)
/poige
:)
>>>Не, я FreeBSD люблю, и на рабочий сервер с почтой, апачем и
>>>т.п. линукс не поставлю.>>Это предубеждение.
>причем распространненое :-)
Это мне пофиг.
Linux - is most self incompatible OS. (c) автор cdrecord
Для меня это критично.
Как-то я вот не слышал про WF2Q, ALTQ и прочие радости под iptables...
Да и большинство маршрутизаторов, которые не кошки, под фрей.
> Как-то я вот не слышал про WF2Q, ALTQ и прочие радости под iptables...В пингвиниксе отлично QoS реализован в ядре, уж с очередями там всё в порядке, неговоря про RED'ы всякие. Там даже RSVP есть :)
> Да и большинство маршрутизаторов, которые не кошки, под фрей.
Согласен. Но мы вроде про файрволы говорим..
Надеюсь, на Linux всё-таки будет когда-нибудь нормальный пакетный фильтр, а не это у..ще iptables.
идиот?
>идиот?закономерный вопрос :)
/poige
Нет, не идиот. iptables - однозначно помойка, хуже него разве что ipchains. ipfilter рулит.
Почему у...ще. Это эмоции, а не аргумент.
Если хорошо разобраться с Iptables, то
можно строить очень хитро и детально настроенные фаерволы.
Единственное чего не хватает, так это труб, как во фре.
У меня роутером стоит фря, остольные службы на линухах! И сказал бы что iptables намного лучше работает (читать надо нормально доки), т.к. если руки не оттуда ростут ни какой фаервол не поможет!
Ну отличаетются способы работы и настройки, это не должно быть тормозом к прогрессу! тем более перед настройкой iptables нужно прочитать доки и по TCP/IP, и тогда понятно становится что и куда и зачем и почему именно так!
iptables на сегодняшний день наиболее продвинутый фаервол. Я имел дело с ipf pf ipfw и все они имели свои ограничения, которых нет у iptables
>iptables на сегодняшний день наиболее продвинутый фаервол. Я имел дело с ipf
>pf ipfw и все они имели свои ограничения, которых нет у
>iptables
Самый продвинутый - Cisco PIX. IMHO.
ошибаетесь, самый продвинутый - CheckPoint Firewall
Угу. И самый геморройный тоже.
и чего в нем такого супер-пупер можно сделать, чего нельзя сделать iptables(на крайний случай патченый iptables)?
на сколько оправдана покупка такой дорогостоящей железяки кроме понтов и откатов?
pix - это ж*па
в топку его
Вот у меня есть вопрос: Во фре я часто использую управление правилами на основе их номеров - очень удобно и гибко (например - хранить в базе номер правила очень просто)... Как мне в линуксе организовать создание/удаление/съем статистики с правил фаервола?
iptables -L -v -n -Z [your_billing_chain] | your_billing.pl
Да, скрипт подсчёта будет сложнее, чем для ipfw с её нумерацией правил, но совершенно никаких принципиальных проблем нет. (Наверное, правильнее использовать IPTables::IPv4, но когда я писал эту считалку, ещё под ipchains, я про эти модули не знал). Хеш по src/dst/flags.
Кроме того, можешь посмотреть ULOG.Сложность подсчёта - обратная сторона гибкости настройки. Оно того стоит.
А если вдруг тебе придётся вставить какие-то правила между считаемыми ? Как же твои ключи в базе ?
>Как мне в линуксе организовать создание/удаление/съем статистики с
>правил фаервола?
Читать iptables howto
>>Как мне в линуксе организовать создание/удаление/съем статистики с
>>правил фаервола?
>Читать iptables howtoОй! Какие мы умные!!!
Так бы и сказал, что не знаешь!
Нельзя в линуксе создать правило с номером XYZ, которое после любых изменений в остально наборе правил не изменит своего номера... :-(А вот с хешем правила - это хорошая идея... надо над ней подумать...
Я, правда, имел в виду перловый хеш, с ключами вида
"DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8" и значением pkts. Эти ключи можно напрямую класть в базу вместо номеров правил, или сопоставлять каким-то номерам, или действительно брать от них какую-то хеш-функцию. Всё равно же номера правил в базе тебе ничего не говорят - или держишь в голове, что правило 625 - это трафик к юзеру "Вася" ?PS. когда я первый раз после бейсика увидел C, я совершенно не догонял, как же можно жить без нумерации строк программы.
считать трафик правилами _firewall_ (с философией типа "count") неправильно
в пр-цпе, ибо firewall это ACL, а не accounting./poige
>считать трафик правилами _firewall_ (с философией типа "count") неправильно
>в пр-цпе, ибо firewall это ACL, а не accounting.
почему?
я пытаюсь спорить, просто не понятно, раз уж пакет прошел через правило, то что мешает счетчик прибавить?
>>считать трафик правилами _firewall_ (с философией типа "count") неправильно
>>в пр-цпе, ибо firewall это ACL, а не accounting.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^== firewall это ср-во защиты, а не учета.
>почему?
см. выше.
>я пытаюсь спорить, просто не понятно, раз уж пакет прошел через правило,
>то что мешает счетчик прибавить?Обычно ничего. Вот только масштабируемость у этого метода никакая:
http://www.opennet.me/openforum/vsluhforumID1/35252.html#2
Да и вообще, "удобств" малова-то. :-)
/poige
>>я пытаюсь спорить, просто не понятно, раз уж пакет прошел через правило,
>>то что мешает счетчик прибавить?
тут у меня опечатка, на самом деле я НЕ пытаюсь спорить, просто хочу понять.>Обычно ничего. Вот только масштабируемость у этого метода никакая:
>
>http://www.opennet.me/openforum/vsluhforumID1/35252.html#2
совет принял к сведению, но аргументации не вижу.>Да и вообще, "удобств" малова-то. :-)
тем не менее, для многих простых случаев этого достаточно.
не вижу причин для настолько категоричных "нельзя".
[...]
>>Обычно ничего. Вот только масштабируемость у этого метода никакая:
>>
>>http://www.opennet.me/openforum/vsluhforumID1/35252.html#2
>совет принял к сведению, но аргументации не вижу.:-) "проблема на вашей стороне" (c).
Я ж не учебник пишу, вообще-то. Так, делюсь опытом.
>>Да и вообще, "удобств" малова-то. :-)
>тем не менее, для многих простых случаев этого достаточно.
>не вижу причин для настолько категоричных "нельзя".опять "на вашей стороне". Я нигде не употребил категоричных нельзя --
перечитайте, если не верите:"Далее, несколько правил, которые я рекомендую соблюдать:"
"считать трафик правилами _firewall_ (с философией типа "count")
неправильно"где-то написано "нельзя"? ;-)
/poige
--
http://www.i.morning.ru/~poige/
1. Может, я неправильно понял, но - я не считаю трафик правилами. Правила задают поведение роутера(или вырожденно - хоста) при обработке пакетов определённыт типов, а побочный эффект - они считают количество пакетов/байт, через них проходящих.
2. И почему неправильно, даже в случае философии типа "count" ? Доступный, надёжный, дешёвый(по производительности) способ... А как правильно ?
[...]>надёжный, дешёвый(по производительности) способ... А как правильно ?
специальными пакетами, которые "заточены" именно под это.
Кто-то пишет свое, кто-то юзает готовое. Я года 3 назад реализовал 1-й вариант, в качестве источника данных выбрал libcap (API pcap()). Но в пр-цпе, можно было бы и тот же divert-like подход (на FreeBSD) применить.
/poige
>специальными пакетами, которые "заточены" именно под это.Тезис понятен, но не аргументирован. Возможно, на специализированных биллинг-системах - оправдан. Т.е. конечно ясно, что специальные пакеты, которые "заточены" именно под это - удобнее, но это не значит, что они не могут снимать показания счётчиков iptables.
Может, и snmp-съём статистики с интерфейса роутера - неправильно, т.к. роутер - должен раутить, а не считать ? И каждому роутеру - по снифферу с каждой стороны, пусть считают ?
>>специальными пакетами, которые "заточены" именно под это.
>
>Тезис понятен, но не аргументирован. Возможно, на специализированных
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^кому нужно, тот понял, хотелось бы верить. :-)
> биллинг-системах - оправдан. Т.е.
>конечно ясно, что специальные пакеты, которые "заточены" именно под это -
>удобнее, но это не значит, что они не могут снимать показания
>счётчиков iptables.
>
>Может, и snmp-съём статистики с интерфейса роутера - неправильно, т.к. роутер -
>должен раутить, а не считать ? И каждому роутеру - по
>снифферу с каждой стороны, пусть считают ?Путаете.
1) Без раутера не будет передачи трафика в принципе, а вот учет
трафика без firewall -- запросто.2) "SNMP-съем" с интерфейса это неправильно, да. Только не по той же причине, что и с правил firewall, хотя есть и общее: вы не сможете ответить пользователю на вопрос "а с какого IP и во сколько мне прилетело столько трафика", в общем случае. Можно, конечно, возразить, что дескать, таких вопросов не будет, считаю для себя и все, но от главного уйти не получится, а именно:
_учет трафика это не то, для чего следует применять firewall_
Хотя, разумеется, можно. Я читал, можно и на матричном принтере
мелодию воспроизвести, не HiFi правда. ;-)Насчет "SNMP-съема". Есть такое RFC 1156 "Management Information Base for Network Management of TCP/IP-based internets":
OBJECT:
-------
ifOutOctets { ifEntry 16 }Syntax:
CounterDefinition:
The total number of octets transmitted out of the
interface, including framing characters.ключевые слова "including framing characters".
По теме:http://www.opennet.me/openforum/vsluhforumID10/528.html#4
/poige
--
http://www.i.morning.ru/~poige/
>Путаете.
>
>1) Без раутера не будет передачи трафика в принципе, а вот учет
>
>трафика без firewall -- запросто.
>
Я не говорил, что для подсчёта трафика специально надо ставить firewall или раутер. Мы спорим о разных вещах. Для продажи ethernet traffic пользовалелям, где трафик = деньги, правильно использовать специализированные системы. А если у меня небольшой оффис, и в ДМЗ стоит почта и web, и трафик к ним в любом случае проходит сквозь файрвол, почему бы его там не посчитать ? Для отчёта руководству, как распределен по сервисам и по сотрудникам, больше ничего не надо.>2) "SNMP-съем" с интерфейса это неправильно, да. Только не по той же
>причине, что и с правил firewall, хотя есть и общее: вы
>не сможете ответить пользователю на вопрос "а с какого IP и
>во сколько мне прилетело столько трафика", в общем случае. Можно, конечно,
>возразить, что дескать, таких вопросов не будет, считаю для себя и
>все, но от главного уйти не получится, а именно:
>
> _учет трафика это не то, для чего следует применять firewall_
>
Думаю, для Вас это не новость, но всё же - "специализированный пакет" ipcad умеет (в том числе) считать с ULOG.>
>Хотя, разумеется, можно. Я читал, можно и на матричном принтере
>мелодию воспроизвести, не HiFi правда. ;-)
>
У меня дисковод чижика-пыжика играл 8)>Насчет "SNMP-съема". Есть такое RFC 1156 "Management Information Base for Network Management
>of TCP/IP-based internets":
>
> OBJECT:
> -------
>
> ifOutOctets { ifEntry 16 }
>
> Syntax:
>
> Counter
>
> Definition:
>
> The total number of octets transmitted out of
>the
>
> interface, including framing characters.
>
>ключевые слова "including framing characters".
>По теме:
>
> http://www.opennet.me/openforum/vsluhforumID10/528.html#4Да, я что-то слышал пр RFC. Думаю, с 70-90% роутеров, однако, снимаются счётчики (MRTG, RRDtool, OpenView etc.), и складываются, обрабатываются - т.е. "подсчитывается трафик". Просто цели - разные.
Предлагаю закончить бесполезный спор, т.к. богу - богово, кесарю - кесарево. Я остаюсь при своём мнении, и согласен с Вашим. Они (почти) непротировечивы.
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
...
Все. Получаешь полную аналогию с нумерацией правил во Фре, если она, конечно, тебе нужна ибо для снятия и.т.п статистки можно придумать и гораздо более простые и изящные способы.ЗЫ. Прежде чем наезжать на нелюбимую систему, все же ознакомься подробнее с ее достоинствами и недостатками.
>Scoundrel,
>>Ой! Какие мы умные!!!
>Не надо льстить, просто я более внимательно читал HOWTO.Извиняюсь... я тоже читал его, но вот до того, чтобы создавать кучу цепочек, как-то не додумался... :-(
>>Нельзя в линуксе создать правило с номером XYZ, которое после любых
>>изменений в остально наборе правил не изменит своего номера... :-(
>Нельзя, но если так уж нужны номера это легко исправить:
<...skipped...>
>Все. Получаешь полную аналогию с нумерацией правил во Фре, если она,
>конечно,
>тебе нужна ибо для снятия и.т.п статистки можно придумать и гораздо
>более простые и изящные способы.Спасибо за совет! Попробую воспользоваться!
>>>Как мне в линуксе организовать создание/удаление/съем статистики с
>>>правил фаервола?
>>Читать iptables howto
>
>Ой! Какие мы умные!!!
>
>Так бы и сказал, что не знаешь!
>Нельзя в линуксе создать правило с номером XYZ, которое после любых изменений
>в остально наборе правил не изменит своего номера... :-(
>
>А вот с хешем правила - это хорошая идея... надо над ней
>подумать...
а в ман хоть раз заглянуть ?
man iptables |grep rulenum
-D, --delete chain rulenum
-I, --insert chain [rulenum] rule-specification
...
>Самый продвинутый - Cisco PIX. IMHO.
:)ну и раскажи что он умеет делать такого чего неможет iptables
P.S.у меня самого 2 525х
к чему весь этот флейм?
ну юзаю линукс и что? чем iptables плох? меня например он полностью устраивает, на все сто! с помошью связки iptables+ipt_string+connmark+iproute2 я спокойно могу резать траффик по отдельным виртуалхостам апача, при этом совершенно не трогая сам апач. такой гибкости я еще невидел нигде! даже под суперправильной ОС - freebsd.
mod_bandwidth
>mod_bandwidthну и?
юзал я это поделие... после нескольких часов работы апач просто переставал отвечать на запросы.
http://www.snert.com/Software/mod_watch/
А попробуйте на freebsd при помощи ipf pf ipfw сделать то что делет ULOG iptables а ведь при помощи этого кластно трафик собирать и правил не каких не надо (да и клсифицировть на кокой порт да и по какому протоколу трафик пошел когда нибудь придется, что бы бабки разные за разные кляссы трафика брать).
А что бы трафик считать в iptables правила нумеровать и не надо (хотя такая фигня и в нем есть доки читайте). Создаете отдельныю цепочку и все првила по трафику туда скидываете у меня такая фишка года 3 работает еще с ipchains и с базой вместе только номера правил я там не храню не зачем просто достаточно ip клиента хранить.
>А попробуйте на freebsd при помощи ipf pf ipfw сделать то что
>делет ULOG iptables а ведь при помощи этого кластно трафик собирать
>и правил не каких не надо (да и клсифицировть на кокой
>порт да и по какому протоколу трафик пошел когда нибудь придется,
>что бы бабки разные за разные кляссы трафика брать).
>А что бы трафик считать в iptables правила нумеровать и не надо
>(хотя такая фигня и в нем есть доки читайте). Создаете отдельныю
>цепочку и все првила по трафику туда скидываете у меня такая
>фишка года 3 работает еще с ipchains и с базой вместе
>только номера правил я там не храню не зачем просто достаточно
>ip клиента хранить.
Нахрена, извините мой французский, считать это через файрвол? Если уж считать - то считать, опять же, ядерной тулзой, специально для этого заточенной. На freebsd - ng_ipacct, ng_netflow. И ничем по формату вывода от кошки не отличается.