Iptables: A Linux tűzfalrendszer áttekintése és fontossága a hálózati biztonságban

iptables Linuxon: alapok, szabályok és mentés

Az iptables a Linux kernel beépített tűzfalát állítja be parancssorból. Szabályokkal dönthetsz arról, mely hálózati csomagok jöhetnek be és mehetnek ki. Ebből az útmutatóból megtudod a táblák és láncok működését, a szabályok szerkesztését és mentését. A tartalom az Arch Linux és a Debian hivatalos wikijén, valamint az Ubuntu man oldalán alapul.

  • A tűzfal táblákból, láncokból és szabályokból áll.
  • A szabályokat a -A, -I, -R és -D kapcsolóval szerkeszted.
  • Az újraindítás törli a szabályokat, ezért el kell menteni őket.
  • A Debian 10 óta az nftables az alapértelmezett keretrendszer.
  • Távoli gépen előbb az SSH-t engedélyezd, csak utána szigoríts.

 

Mi az iptables, és mire való?

Az iptables egy parancssori eszköz, amellyel a Linux kernel beépített tűzfalát, a Netfilter rendszert állítod be. A szabályok alapján eldöntheted, mely hálózati csomagok jöhetnek be, mehetnek ki vagy mehetnek át a gépen. Az eszköz IPv4-hez készült, az IPv6-hoz az ip6tables való. A kettő szintaxisa megegyezik.

A parancsokat rendszergazdai joggal kell futtatnod, ezért az útmutató sudo-val adja meg őket. A Debian wiki szerint a szabályok nem maradandók, és az újraindítás törli őket. Ezért a mentés ugyanolyan fontos, mint maga a szabály.

Tipikus hiba, hogy valaki távoli gépen állít be szabályt, és kizárja magát. Ezért mindig tartsd nyitva az SSH-portot, és tesztelj egy másik kapcsolattal. Az SSH-kulcsos belépést a SSH-kulcs generálása Linuxon útmutató mutatja be.

 

Melyik tábla és lánc mire való?

A tűzfal öt táblát használ, és minden tábla láncokból áll. A lánc szabályok sorrendi listája, amelyet a csomag sorban végigjár. A legtöbb esetben csak a filter és a nat táblára lesz szükséged. A táblázat az Arch Linux dokumentációja alapján foglalja össze az öt táblát.

Utolsó frissítés: 2026-11-02
Tábla Mire való Beépített láncok
filter Tűzfalszűrés, ez az alapértelmezett tábla INPUT, OUTPUT, FORWARD
nat Címfordítás, például porttovábbítás PREROUTING, POSTROUTING, OUTPUT
mangle Speciális csomagmódosítás Lásd: man iptables
raw Csomagok kivétele a kapcsolatkövetés alól Lásd: man iptables
security Kötelező hozzáférés-vezérlés, például SELinux Lásd: man iptables

A szabályokat modulokkal bővítheted, például a connlimit, a conntrack, a limit és a recent modullal. A modulok összetettebb szűrési feltételeket tesznek lehetővé. Az Arch Linux szerint a nat és az alap tűzfal jóval egyszerűbb, mint elsőre tűnik.

 

Hogyan nézd meg, mi van beállítva?

A beállított szabályokat a listázó paranccsal nézheted meg. Az Arch Linux dokumentációja az -nvL kapcsolót mutatja, amely a szabályonkénti találatok számát is kiírja. Alapértelmezetten csak a filter tábla jelenik meg, a többit a -t kapcsolóval kérheted. Üres szabályrendszernél minden lánc ACCEPT alapszabállyal fut.

Listázás sorszámokkal, a találatok számával együtt:

sudo iptables -nvL --line-numbers

A --line-numbers kapcsoló sorszámot ír a szabályok elé. Ezekre később szükséged lesz törléskor és cserekor. Az -S kapcsoló a mentési formátumhoz hasonló kimenetet ad. Ha a terminál még új, előbb olvasd el A legfontosabb Linux parancsok cikket.

 

Hogyan adj hozzá és törölj szabályt?

A szabályokat négy alapművelettel szerkesztheted: hozzáfűzés (-A), beszúrás (-I), csere (-R) és törlés (-D). A hozzáfűzés a lánc végére, a beszúrás alapból az elejére teszi az új szabályt. A csomag a szabályokat sorrendben járja végig, ezért a sorrend számít. Az első egyezés dönt, ha a célpont ACCEPT vagy DROP.

A loopback, a már létrejött kapcsolatok és az SSH engedélyezése, a Debian wiki mintája alapján:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

Webszerverhez a 80-as és a 443-as portot is megnyithatod:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Csak ezek után állítsd az alapszabályt DROP-ra, mert fordított sorrendben megszakad a kapcsolatod. Az alapszabály akkor érvényesül, ha a csomag végigér a láncon. Tipikus hiba, hogy valaki az SSH engedélyezése nélkül zárja le a bejövő forgalmat. Az új szabályokat a Debian wiki szerint új SSH-kapcsolattal érdemes tesztelned.

Figyelem: ez a parancs minden engedélyezetlen bejövő forgalmat eldob:

sudo iptables -P INPUT DROP

Egy szabály törlése sorszám alapján, majd az eredmény ellenőrzése:

sudo iptables -D INPUT 3
sudo iptables -nvL --line-numbers

A csere az -R kapcsolóval történik, amelyhez a lánc nevét és a sorszámot is meg kell adnod. A teljes szintaxist a man iptables oldal sorolja fel. Éles gépen előbb próbáld ki a szabályt tesztkörnyezetben.

 

Hogyan mentsd el a szabályokat újraindítás előtt?

A szabályok újraindításkor elvesznek, ezért el kell mentened őket. A mentést az iptables-save, a visszatöltést az iptables-restore parancs végzi. A Debian wiki két módot említ az automatikus betöltésre: egy indítási szkriptet vagy egy külön csomagot. Az utóbbi a külön csomagként elérhető iptables-persistent, amely a szabályokat fájlban tárolja.

Mentés az iptables-persistent fájljaiba, IPv4-re és IPv6-ra:

sudo iptables-save | sudo tee /etc/iptables/rules.v4
sudo ip6tables-save | sudo tee /etc/iptables/rules.v6

Visszatöltés a mentett fájlból, az Arch Linux dokumentációja szerint:

sudo iptables-restore /etc/iptables/rules.v4

Az Arch Linux dokumentációja szerint a parancssorban hozzáadott szabályokat a rendszer nem menti automatikusan. Ha kézzel szerkeszted a fájlt, a változás csak újratöltés után lép életbe. Tipikus hiba, hogy valaki elfelejti a mentést, és újraindítás után üres tűzfalat kap. Mentés után ellenőrizd a fájl tartalmát.

 

Mi váltotta fel az iptables-t?

A Debian wiki szerint a Debian 10 Buster óta az nftables az alapértelmezett keretrendszer. A parancs ilyenkor az iptables-nft réteget használja, vagyis a régi szintaxis az új kernelalrendszerrel dolgozik. Az Arch Linux dokumentációja örökölt keretrendszernek nevezi, utódja az nftables. A régi parancsaid ezért általában tovább működnek.

Váltás a régi változatra, a Debian wiki szerint:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

Új tűzfalnál érdemes az nftables felé is körülnézned. Tipikus hiba, hogy valaki két tűzfalrendszert kever, és nem érti, melyik szabály érvényes. Egy gépen válassz egy kezelési módot, és ahhoz tartsd magad. Az Arch Linux szerint a standard kernel továbbra is tartalmaz támogatást a régi keretrendszerhez.

 

Mikor elég egy egyszerűbb kezelőfelület?

Ha nem akarsz minden szabályt kézzel megírni, használhatsz egyszerűbb kezelőfelületet. Az Arch Linux dokumentációja több ilyen eszközt sorol fel, köztük az ufw-t, a firewalld-t és a Shorewallt. A Debian wiki szerint a kézi beállítás a kezdőknek kihívás. Ugyanez a wiki például a firewalld-t, az ufw-t és a ferm-et is említi.

Grafikus felületet is találsz. Az Arch Linux dokumentációja a Firewall Buildert, a firewalld-config eszközt és a Gufw-t sorolja fel. A Gufw az ufw grafikus felülete. Az ufw pedig a tűzfal egyszerű parancssori felülete.

A tűzfal után érdemes a szerver többi részét is rendbe tenned. Az Ubuntu Server áttekintése és a Docker telepítése Ubuntun cikk ebben segít. A biztonsági témák iránt érdeklődőknek a Kali Linux bemutatója szól.

 

Gyakran ismételt kérdések

Mire való a Linux tűzfal parancssori eszköze?

A Linux kernel tűzfalát állítja be parancssorból. Szabályokkal dönti el, mely csomagok jöhetnek be, mehetnek ki vagy mehetnek át a gépen. A legtöbbet a filter és a nat tábla használatos. IPv6-hoz az ip6tables való.

 

Mi a különbség a tábla és a lánc között?

A tábla egy adott célú szabálycsoport, például a filter a tűzfalszűrésre való. A tábla láncokból áll, a lánc pedig szabályok sorrendi listája. A filter táblában az INPUT, az OUTPUT és a FORWARD lánc található. A csomag a szabályokat sorrendben járja végig.

 

Elvesznek a szabályok újraindítás után?

Igen, ha nem mented el őket. A Debian wiki szerint a szabályok nem maradandók, az újraindítás törli őket. A mentéshez használd a mentő parancsot, és gondoskodj a visszatöltésről induláskor. Az Arch Linux dokumentációja szerint a parancssorban hozzáadott szabályokat kézzel kell elmenteni.

 

Működik még az iptables a mai rendszereken?

A Debian wiki szerint a Debian 10 óta az nftables az alapértelmezett. A régi parancs ilyenkor az nftables alrendszerrel dolgozik. Az Arch Linux szerint a standard kernel még tartalmaz támogatást a régi keretrendszerhez. A régi parancsok ezért általában működnek tovább.

 

Hogyan kerülöm el, hogy kizárjam magam SSH-ról?

Úgy zárhatod ki magad, ha a bejövő forgalom alapszabályát DROP-ra állítod az SSH engedélyezése előtt. Előbb engedélyezd az SSH-portot, és csak utána szigorítsd az alapszabályt. A Debian wiki szerint új SSH-kapcsolattal érdemes tesztelni az új szabályokat. Ha a szabályokat nem mented el, az újraindítás visszaállítja őket.

 

Mi a különbség a DROP és a REJECT között?

A DROP szó nélkül eldobja a csomagot. A REJECT ICMP hibaüzenetet küld vissza a feladónak. Az Arch Linux dokumentációja szerint az RFC 1122 az ICMP hibaüzenetek visszaküldését várja el, amikor lehetséges. A választás a céltól és a hálózattól függ.

 

Mit jelent a lánc alapszabálya?

Az alapszabály azt határozza meg, mi történik a csomaggal, ha a láncban egyetlen szabály sem fogja meg. A beépített láncoknál ez általában ACCEPT, de DROP-ra is állítható. Az alapszabály mindig a lánc végén érvényesül. A saját láncok nem kaphatnak alapszabályt.

 

Mire jók az ufw és a firewalld?

Ezek egyszerűbb kezelőfelületek a tűzfalhoz. Az Arch Linux dokumentációja szerint az ufw a tűzfal egyszerű felülete, a firewalld pedig zónákkal dolgozó démon. A Debian wiki szerint a kézi beállítás a kezdőknek nehéz. Ezek segítenek abban, hogy ne kelljen minden szabályt kézzel megírnod.

Szerző: a Linuxinfok szerkesztősége. Utolsó frissítés: 2026-11-02. A parancsok a hivatalos dokumentáció alapján készültek, futtatás előtt ellenőrizd az aktuális oldalt.

 

Források és referenciák