Wprowadzenie do iptables
iptables to program do kontroli filtrowania pakietów, powszechnie stosowany jako zapora ogniowa (firewall) lub do translacji adresów sieciowych (NAT) w systemie Linux. Został stworzony przez Rusty’ego Russella w 1998 roku i wymaga jądra Linuxa w wersji 2.4.x lub nowszej. Aby działać, iptables potrzebuje uprawnień roota i zazwyczaj jest zainstalowany w katalogu /usr/sbin/iptables
lub /sbin/iptables
.
Zasady działania
Iptables pozwala administratorowi na definiowanie tabel z łańcuchami reguł do przetwarzania pakietów. Główne tabele to:
- filter – tabela domyślna:
- INPUT – pakiety do lokalnego komputera
- FORWARD – pakiety routowane przez lokalny komputer
- OUTPUT – pakiety generowane przez lokalny komputer
- nat – obsługuje nowe połączenia:
- PREROUTING – zmiany przed routowaniem
- OUTPUT – zmiany w lokalnych pakietach przed routowaniem
- POSTROUTING – zmiany tuż przed wysłaniem pakietu
- mangle – do specjalistycznych zmian w pakietach (np. modyfikacje TTL)
- raw – priorytetowa tabela, pakiety trafiają tu na początku
Każdy łańcuch zawiera reguły, które określają działania na pakietach, takie jak ACCEPT (zaakceptowanie) lub DROP (odrzucenie). Administratorzy mogą tworzyć własne łańcuchy, aby dostosować zasady filtrowania według różnych kryteriów, takich jak port, host czy protokół.
Przykład konfiguracji
Przykładowe komendy do akceptacji tylko połączeń 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 na iptables
Graficzny interfejs użytkownika
- fwbuilder – narzędzie do konfiguracji różnych firewalli, w tym iptables
- Firestarter – graficzny interfejs dla iptables
Interfejs tekstowy
- ipmenu – tekstowy interfejs do konfiguracji iptables