1.1, SunTech (?), 16:14, 07/07/2007 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п©б╘п▒Б┬≥Б∙≈ п©б╘п▒Б┬≥Б∙≥п©б╘п▒Б┬≥Б∙⌡п©б╘п▒Б┬≥Б∙▓п©б╘п▒Б┬≥я▒я▐Б√░п▒Б√═Б■─п©б╘п▒Б┬≥ц╥я▐Б√░п▒Б√═Б√└п©б╘п▒Б┬≥Б∙⌡я▐Б√░п▒Б√═Б■─я▐Б√░п▒Б√═Б√▒]
| +/– |
вот неудобно, однако, хочется чтоб порядок прохождения на вход и на выход были обратными, т.е.:
на вход: ipfilter, pf, ipfw
на выход: ipfw, pf, ipfilter
Тогда получается довольно удобно для тех, кто использует два пакетных фильтра (например я): фильтровать в ipfw, а натить в pfnat. В данном случае появится возможность дополнительно неотначеные пакеты фильтровать на внешнем интерфейсе посредством ipfw. | |
|
2.3, butcher (ok), 12:54, 23/07/2007 [^] [^^] [^^^] [ответить] [п©б╘п▒Б┬≥Б∙≈ п©б╘п▒Б┬≥Б∙≥п©б╘п▒Б┬≥Б∙⌡п©б╘п▒Б┬≥Б∙▓п©б╘п▒Б┬≥я▒я▐Б√░п▒Б√═Б■─п©б╘п▒Б┬≥ц╥я▐Б√░п▒Б√═Б√└п©б╘п▒Б┬≥Б∙⌡я▐Б√░п▒Б√═Б■─я▐Б√░п▒Б√═Б√▒]
| +/– |
Так и есть на самом деле. Регистрация хуков от пакетных фильтров происходит следующим образом:
/* обычно фильтр регистрирует хук как на вход так и на выход, поэтому: */
1. Первым регистрируется ipfilter, ещё не было зарегистрировано ниодного фильтра, поэтому списки хуков выглядят так:
ph_in: [ipfilter]
ph_out: [ipfilter]
2. Вторым регистрируется pf (изображая по порядку вызова слева на право):
ph_in: [ipfilter]-[pf]
ph_out: [pf]-[ipfilter]
3. Третий регистрируется ipfw:
ph_in: [ipfilter]-[pf]-[ipfw]
ph_out: [ipfw]-[pf]-[ipfilter]
Из этих схем видно, что для исходящих пакетов порядок вызова фильтров инвертирован по отношению ко входящим
| |
|
|
4.6, www2 (??), 15:47, 25/05/2008 [^] [^^] [^^^] [ответить] [п©б╘п▒Б┬≥Б∙≈ п©б╘п▒Б┬≥Б∙≥п©б╘п▒Б┬≥Б∙⌡п©б╘п▒Б┬≥Б∙▓п©б╘п▒Б┬≥я▒я▐Б√░п▒Б√═Б■─п©б╘п▒Б┬≥ц╥я▐Б√░п▒Б√═Б√└п©б╘п▒Б┬≥Б∙⌡я▐Б√░п▒Б√═Б■─я▐Б√░п▒Б√═Б√▒]
| +/– |
>И с которым граблей........................
Нисколько!
Со времени, прошедшего с того коммента, успел на практике настроить несколько интернет-серверов на основе Debian. Так вот, пакетный фильтр iptables, гораздо проще и нагляднее ipfw.
Сейчас по собственной воле использовать FreeBSD не стану, не в последнюю очередь на это решение повлиял ipfw. Главная причина - "нетехнологично". Хотя FreeBSD по чистоте и правильности кода, на мой взгляд, гораздо лучше Linux'а, но использовать её лучше прежде всего в образовательных целях.
| |
|
|
|
7.11, www2 (??), 17:47, 28/05/2008 [^] [^^] [^^^] [ответить] [п©б╘п▒Б┬≥Б∙≈ п©б╘п▒Б┬≥Б∙≥п©б╘п▒Б┬≥Б∙⌡п©б╘п▒Б┬≥Б∙▓п©б╘п▒Б┬≥я▒я▐Б√░п▒Б√═Б■─п©б╘п▒Б┬≥ц╥я▐Б√░п▒Б√═Б√└п©б╘п▒Б┬≥Б∙⌡я▐Б√░п▒Б√═Б■─я▐Б√░п▒Б√═Б√▒]
| +/– |
Ещё могу добавить что из Linux'ов я не считаю технологичными:
1. Slackware - отсутствует менеджер пакетов, в результате нужно разбираться с зависимостями; часто нужна компиляция, придётся грузить систему.
2. Gentoo (и по тем же причинам все BSD) - всегда нужна компиляция, придётся грузить систему; в репозитарии всегда самые свежие программы, при смене версии программы часто меняется конфиг, в результате может оказаться что после обновления что-то не работает, т.к. нужна правка конфига. Предпочитаю одну и ту же версию пакета, но постоянно патчащуюся.
3. Ubuntu и иже сними - в репозитарии всегда самые свежии версии программ, причину см. выше.
4. Нынешний Mandrake - по-моему тоже основан на Ubuntu, может быть ошибаюсь, поправьте.
5. Отечественный Alt Linux, по той же причине, что и два предыдущих пункта.
Считаю технологичными:
1. Debian,
2. Red Hat (но не Fedora), возможно CentOS,
3. возможно SUSE...
| |
|
|
|
|
|
|
5.21, redixin (?), 16:15, 25/09/2008 [^] [^^] [^^^] [ответить] [п©б╘п▒Б┬≥Б∙≈ п©б╘п▒Б┬≥Б∙≥п©б╘п▒Б┬≥Б∙⌡п©б╘п▒Б┬≥Б∙▓п©б╘п▒Б┬≥я▒я▐Б√░п▒Б√═Б■─п©б╘п▒Б┬≥ц╥я▐Б√░п▒Б√═Б√└п©б╘п▒Б┬≥Б∙⌡я▐Б√░п▒Б√═Б■─я▐Б√░п▒Б√═Б√▒]
| +/– |
> Название iptables ни о чём не говорит?
вот именно что название, название новое а внутри все теже ipchains =)
Не знаете разницы между таблицами и цепочками? слышали про быстрый поиск с хеш-таблицами? нет? погуглите.
Время поиска по цепочке правил линейно зависит от количества правил. Поиск же по хеш таблице практически не зависит от количества записей в таблице. Вот цитата с букваря по pf "a table is ideal for holding a large group of addresses as the lookup time on a table holding 50,000 addresses is only slightly more than for one holding 50 addresses"
>Нечего не зеркало пенять коли рожа (то есть руки) крива.
А как иначе разруливать ситуацию когда есть 600 адресов которые нужно дропнуть, и 400 адресов которые нужно натить, причем эти адреса постоянно добавляются/удаляются?
в случае с pf мы добавляем 2 правила:
block from <drops> to any
nat from <nats> to any
Начинку таблиц без проблем можно менять на лету. Время поиска по такой таблице очень и очень маленькое.
В случае с линухом мы вынуждены держать 1000 правил, поиск по 1000 правил идет настолько долго что ksoftirqd вылазит вверх (это симптом, никогда такого не видели?) и машина просто не вылазит из прерываний. LA растер вверх а количество успешно прошедших пакетов - вниз.
Есть патч для linux который добавляет такой функционал, но не очень хочется приключений связанных с глюками third level патча.
> Очень глубокомысленный вывод. Ценю. "Таблицы" звучит круче чем "Цепочки".
Не просто звучит, но и работает =) Простой линейный поиск гораздо медленеей поиска по self-ballancing binary tree (хотя я не уверен что в pf именно такое дерево, лень в исходники лезть)
| |
|
|
|
|
|