Iptables
![]() | Ten artykuł od 2023-06 wymaga zweryfikowania podanych informacji. Należy podać wiarygodne źródła w formie przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary) Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
![]() | |||
Autor | Netfilter Core Team | ||
---|---|---|---|
Pierwsze wydanie | 1998 | ||
Aktualna wersja stabilna | 1.8.10 (10 października 2023) [±] | ||
Język programowania | C | ||
System operacyjny | Linux | ||
Rodzaj | filtr pakietów | ||
Licencja | GNU General Public License | ||
| |||
Strona internetowa |
iptables – program sterujący filtrem pakietów (głównie używanym jako zapora sieciowa bądź NAT) opracowany dla systemu operacyjnego Linux. Autor Rusty Russell napisał pierwszą wersję w 1998 roku w języku C. Program może być używany jako filtr pakietów, bądź tzw. stanowa zapora dla systemów Linux z jądrem począwszy od serii 2.4.x, kontrolujący połączenia wchodzące i wychodzące do sieci komputerowej lub stacji roboczej. Wymaga jądra skompilowanego z modułem ip_tables.
Iptables wymaga uprawnień roota do uruchomienia. W większości dystrybucji linuksowych iptables jest instalowane w katalogu /usr/sbin/iptables
, jednakże w niektórych z nich można go znaleźć w /sbin/iptables
.
Zasady działania
Iptables umożliwia administratorowi systemu definiowanie tabel zawierających łańcuchy reguł stosowanych dla pakietów. Każda z tabel służy do przetwarzania pakietów różnego rodzaju i zawiera kilka łańcuchów[1]:
- filter – domyślna tabela
- INPUT – pakiety przeznaczone dla lokalnego komputera
- FORWARD – pakiety routowane przez lokalny komputer
- OUTPUT – pakiety wygenerowane przez lokalny komputer
- nat – pakiety nawiązujące nowe połączenia
- PREROUTING – dla zmian w pakietach zanim zostaną routowane
- OUTPUT – dla zmian w lokalnie wygenerowanych pakietach zanim zostaną routowane
- POSTROUTING – dla zmian w pakietach tuż przed ich wysłaniem
- mangle – dla wyspecjalizowanych zmian w pakietach
- PREROUTING – dla zmian w pakietach przychodzących zanim zostaną routowane
- OUTPUT – dla zmian w lokalnie wygenerowanych pakietach, przed ich routowaniem
- INPUT – dla zmian w pakietach zmierzających do lokalnego komputera
- FORWARD – dla zmian w pakietach routowanych przez lokalny komputer
- POSTROUTING – dla zmian w pakietach po routingu, tuż przed ich wysłaniem
- raw – do tej tabeli pakiety trafiają najpierw – ma ona najwyższy priorytet
- PREROUTING – pakiety przychodzące przez jakikolwiek interfejs sieciowy
- OUTPUT – pakiety generowane przez lokalne procesy
Każdy z tych predefiniowanych łańcuchów posiada sposób postępowania względem pakietów, które do niego trafiają, np. DROP (odrzucenie pakietu). Administrator może w razie potrzeby tworzyć swoje własne łańcuchy. Reguły pozwalają na podjęcie określonych działań z uwzględnieniem rodzaju i przeznaczenia pakietu, np. port, host, wykorzystany protokół, czas życia (TTL) itp.
Gdy pakiet trafia do łańcucha, wędruje przez znajdujące się w nim reguły, dopóki nie trafi na taką, która skierowuje go do określonego celu. Niektóre z nich to ACCEPT (zaakceptowanie pakietu), DROP (odrzucenie) i REJECT (odrzucenie z powiadomieniem nadawcy).
Przykład
Po wpisaniu poniższych komend komputer będzie akceptował wyłącznie połączenia skierowane na porty HTTP i SSH:
# iptables -P FORWARD DROP # iptables -P INPUT DROP # iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT # iptables -A INPUT --protocol tcp --destination-port 80 -j ACCEPT
Nakładki
- fwbuilder – rozbudowane narzędzie pozwalające na konfigurację różnych firewalli, w tym iptables
- Firestarter – interfejs graficzny dla iptables
- ipmenu – tekstowy interfejs użytkownika umożliwający konfigurację iptables
Zobacz też
- przekierowanie portów
- czas życia pakietu
- Netfilter
- ebtables – odpowiednik iptables dla mostu
Przypisy
- ↑ iptables. dev.medozas.de. [zarchiwizowane z tego adresu (2009-06-12)]. manpages.
Linki zewnętrzne
![]() | Zobacz publikację iptables w Wikibooks |
- Strona domowa projektu
- Podstawy konfiguracji iptables
- Podstawowe reguły iptables