URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 75042
[ Назад ]

Исходное сообщение
"pf ipfw порядок прохождения пакетов"

Отправлено psn1982 , 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, если его тоже заюзать?


Содержание

Сообщения в этом обсуждении
"pf ipfw порядок прохождения пакетов"
Отправлено butcher , 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.


"pf ipfw порядок прохождения пакетов"
Отправлено yolkov , 22-Дек-08 11:21 
если IPFW в ядре, а PF подгружен модулем, какой порядок будет?