Filtr pakietów

Filtr pakietów

Informacja
Opracowany przez Projekt OpenBSD ( d )
Kaucja openbsd.su/src/sys/net/pfvar.h
Napisane w C i yacc
Rodzaj Firewall
Licencja Licencja BSD
Stronie internetowej www.openbsd.org/faq/pf/index.html

Packet Filter (lub PF ) to oprogramowanie firewall i oficjalne oprogramowanie OpenBSD , pierwotnie napisane przez Daniela Hartmeiera . Jest to bezpłatne oprogramowanie typu open source .

Zastępuje IPFilter z Darren Reed od wersji 3.0 OpenBSD, z powodu problemów licencyjnych, ale także systematyczna odmowa Reed wprowadzić zmiany kodu z twórców OpenBSD.

Został przeniesiony do DragonFly BSD 1.2 i NetBSD 3.0; jest standardowo dostępny we FreeBSD (wersja 5.3 i nowsze).

Od wersji OS X 10.7 Lion jest to domyślna zapora sieciowa dla Apple Macintosh .

Wolny port PF został również utworzony dla systemów operacyjnych Windows 2000 i XP przez społeczność Core FORCE. Ten port jest jednak tylko osobistą zaporą ogniową: nie implementuje funkcji PF pozwalających na NAT lub używanie ALTQ

Zarządzanie przepustowością

Począwszy od OpenBSD 3.0 , ALTQ Alternate Queuing jest częścią systemu podstawowego.

Od OpenBSD 3.3 , ALTQ zostało zintegrowane z PF .

Implementacja ALTQ w OpenBSD obsługuje algorytmy Class Queuing (CBQ) i Priority Queuing (PRIQ), a także Random Early Detection (RED) i Explicit Congestion Notification (ECN).

Integracja ALTQ w PF pozwala między innymi na zdefiniowanie priorytetu ruchu w filtrze, który go autoryzuje.

Zobacz: PF: Zarządzanie przepustowością

Pozwala to na przykład:

Cechy szczególne

Polecenia i parametry

Kilka przykładów użycia pfctl, narzędzia do administrowania zaporą z wiersza poleceń przy użyciu PF  :

Zamówione Akcja
pfctl -e Aktywny filtr pakietów.
pfctl -d Wyłącza filtr pakietów.
pfctl -f <plik> Załaduj reguły opisane w pliku do PF . Jeśli w pliku zostanie znaleziony tylko jeden błąd składni, nic się nie zmieni.
pfctl -s nat Wyświetla aktywowane reguły NAT .
zasady pfctl -s Wyświetla aktywowane reguły filtrowania.

Przykładowa konfiguracja

Podstawowe wyjaśnienia dotyczące składni:


# Macros int_if="rl0" ports_ouverts_pour_tous="{ http https }" ports_ouverts_pour_lequipe="{ ssh 21 60000:60100 }" # Tables table <ip_de_lequipe> { XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX } # Normalisation du trafic scrub in no-df # NAT nat on egress -> (egress) # Règles de filtrage block in pass out keep state pass in on egress proto tcp from <ip_de_lequipe> to port $ports_ouverts_pour_lequipe pass in on egress proto tcp to port $ports_ouverts_pour_tous block in quick on $int_if proto tcp from $int_if:network to port 4662 pass quick on !egress

Zobacz też

Inne bezpłatne zapory

Linki zewnętrzne