Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vše o iptables: úvod

Iptables je mocný nástroj, který umožňuje linuxovému nebo unixovému systému plně pracovat se síťovou komunikací. Pomocí něj si můžeme snadno postavit různé druhy firewallů (stavový, transparentní…) nebo sdílet internet, zkrátka snadno řídit velkou síťovou dopravní křižovatku na serveru.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

V dávných dobách, kdy jsem ještě začínal na konzolovém linuxu, jsem se si chtěl postavit server jakožto bránu do internetu. A asi jako většina začátečníků jsem poctivě googlil, až jsem narazil na sérii článků na Root.cz Linux jako internetová gateway nebo Stavíme firewall a tak dále … Poctivě jsem opisoval každý řádek z iptables (bez logiky, proč tomu tak je) a čirou náhodou mi to napoprvé i fungovalo.

Ptal jsem se známých, jestli neví o jiných článcích, které se iptables zaobírají trochu hlouběji, ale většinou jsem dostal záporné odpovědi. Ať si to přečtu v man iptables, ale že to prý nemá cenu, je to neuvěřitelně rozsáhlé, a jiné bláboly. Samozřejmě že tomu tak ve skutečnosti není, jenom já jakožto začínající uživatel jsem v tom měl více či méně problémy. Proto jsem se rozhodl napsat kompletní seriál o všech vymoženostech iptables i s některými praktickými ukázkami. Dnešní díl je jen jakýmsi lehkým úvodem do problematiky.

Co je to vlastně iptables a k čemu slouží?

Iptables je mocný nástroj, který umožňuje linuxovému nebo unixovému systému plně pracovat se síťovou komunikací. Pomocí něj si můžeme snadno postavit různé druhy firewallů (stavový, transparentní …) nebo sdílení internetu, zkrátka snadno řídit velkou síťovou dopravní křižovatku na serveru.

Tak konec úvodu a pusťme se do základní syntaxe:

iptables [tabulka] [akce] [chain] [ip_část] [match] [target] [target_info] 

Všemi těmito částmi se do detailů budeme zabývat v tomto seriálu. Jak je vidět, zas tak mnoho parametrů to není a začátečníci by se neměli lekat tohoto zdánlivě složitého příkazu. A aby se nám psala pravidla dobře, zkusme při jejich psaní trochu myslet jako paket. Kam letím? Co mám potom udělat? Mějte na paměti, že zde velice záleží na pořadí, neboť paket, který vyhoví (ať už zahozením či povolením) prvnímu možnému pravidlu, už nepokračuje dál a není kontrolován ostatními pravidly.

Dnes bychom začali první částí, a tou jsou tabulky. Existují pouze 3 základní: filter (výchozí), nat a mangle. Poznáme je podle přepínače -t v příkazu. Tabulky si můžeme představit jako 3 katalogy, každý z nich má svoje položky – řetězce (anglicky chain, ale o nich si povíme trošku později.)

Pokud nedefinujeme žádnou tabulku, tak se automaticky použije filter. Takže v této tabulce se defaultně nachází řetězce INPUT, FORWARD a OUTPUT. Jak již jejich názvy napovídají, pokud paket letí dovnitř, aplikují se na něj pravidla z řetězce INPUT. Pokud mají být pravidla pro odchozí pakety, použije se OUTPUT. A nakonec je zde FORWARD, ten použijeme, když náš server funguje jako router a přeposílá pakety mezi sítěmi. Důležité upozornění: To, co jde přes FORWARD, neprochází pravidly INPUT ani OUTPUT!.

Tabulka nat má opět výchozí 3 položky, a to PREROUTING, POSTROUTING a OUTPUT. První je řetěz pravidel, které se použijí na příchozí pakety, pomocí nich můžeme modifikovat cílovou adresu Destination NAT (DNAT). To se hodí hlavně tehdy, když chceme forwardovat porty (nebo celý rozsah) do neveřejné místní sítě. Opakem je POSTROUTING, s ním modifikujeme odchozí spojení Source NAT (SNAT),masquerade. Toho zase můžeme využít, pokud máme například jednu veřejnou IP adresu a chceme za ní skrýt více počítačů. Poslední položkou je OUTPUT, to je řetěz pravidel, které se uplatňují ještě před modifikací odchozích paketů (než je předáme dále).

Poslední tabulkou je mangle, ta má všech pět položek, které mají filter i nat. (INPUT, OUTPUT, FORWARD, PREROUTING a POSTROUTING). V nich jsou řetěze pravidel, které slouží pro úpravy hlavičky paketů, manipulace s TTL, TOS, značkování …

Akce:

Akcí, které můžeme dělat, je poměrně dost. Toto je počeštěný výtažek z manuálu některých nejpoužívanějších:

-A, --append - Přidání nového pravidla na konec řetězce
-D, --delete - Smaže pravidlo (buď ho zadáte ve tvaru, v němž jste ho přidávali, nebo
                  použijete jeho číslo, to získáte rozšířenou volbou --lin. Viz. dole).
-R, --replace - Nahradí číslo pravidla jiným pravidlem
-I, --insert  - Vložení nového pravidla na začátek řetězce
-L, --list    - Vypsání všech pravidel v řetězci. Pokud není zadán řetězec, vypíšou se všechny řetězce + jejich pravidla
-F, --flush   - Vyprázdní všechna pravidla v řetězci (to samé, jako kdybyste to dělali po
                  jednom)
-N, --new-chain      - Vytvoříme si vlastní řetěz
-X, --delete-chain   - Smažeme si vlastní řetěz (nejde smazat výchozí)
-P, --policy         - Výchozí politika řetězce
-E, --rename-chain   - Přejmenování vlastního řetězce 

Rozšířené volby:

-v, --verbose  - Podrobnější výpis (více ukecaný)
--lin, --line-numbers   - Zobrazí čísla pravidel
-n, --numeric  - u IP adres nebude zjišťovat reverzní DNS, ale vypíše ji číselně
                  (vhodné, když máte mnoho pravidel, abyste měli rychlejší výpis) 

Výchozí politika (policy) v iptables při výchozí konfiguraci je „povolit všechno“. Je to pochopitelné, pokud bychom totiž neměli žádný firewall a implicitně by se zahodilo všechno, tak bychom si v síti moc neužili. Ale pokud chceme dělat FW, měli bychom se řídit pravidlem „co vysloveně není povoleno, to je zakázáno“. Jak je již zmíněno výše, používá se přepínače -P. A volby jsou buď povolit (ACCEPT) nebo zahodit (DROP).

TIB2012

       

Příklad výchozího zahození všech příchozích paketů:

iptables -P INPUT DROP 

Toto je prozatím z dnešního dílu vše, příště bychom se podívali IP část a match (rozšíření).

Školení Google+ pro firmy

DW - Školení PPC
  • Jak využít Google+ pro firemní komunikaci a marketing.
  • Čím se liší Google+ od Twitteru a Facebooku z pohledu firemního využití.
  • Jak využít Google+ v souladu s pravidly užívání.
  • Založení Google+ Page (Stránky) krok po kroku, včetně praktických tipů.

Detailní informace o školení Google+ »

Ohodnoťte jako ve škole:
Průměrná známka 2,23

Přehled názorů

relativismus
deda.jabko 10. 1. 2006 00:51
├ 
Re: relativismus
JirkaS 10. 1. 2006 09:13
│
├ 
Re: relativismus
Olda Kucza 10. 1. 2006 12:07
│
└ 
Re: relativismus
Hmmm 10. 1. 2006 12:41
├ 
Re: relativismus
Jarda 10. 1. 2006 18:49
└ 
Re: relativismus
Vítězslav Novák 11. 1. 2006 11:43
pochopeni principu
Ondrej OldFrog Nemecek 10. 1. 2006 01:10
├ 
Re: pochopeni principu
anonymní uživatel 10. 1. 2006 06:51
├ 
Re: pochopeni principu
Tomáš Šimek 10. 1. 2006 07:50
└ 
Re: pochopeni principu
J 13. 1. 2006 15:08
diky za parametr
Cyber Duracel 10. 1. 2006 09:43
kazda rad draha
an 10. 1. 2006 09:54
Obrazek nebude?
Phill 10. 1. 2006 10:09
├ 
Re: Obrazek nebude?
Shaman2nd 10. 1. 2006 14:52
└ 
Re: Obrazek nebude?
Jirka 10. 1. 2006 15:02
 
└ 
Re: Obrazek nebude?
astray 10. 1. 2006 20:38
 
 
└ 
Re: Obrazek nebude?
aahz 11. 1. 2006 09:00
díky za to!
Jirka Hlinka 10. 1. 2006 10:16
Bida
JirkaS 10. 1. 2006 11:15
└ 
Re: Bida
Jet Pac 8. 2. 2006 17:14
Dik
Michal 10. 1. 2006 11:36
Dik za clanek,
Jan Poslušný 10. 1. 2006 11:46
Good
Frantisek Vomacka 10. 1. 2006 13:02
Nebezpecny zaver clanku
HKMaly 10. 1. 2006 21:49
└ 
Re: Nebezpecny zaver clanku
mekor 11. 1. 2006 07:37
 
└ 
Re: Nebezpecny zaver clanku
HKMaly 11. 1. 2006 07:44
 
 
└ 
Re: Nebezpecny zaver clanku
Douglish 3. 2. 2006 01:01
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem