iptables firewall se používá ke správě filtrování paketů a pravidel NAT. IPTables je dodáván se všemi distribucemi Linuxu. Pochopení toho, jak nastavit a nakonfigurovat iptables, vám pomůže efektivně spravovat váš linuxový firewall.
Nástroj iptables se používá ke správě pravidel brány firewall systému Linux. Na první pohled mohou iptables vypadat složitě (nebo dokonce matoucí). Jakmile však pochopíte základy toho, jak iptables funguje a jak je strukturován, bude čtení a psaní pravidel brány iptables snadné.
Tento článek je součástí probíhající série výukových programů iptables. Toto je první článek v této sérii.
Tento článek vysvětluje, jak je iptables strukturován, a vysvětluje základy tabulek, řetězců a pravidel iptables.
Na vysoké úrovni může iptables obsahovat více tabulek. Tabulky mohou obsahovat více řetězců. Řetězce mohou být vestavěné nebo uživatelsky definované. Řetězce mohou obsahovat více pravidel. Pro pakety jsou definována pravidla.
Takže struktura je:iptables -> Tables -> Chains -> Rules. To je definováno v následujícím diagramu.
Obr :IPTables Table, Chain a Rule Structure
Jen pro zopakování, tabulky jsou shluk řetězců a řetězce jsou shluky pravidel brány firewall.
I. IPTABLES STOLY A ŘETĚZY
IPTables má následující 4 vestavěné tabulky.
1. Tabulka filtrů
Filtr je výchozí tabulka pro iptables. Pokud tedy nedefinujete svou vlastní tabulku, budete používat tabulku filtrů. Tabulka filtrů Iptables má následující vestavěné řetězce.
- řetěz INPUT – Příchozí do firewallu. Pro pakety přicházející na místní server.
- VÝSTUPNÍ řetězec – Odchozí z firewallu. Pro pakety generované lokálně a odcházející z místního serveru.
- ŘETĚZ FORWARD – Paket pro jinou síťovou kartu na místním serveru. Pro pakety směrované přes místní server.
2. NAT tabulka
Tabulka NAT v IPtable má následující vestavěné řetězce.
- Řetěz PREROUTING – Změní pakety před směrováním. tj. k překladu paketů dochází ihned poté, co paket přijde do systému (a před směrováním). To pomáhá přeložit cílovou IP adresu paketů na něco, co odpovídá směrování na místním serveru. To se používá pro DNAT (destination NAT).
- řetěz POSTROUTING – Mění pakety po směrování. tj. k překladu paketů dochází, když pakety opouštějí systém. To pomáhá přeložit zdrojovou IP adresu paketů na něco, co by mohlo odpovídat směrování na cílovém serveru. To se používá pro SNAT (zdrojový NAT).
- OUTPUT chain – NAT pro lokálně generované pakety na bráně firewall.
3. Mangle stůl
Mangle tabulka Iptables je určena pro specializované úpravy paketů. Tím se změní bity QOS v hlavičce TCP. Mangle tabulka má následující vestavěné řetězce.
- řetězec PREEROUTING
- VÝSTUPNÍ řetězec
- řetěz FORWARD
- řetěz INPUT
- řetězec POSTROUTING
4. Raw tabulka
Raw tabulka Iptable slouží pro výjimky z konfigurace. Raw tabulka má následující vestavěné řetězce.
- řetězec PREEROUTING
- VÝSTUPNÍ řetězec
Následující diagram ukazuje tři důležité tabulky v iptables.

Obr :Vestavěné tabulky IPTables
II. PRAVIDLA IPTABLES
Níže jsou uvedeny klíčové body, které je třeba pamatovat pro pravidla iptables.
- Pravidla obsahují kritéria a cíl.
- Pokud jsou kritéria splněna, přejde na pravidla určená v cíli (nebo) provede speciální hodnoty uvedené v cíli.
- Pokud se kritéria neshodují, přejde k dalšímu pravidlu.
Cílové hodnoty
Níže jsou uvedeny možné speciální hodnoty, které můžete zadat v cíli.
- AKCEPTOVAT – Firewall paket přijme.
- DROP – Firewall paket zahodí.
- FRONTA – Firewall předá paket do uživatelského prostoru.
- RETURN – Firewall přestane provádět další sadu pravidel v aktuálním řetězci pro tento paket. Ovládací prvek bude vrácen volajícímu řetězci.
Pokud provedete iptables – seznam (nebo) stav iptables, uvidíte všechna dostupná pravidla brány firewall ve vašem systému. Následující příklad iptable ukazuje, že v tomto systému nejsou definována žádná pravidla brány firewall. Jak vidíte, zobrazuje výchozí vstupní tabulku s výchozím vstupním řetězcem, dopředným řetězcem a výstupním řetězcem.
# iptables -t filter --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Chcete-li zobrazit tabulku mandlu, postupujte takto.
# iptables -t mangle --list
Chcete-li zobrazit tabulku nat, postupujte takto.
# iptables -t nat --list
Chcete-li zobrazit nezpracovanou tabulku, postupujte takto.
# iptables -t raw --list
Poznámka:Pokud nezadáte volbu -t, zobrazí se výchozí tabulka filtrů. Oba následující příkazy jsou tedy stejné.
# iptables -t filter --list (or) # iptables --list
Následující příklad iptable ukazuje, že ve vstupním, dopředném a výstupním řetězci tabulky filtrů jsou definována některá pravidla.
# iptables --list Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Pravidla ve výstupu příkazu iptables –list obsahují následující pole:
- num – číslo pravidla v rámci konkrétního řetězce
- target – Speciální cílová proměnná, o které jsme hovořili výše
- prot – Protokoly. tcp, udp, icmp atd.
- opt – Zvláštní možnosti pro toto konkrétní pravidlo.
- zdroj – zdrojová IP adresa paketu
- destination – Cílová IP adresa pro paket