The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"pf ipfw порядок прохождения пакетов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"pf ipfw порядок прохождения пакетов"  
Сообщение от psn1982 email(ok) on 06-Июл-07, 10:25 
Всем привет!
Народ, интересует порядок прохождения пакетов при одновременном использовании pf и ipfw.
Порядок при прохождения пакетов при использовании ipfilter, ipnat, ipfw приведен ниже
(http://solaris.opennet.ru/base/faq/bsd_firewall.txt.html)

Если все фильтры вкомпилированы в ядро, то порядок следующий:
interface in->bpf->ipnat->ipfilter->ipfw->pkt
pkt->ipfilter->ipnat->ipfw->bpf->interface out
Если фильтры подгружаются модулями, то порядок прохождения зависит от
порядка загрузки.

Интересует где в этой цепочке будет размещаться pf, если его тоже заюзать?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "pf ipfw порядок прохождения пакетов"  
Сообщение от butcher (ok) on 06-Июл-07, 13:07 
>Если все фильтры вкомпилированы в ядро, то порядок следующий:
>interface in->bpf->ipnat->ipfilter->ipfw->pkt
>pkt->ipfilter->ipnat->ipfw->bpf->interface out
>Если фильтры подгружаются модулями, то порядок прохождения зависит от
>порядка загрузки.
>
>Интересует где в этой цепочке будет размещаться pf, если его тоже заюзать?

При использовании модулей, как вы уже сказали, порядок будет определяться порядком загрузки модулей. Причина здесь в том, что пакетные фильтры регистрируют себя в pfil(9).
При включении всех фильтров в ядро порядок будет определять SYSINIT.
Чтобы определить порядок, нужно открыть файл sys/kernel.h. В нём определён порядок инициализации определённых подсистем. Теперь, простейшее:

# grep DECLARE_MODULE netinet/ip_fw_pfil.c
DECLARE_MODULE(ipfw, ipfwmod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY);
# grep DECLARE_MODULE contrib/pf/net/pf_ioctl.c
DECLARE_MODULE(pf, pf_mod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_FIRST);
# grep DECLARE_MODULE contrib/ipfilter/netinet/mlfk_ipl.c
DECLARE_MODULE(ipfilter, ipfiltermod, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY);

От сюда следует: первым будет ipfilter, затем pf, затем ipfw.
PS. IMHO.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "pf ipfw порядок прохождения пакетов"  
Сообщение от yolkov email on 22-Дек-08, 11:21 
если IPFW в ядре, а PF подгружен модулем, какой порядок будет?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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