The OpenNET Project / Index page

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

[FreeBSD] FAQ по пакетным фильтрам и NAT (firewall faq ipfw freebsd nat)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: firewall, faq, ipfw, freebsd, nat,  (найти похожие документы)
Date: Tue, 12 Oct 2004 14:03:48 +0600 From: "Sergey A. Cherukhin" <rf@ce.cctpu.edu.ru.> Newsgroups: ftn.ru.unix.bsd Subject: [FreeBSD] FAQ по пакетным фильтрам и NAT Последняя редакция разделов FAQ про пакетные фильтры и NAT. > Q.: Во FreeBSD существует несколько пакетных фильтров - bpf, PF, ipf, IPFilter, IPFW, > IPFW2. Чем они отличаются? A.: Пакетный фильтр bpf не используется для построения МСЭ (межсетевых экранов aka firewall). Этот фильтр используется программами анализа и учета трафика, например, trafd. Правила фильтрации задаются программой на псевдо-машинном языке. Пакетные фильтры PF, IPFilter, IPFW и IPFW2 используются для построения МСЭ. IPFilter (он же ipf) - небольшой по размеру пакетный фильтр, включенный в ядро FreeBSD с версии 3.3.3. До этого был доступен в виде порта. PF - пакетный фильтр, заимствованный из OpenBSD. В настоящее время доступен в виде порта. С точки зрения пользователя очень похож на IPFilter, но имеет дополнительную функциональность (нормализация пакетов, управление приоритетеми пакетов, управление полосой пропускания, фильтрация по uid/gid, аутентификация пользователя на маршрутизаторе и пассивное определение удаленной ОС). IPFW - пакетный фильтр по-умолчанию начиная с FreeBSD 2.0. IPFW2 является более новой версией IPFW, имеющей больше возможностей по сравнению с IPFW. Во FreeBSD 4.* и старше по-умолчанию используется IPFW, в версиях 5.* и новее - IPFW2. > Q.: Что лучше использовать, IPFW, IPFilter или PF? А.: Hеобходимо использовать IPFW если: - нужно разделять или ограничивать полосу пропускания; - нужно использовать divert-сокеты (для natd или tcpmssd) - нужны правила с указанием uid/gid пакетов. - нужна оптимизация сложного дерева правил (сложнее, чем head/group в ipf). В противном случае - на Ваш выбор. Пакетные фильтры можно использовать совместно в разных комбинациях. Hапример, можно использовать для фильтрации пакетов IPFilter, а для управления полосой пропускания - DUMMYNET из IPFW. > Q.: В каком порядке пакеты проходят через фильтры при использовании > нескольких фильтров? A.: Если все фильтры вкомпилированы в ядро, то порядок следующий: interface in->bpf->ipnat->ipfilter->ipfw->pkt pkt->ipfilter->ipnat->ipfw->bpf->interface out Если фильтры подгружаются модулями, то порядок прохождения зависит от порядка загрузки. > Q.: Что лучше использовать, natd или ipnat ? A.: Политика трансляции для natd задается в IPFW, что дает большую гибкость в настройках и позволяет, например, выполнять несимметричную фильтрацию, когда исходящие пакеты уходят через один интерфейс, а входящие приходят через другой. Кроме того, natd поддерживает transparent proxy для протоколов FTP, IRC, ICMP, PPTP, RTSP, PNA, NetBios over TCP/IP и Cisco Skinny Station protocol, а ipnat - только FTP, H.323, ipsec, NetBios over TCP/IP, raudio и rcmd. Однако natd работает в userland и на каждый пакет выполняется 2 переключения контекста, что дает overhead, заметный на слабом железе (i486, i586). В отличие от natd, ipnat потребляет значительно меньше процессорных ресурсов, ipnat можно настроить на GENERIC-ядре, подгрузив модуль ipl, а для natd придется перекомпилировать ядро с опцией IPDIVERT и ipnat работает с любым пакетным фильтром, а для natd обязательно нужен ipfw. Так что если у Вас слабое железо, Вы не хотите перекомпилировать ядро или не хотите использовать ipfw и функциональность ipnat Вас устраивает - используйте ipnat.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, dsa (??), 14:46, 22/11/2006 [ответить]  
  • +/
    A.: Если все фильтры вкомпилированы в ядро, то >порядок следующий:
    >interface in->bpf->ipnat->ipfilter->ipfw->pkt
    >pkt->ipfilter->ipnat->ipfw->bpf->interface out
    >Если фильтры подгружаются модулями, то порядок >прохождения зависит от
    >порядка загрузки.

    А где в этой цепочке находится pf ?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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