iptables -N retezec
iptables -X retezec
iptables -P retezec cil
iptables -L retezec
iptables -F retezec
iptables -A retezec spec. pravidla
iptables -I retezec pozice spec. pravidla
iptables -D retezec pozice
iptables -R retezec pozice spec. pravidla
iptables -D retezec spec. pravidla
Cíle v pravidlech mohou být jednak "odkazy" na další řetězce (např. '-j dalsi_retezec'), jednak některé ze speciálních cílů jako je:
Další důležitá změna, kterou iptables přinesly, je možnost rozlišovat jednotlivé flagy v TCP hlavičce a filtrovat pakety podle nich. V ipchains bylo možné detekovat pouze nastavený SYN flag. Budeme-li tedy např. chtít zvýšit odolnost systému proti stealth port scanům, můžeme to zajistit tím, že budeme likvidovat pakety s nastaveným FIN flagem a stavem INVALID.
Dále je možné filtrovat podle TCP options nebo MAC adresy.
A konečně je zde pravidlo limit, které je možné použít například k omezení logování v některém řetězci. U toho pravidla můžeme nastavit maximální počet shod za sekundu a omezit tak přeplňování logu v řetězci, u kterého lze očekávat velký počet shod.
'echo 1 > /proc/sys/net/ipv4/ip_forward'
).
Pravidla pro překlad adres se ukládají v tabulce 'nat',
(iptables -t nat
) narozdíl od pravidel
firewallu, které jsou uloženy v základní tabulce iptables, v tabulce 'filter'.
Tabulka 'nat' obsahuje tři předdefinované řetězce: řetězec PREROUTING pro
překlad cílových adres, řetězec POSTROUTING pro překlad zdrojových adres a
OUTPUT řetězec pro překlad cílových adres lokálně generovaných paketů.
Při vytváření pravidel pro překlad adres je možné pakety rozlišovat podle
zdrojové či cílové adresy, vstupního či výstupního rozhraní, podle protokolu a dalších.
Pro překlad zdrojových adres (POSTROUTING řetězec) je určen buď cíl SNAT '-j SNAT', za kterým musí být uvedena volba '--to adresa:port' a ip adresa (případně rozsah ip adres), na kterou má být překlad proveden (za adresou může být nepovinně uveden port nebo rozsah portů) nebo cíl MASQUERADE používaný při dynamicky přidělované IP adrese, typicky pro modemem vytáčená spojení. MASQUERADE narozdíl od SNAT zapomene veškerá spojení v případě spadnutí linky.
Podobně pro překlad cílové adresy (PREROUTING a OUTPUT řetězec) je určen cíl DNAT '-j DNAT' a za ním stejně jako u překladu zdrojové adresy následuje volba '--to adresa:port'