The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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, 13:07 , 06-Июл-07 (1)
    >Если все фильтры вкомпилированы в ядро, то порядок следующий:
    >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.




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

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