iptables

iptables
VývojářRusty Russell
Aktuální verze1.8.10 (10. října 2023)
Operační systémGNU/Linux
PlatformaLinux
Linux-libre
Vyvíjeno vC
Typ softwarusvobodný software
LicenceGPLv2
Webwww.netfilter.org/projects/iptables/
Některá data mohou pocházet z datové položky.

iptables je v informatice název pro user space nástroj v Linuxu, který slouží pro nastavování pravidel firewallu v jádře. Pravidla firewallu mohou být stavová i nestavová a mohou ovlivňovat příchozí, odchozí i procházející IP datagramy. Pravidla jsou v jádře zpracovávána několika netfilter moduly.

Charakteristika

Tok síťových paketů přes Netfilter

Příkaz iptables slouží k manipulaci s tabulkami Xtables (které používá Netfilter) a v nich umístěných řetězců (anglicky chains) složených z pravidel. Pravidla slouží k ovlivňování průchodu paketů jádrem operačního systému (resp. jeho subsystémem, který nazýváme TCP/IP stack). Za pomoci tohoto nástroje tak mohou být vytvořeny různé druhy pravidel, který tento průchod ovlivní (povolen, odmítnut, změněn apod.). Systém pravidel vytváří firewall (kontrola přístupu), umožňuje nastavení NAT (modifikace procházejících paketů), sledování procházejících paketů, jejich analýzu a podobně.

Nástroj iptables vyžaduje ke své funkci administrátorská oprávnění, a proto musí být spuštěn uživatelem root, jinak nebude fungovat. Program je většinou umístěn v /usr/sbin/iptables. Iptables jsou součástí jádra Linuxu verze 2.6 a 2.4. Ve starších verzích se používal nástroj ipchains (2.2) a ipfwadm (2.0).

Shrnutí funkce

Rámec Xtables, užívaný ip_tables, ip6_tables a arp_tables umožňují definovat tabulky obsahující sady pravidel sdružovaných do řetězců (anglicky chains), které definují zacházení s jednotlivými pakety. Existuje několik základních tabulek (INPUT, OUTPUT, FORWARD, ...), do kterých lze přidávat pravidla, měnit jejich nastavení a je možné vytvářet další tabulky a zapisovat pravidla, které jejich průchod vyvolají. Každý příchozí či odchozí paket musí projít alespoň jednou tabulkou.

Základní syntaxe

iptables [tabulka] [akce] [chain] [ip_část] [match] [cíl] [cíl_info]

Parametr tabulka

Existují tři základní typy: filter (výchozí), nat a mangle. Přepínač –t definuje, o který typ se jedná (např.: iptables -t nat). Každý typ tabulky má vlastní systém pravidel.

  • typ filter: pokud není definováno příkazem -t, je implicitně nastaven tento typ. Nacházejí se zde sady pravidel INPUT, FORWARD a OUTPUT. Pokud paket směřuje dovnitř, aplikují se sady pravidel INPUT. Analogicky pro odchozí pakety OUTPUT. FORWARD je použit, pokud server funguje jako router. Pakety, procházející přes FORWARD, neprocházejí sadou pravidel INPUT ani OUTPUT.
  • typ nat: obsahuje tři výchozí sady pravidel – PREROUTING, POSTROUTING a OUTPUT. PREROUTING je sada pravidel aplikovaných na příchozí pakety před jejich zpracováním v routovací tabulce. Jejich pomocí lze modifikovat cílovou adresu Destination NAT (DNAT). Opakem je POSTROUTING – modifikujeme pakety, které již prošly routovací tabulkou a lze na ně aplikovat pravidla Source NAT (SNAT). OUTPUT je sada pravidel, která se uplatňují před odesláním paketů.
  • typ mangle: obsahuje všech pět položek, které obsahuje filter a nat (INPUT, OUTPUT, FORWARD, PREROUTING a POSTROUTING). Obsahuje sady pravidel pro úpravy hlavičky paketů, manipulace s TTL, TOS atp.

Parametr akce

Nejpoužívanější příkazy (přeložený výtah z manuálové stránky):

-A, --append – Přidá na konec řetězce nové pravidlo.
-D, --delete – Smaže pravidlo (zadává se buď v přesném tvaru, jak bylo zadáno nebo jeho číslem, které lze získat volbou --lin.). 
-R, --replace – Nahradí pravidlo. 
-I, --insert – Vloží na začátek řetězce nové pravidlo.
-L, --list – Vypíše všechna pravidla v řetězci. Pokud řetězec není zadán, jsou vypsány všechny řetězce s jejich pravidly. 
-F, --flush – Vyprázdní v řetězci všechna pravidla 
-N, --new-chain – Vytvoření nového řetězce.
-X, --delete-chain – Smaže vlastní řetězec (nelze odstranit výchozí) 
-P, --policy – Politika (policy) řetězce. 
-E, --rename-chain – Přejmenování vlastního řetězce.

Politika (policy) v iptables je implicitní pravidlo, které se uplatní, pokud paket projde všemi pravidly, aniž by byl akceptován (ACCEPT). Implicitně je nastaveno na „povolit vše“ (ACCEPT). Při vytváření firewallu se obvykle uplatňuje princip „co není povoleno, je zakázáno“. K nastavení implicitního pravidla se používá přepínač -P. Volby jsou buď povolit (ACCEPT) nebo zahodit (DROP).

Příklad nastavení, které nastaví implicitní pravidlo na zahození všech příchozích paketů:

iptables -P INPUT DROP

Parametr ip_část

  • nastavení protokolu

První nastavujeme protokol. Standardní protokoly jsou ICMP, UDP, TCP nebo ALL. Lze použít také protokoly uvedené v /etc/protocols. Protokol definujeme přepínačem -p (--protocol), je-li za přepínačem použit vykřičník, znamená to negace, tedy platí vše ostatní, kromě negovaného. Př.: ! -p UDP. (dříve bylo možné uvádět i ve tvaru -p ! UDP, v současnosti je tento zápis zastaralý )

  • nastavení zdrojové a cílové IP adresy

nastavení zdrojové IP adresy definuje přepínač -s (--src,--source), nastavení cílové adresy definuje přepínač -d (--dst,--destination). Jestliže není použita výchozí maska sítě, může být použit zápis ve tvaru 192.168.0.1/24 nebo 192.168.0.1/255.255.255.0.

  • zjištění, odkud paket přišel nebo kam směřuje

Pro zjištění, odkud paket přišel, použijeme přepínač -i (--in-interface). Chceme-li zjistit, které zařízení se právě snaží opustit, použijeme přepínač -o (--out-interface).

  • určení akce, pokud je pravidlo splněno

Při použití přepínače -j (--jump) určujeme dvě možnosti – ACCEPT (pustí paket dále) nebo DROP (paket zahodí).

Příklad: Všechny pakety, které přijdou na eth0 z jiné adresy než 192.168.0.1, budou zahozeny.

iptables -P INPUT DROP 
iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT

Popis příkladu:

  1. chceme aplikovat pravidla pro řetězec INPUT, proto jsme zvolili typ tabulky filter (implicitní nastavení, pokud není použit přepínač -t)
  2. výchozí politika, pokud není splněna podmínka je nastavena na zahodit (DROP)
  3. paket vstoupil přes zařízení eth0 (volba -i eth0), zdrojová adresa je -s 192.168.0.1. Podmínky splňuje, je tedy přijat -j ACCEPT.

Externí odkazy


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Iptables
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.