50% kedvezmény minden csomagra, korlátozott ideig. Kezdőár: $2.48/mo
14 perc van hátra
Biztonság & Hálózatkezelés

Az Linux Iptables szabályok listázása és törlése – Rövid útmutató kezdőknek

Lili Carnell By Lili Carnell 14 perc olvasás Frissítve: 2023. szeptember 18.
Útmutató az Iptables szabályok listázásához és törléséhez

Az illetéktelen hozzáférés és a szerverek feltörése komoly fenyegetés, ezért a hálózati biztonság részeként falat kell megvalósítanod. Az Iptables szabályok használata alapvető tudás, amely csökkenti a kockázatokat az Linux rendszereken. Ez az útmutató megismertet a tűzfal alapfogalmaival, például az iptables szabályok megjelenítésével és eltávolításával Ubuntu, amely segít egyszerű parancsok futtatásában. Mielőtt az iptables szabályok listázásáról vagy törlésérről beszélnénk, beszéljünk arról, hogy mik azok az iptables szabályok és miért használjuk őket.

Mi az Iptables?

Az iptables egy parancssoros tűzfal, amely engedélyezi vagy blokkolja a forgalmat házirend-láncok. Amikor a rendszeren kapcsolatok próbálnak létesülni, az iptables megkeresi a listában a rá illő szabályt, és ezzel megbízható segítséget nyújt a hálózati biztonsághoz. Ha nem talál semmit az adott kapcsolatra, az alapértelmezett műveletre vált.

Az iptables szinte minden esetben előre telepítve van Linux disztribúció. A következő paranccsal frissítheted vagy telepítheted:

sudo apt-get install iptables

Miért használunk Iptables-t?

Parancssoros tűzfalként az iptables lehetővé teszi a rendszergazdáknak a beérkező és kimenő forgalom kezelését konfigurálható táblaszabályok segítségével. Az iptables táblákból állnak, amelyek láncokat tartalmaznak, és ezek a láncok beépített vagy felhasználó által definiált szabályokból állnak.

Ahogy az előző részben említettük, az iptables alapvető szerepet játszik a legtöbb Linux rendszer hálózati biztonságában. Ez a cikk főként az iptables összes szabályának listázásával foglalkozik, olyan fogalmak segítségével, mint az iptables megjelenítése és iptables szabályok törlése.

Pontosabban ez a cikk az iptables alapvető feladatainak egy részét tárgyalja, hogy megmutatja, hogyan kell szabályokat listázni, csomagokat és bájtszámlálókat törölni, iptables szabályt eltávolítani, láncokat kiüríteni, és az összes lánc törlésé valamint az összes forgalom elfogadása.

Teljes útmutató az Iptables-hez az Ubuntu-ben

Az iptables szabályok megjelenítése előtt tartsd szem előtt, hogy Linux szerverrel kell rendelkezned az iptables parancs telepített verzióival. Ezeken a követelményeken kívül lényeges, hogy sudo jogosultságod legyen. A tűzfallal való munka során vigyázz, hogy ne zárj ki magad a szerverről azáltal, hogy blokkolod az SSH forgalmat (port: 22, alapértelmezés szerint). Ha a tűzfal beállításai miatt elveszíted a hozzáférést, lehetséges, hogy egy out-of-band konzolon keresztül kell csatlakoznia a szerverhez a javításhoz.

Olvasd el még: Az SSH port módosítása az Linux-ben | Lépésről lépésre útmutató az SSH porthoz

Szabályok listázása specifikáció alapján

Megtekintheted az aktív iptables szabályaidat táblázatban vagy mint a szabály specifikációinak listája. Szinte mindkét módszer ugyanazokat az információkat más-más formátumban szolgáltatja. Az aktív iptables összes szabályának listázásához specifikáció szerint az iptables parancsot a -S opció:

sudo iptables -S

Ennek az iptables megjelenítési szabályok parancsnak a futtatása után az alábbi kimenethez hasonló eredményt fogsz látni:

a szabályok listájának megjelenítésének kimenete
a szabályok listájának megjelenítésének kimenete

Egy adott lánc listázása

Ha az iptables megjelenítésének kimenetét egy adott láncra, például INPUT, OUTPUT vagy TCPszeretnéd korlátozni, akkor közvetlenül a -S opció után megadhatod a lánc nevét. Például az alábbi iptables megjelenítési parancs segít az TCP láncban meghatározni:

sudo iptables -S TCP

az TCP lánc listázásának kimenete
az TCP lánc listázásának kimenete

Amint korábban említettük, az iptables szabályok megjelenítésének van egy másik módja is: az iptables szabályokat szabálytáblázatként lehet megtekinteni. Nézzük meg ezt a technikát.

Szabályok listázása táblaként

Az iptables szabályok táblázat formájában történő megjelenítésére használt parancs segítségével különféle szabályokat lehet összehasonlítani. A következő iptables parancsot kell futtatnod a -L opció az összes aktív szabály táblázat formájában történő megjelenítéséhez:

sudo iptables -L

Ez a parancs az összes aktuális szabályt láncok szerint rendezve jeleníti meg. Lehetőség van a kimenetet egy adott lánc (INPUT, OUTPUT, TCP stb.) felé korlátozni; ehhez a lánc nevét közvetlenül a -L opcióval kell megadnod. Íme egy példa az iptables szabályok INPUT láncra történő korlátozására:

sudo iptables -L INPUT

az iptables szabályok INPUT láncra korlátozott kimenete
az iptables szabályok INPUT láncra korlátozott kimenete

A fenti kimenet első sora a lánc nevét (jelen esetben INPUT) és annak alapértelmezett szabályzatát (DROP) mutatja. A következő sor a táblázat egyes oszlopainak fejlécét és a lánc szabályait tartalmazza. Végigmegyünk rajtuk, hogy mindegyiket megismerd:

  • Target: Ha egy csomag megfelel a szabálynak, a target meghatározza, hogy mit kell tenni vele. A csomag elfogadható, elutasítható, naplózható, vagy másik lánchoz továbbítható, ahol további szabályokkal összehasonlítható.
  • prot: A protokoll (például TCP, udp, ICMP vagy all)
  • opt: az IP opciók jelzése (ritkán használt)
  • source: a forgalom forrás IP-címe/alhálózata 
  • destination: a forgalom cél IP-címe/alhálózata

A címke nélküli oszlop egy szabály opcióit sugallja, és a szabálynak az a része, amely az előző oszlopokban nem lett jelezve. Ez az információ bármi lehet, a forrás- és célportok közt a csomag kapcsolati állapotáig.

Olvasd el még: OpenVPN telepítése az VPS rendszerre – OpenVPN kliens beállítása 🔑

Hogyan lehet a csomagszámokat és összesített méretet megjeleníteni?

Az iptables szabályok listázásakor megjeleníthetjük az egyes iptables szabályoknak megfelelő csomagok számát és a csomagok összesített méretét bájtban; ez gyakran segít megérteni, mely szabályok egyeznek a csomagokkal. Ehhez a -L és -v opciót kell használnod együtt a ezt.

Íme egy példa, amelyben ismét az INPUT láncot fogjuk használni a -v opcióval:

sudo iptables -L INPUT -v

Csomagszámok és összesített méret megjelenítése
a Csomagszámok és összesített méret megjelenítésének kimenete

Figyelj rá, hogy a listánkon most még két további oszlop található pkts és bytesnevekkel. Megtanultuk az iptables összes szabály megjelenítésének különféle módszereit, és most már itt az ideje megtudni, hogyan lehet nullázni a csomagszámokat és az összesített méretet.

Hogyan lehet a csomagszámokat és összesített méretet alaphelyzetbe állítani?

A -Z opciót kell használnod, ha szeretnéd törölni vagy nullázni a szabályok csomagés byte számlálóit. Ezek a számláló rendszerindítás után is resetelődnek, ami hasznos, ha szeretnéd megtekinteni, hogy a szerver új forgalmat kap-e, amely megfelel a jelenlegi szabályaidnak.

Minden lánc és szabály számlálóit törölheted a -Z opció önmagában:

sudo iptables -Z

paranccsal. Egy adott lánc összes szabályának számlálóját a -Z opcióval és a lánc megadásával tudod eltávolítani. Például az alábbi paranccsal lehet az INPUT lánc számlálóit törölni:

sudo iptables -Z INPUT

Ha egy adott szabály számlálóit szeretnéd nullázni, pontosan meg kell jelölnöd a lánc nevét és a szabály számát. Például az alábbi paranccsal nullázhatod az INPUT lánc első szabályának számlálóit:

sudo iptables -Z INPUT 1

Az iptables összes szabály megjelenítésének parancsainak és a csomagés byte számlálók resetelésének módszereinek ismerete mellett hasznos tudni, hogyan lehet iptables szabályt eltávolítani.

Olvasd el még: PPTP VPN szerver telepítése VPS rendszerre

Hogyan lehet iptables szabályokat eltávolítani?

Több parancs is használható az Iptables szabályok eltávolítására, vagy akár egy lánc összes szabályának törlésére. Az alábbiakban ezeket a módszereket tárgyaljuk.

Szabályok eltávolítása specifikáció alapján

Az iptables szabályok eltávolításának egyik módja a szabály specifikációja. Ez lehetővé teszi az iptables parancs futtatását a -D opció és a szabály specifikáció segítségével. Ha ezzel a technikával szeretne szabályokat eltávolítani, segítségül felhasználhatja a szabályok listájának kimenetét, az iptables -S parancsot.

Például az érvénytelen bejövő csomagokat eldobó szabály (-A INPUT -m conntrack –ctstate INVALID -j DROP) törléséhez futtassa az alábbi parancsot:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

Figyelj rá, hogy a -A opciónak a szabály helyzetét jelzi a létrehozás időpontjában, és itt nem szabad szerepelnie.

Szabályok eltávolítása lánc és szám alapján

Az iptables szabályok eltávolításának másik módja a lánc és sorszám alapján történik. Írja be az alábbi parancsot egy szabály sorszámának kiválasztásához, a szabályok listázásához táblázat formátumban, és adja hozzá a –line-numbers opciót:

sudo iptables -L --line-numbers

Szabályok eltávolítása lánc és szám alapján
a szabályok lánc és szám alapján történő eltávolításának kimenete

Ezután minden iptables szabálynak van sorszáma, amelyet a num fejléc jelöl.

Ha tudod, melyik szabályt szeretnéd törölni, és ismered a lánc és sorszámát, akkor az iptables -D parancsot kell használnod a lánc és szabályszám megadásával. Például ha törölni szeretnéd az érvénytelen csomagokat eldobó bemeneti szabályt, láthatod, hogy az INPUT lánc 3. szabálya. Futtasd tehát ezt a parancsot:

sudo iptables -D INPUT 3

Hogyan lehet láncokat kiüríteni?

Van egy mód arra, hogy az Iptables összes szabályát eltávolítsd egy láncból, ezt lánc öblítésenak nevezzük. Az alábbiakban a különféle módszereket tárgyaljuk. Mielőtt továbbmennél, figyelj rá, hogy ne zárd ki magad a szerverről az SSH segítségével, amikor egy drop vagy deny alapértelmezett házirenddel rendelkező láncot mosol ki. Ha ezt teszed, előfordulhat, hogy a konzolon keresztül kell csatlakoznia a hozzáférés helyreállításához.

Egyetlen lánc kiürítése

Egy adott lánc kiürítéséhez, vagy másként fogalmazva, a lánc összes szabályának törléséhez a -F vagy az egyenértékű –flush opció és a kiválasztott lánc neve alapján használható. Tegyük fel, hogy az INPUT lánc összes szabályát szeretnéd eltávolítani. Mit lehet tenni? Nos, egyszerű: futtasd az alábbi parancsot:

sudo iptables -F INPUT

Összes lánc kiürítése

Az összes lánc eltávolításához vagy kiürítéséhez önmagában a -F vagy az ezzel egyenértékű –flush opciót használhatod:

sudo iptables -F

Hogyan lehet az összes szabályt kiüríteni, az összes láncot törölni és mindent elfogadni?

Ezen a ponton leírjuk, hogyan kell az összes tűzfal szabályt, táblázatot és láncot kiüríteni, valamint az összes hálózati forgalmat engedélyezni. Figyelj rá, hogy ez a folyamat gyakorlatilag letiltja a tűzfalat. Ezért csak akkor kövesd ezt a szakaszt, ha szeretnél elölről kezdeni a tűzfal konfigurálásod beállítását.

Először be kell állítanod az egyes beépített láncok alapértelmezett házirendjét az ACCEPT értékre. Ennek elsődleges oka, hogy biztosítsd, hogy nem zárod ki magad a szerverről az SSH segítségével:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

Ezután ki kell ürítened a nat és mangle táblákat, összes láncot (-F), és töröld az összes nem alapértelmezett láncot (-X) így:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

Az előző parancsok futtatása után a tűzfal az összes hálózati forgalmat engedélyezi. Ha most felsorolod a szabályaidat, látni fogod, hogy nincs semmi; csak a három alapértelmezett lánc marad meg, mint az INPUT, FORWARD és OUTPUT lánc.

Hogyan állíthatom be az iptables-t az Ubuntu-ben?

Mint a tűzfal alapvető viselkedésénél, az iptables szabályok az egyes láncok felsorolt sorrendje alapján olvashatók, ami azt jelenti, hogy a szabályokat a helyes sorrendben kell beállítanod. Miután hozzáadod az új szabályokat, azok a szabálylista végéhez kerülnek. Új szabályokat egy adott listahelyzethez adhatsz hozzá az alábbi paranccsal történő beszúrásuk segítségével: iptables -I <index> -command. A <index> az a sorszám, amellyel a szabályt be szeretnéd szúrni ebben a parancsban. Az alábbi paranccsal megtudhatod, mely indexszámot kell megadnod:

sudo iptables -L --line-numbers

Az egyes szabálysorbeli szám a lánc pozícióját jelöli. Ha új szabályt szeretnél egy meglévő szabály fölé illeszteni, az adott szabály indexszámát kell használnod. Például ha a lánc tetejére akarsz új szabályt hozzáadni, az 1-es indexszámmal kell futtatnod a következő parancsot:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

Miben különbözik az iptables a firewalld-től?

Az iptables és a firewalld is praktikus eszközök a tűzfalak kezelésére Linux-rendszereken, kifejezetten csomagszűrésre (statikus szűrésre) tervezve. A csomagszűrés egy tűzfal-stratégia, amellyel a felhasználók szabályozhatják a hálózati hozzáférést a bejövő és kimenő információcsomagok kezelésével. Ezek átpasszolhatók vagy blokkolhatók az előre beállított tűzfal-szabályok alapján, amelyek a csomag forrását, célját, protokollját, portját és IP-címét határozzák meg. Ezek a szabályok nagyon hatékony biztonsági mechanizmust nyújtanak, így az információcsomagok szűrése kiváló védelem a helyi hálózaton kívülre irányított eszközök ellen (Local Area Network).

Fontos megjegyezni, hogy a firewalld eredetileg az iptables kezelésére és könnyebb használatára készült. Most, hogy ismerjük az iptables-t és a firewalld-t, hasonlítsuk össze részletesebben.

iptables vs firewalld: Rendszerkonfiguráció

A firewalld és az iptables eltérő konfigurációkat és alapértelmezett tárolási beállításokat használnak. Az iptables esetén minden módosítás azt jelenti, hogy ki kell üríteni a régi szabályokat és be kell olvasni az újakat, ezért a rendszernek újra kell indulnia. A firewalld használatával azonban a szabályok nem kerülnek újralétrehozásra; helyette az eltéréseket és módosításokat alkalmazza a meglévő szabályokra, így futás közben láthatod a hatásukat.

iptables vs firewalld: Felhasználói felület

A firewalld grafikus felhasználói felületet (GUI) használ. Az iptables viszont parancssoros felületet (CLI) alkalmaz, ami néhány felhasználó számára kihívást jelenthet a Linux-kernel tűzfal szabályainak elérésében, így a firewalld egyszerűbb megoldás. Fontos megjegyezni, hogy az iptables rövidebb válaszidővel rendelkezik, mivel csak rövid parancsokat használsz. Ezen kívül mindkettőnek megvan a saját felhasználási területe, ezért válaszd azt, amellyel jobban dolgozni szeretsz.

Végső gondolatok: iptables szabályok megjelenítése

Az iptables egy nagyon rugalmas tűzfal-segédprogram, amelyet kifejezetten Linux-rendszerekhez készítettek. Nem számít, hogy új Linux-felhasználó vagy tapasztalt rendszergazda vagy; vannak módok, amelyekben az iptables-szabályok hasznosak lehetnek számodra. Ez a cikk alapvetően az iptables-szabályok megjelenítésére és eltávolítására vonatkozó alapvető parancsokat mutat be, célja a Linux-rendszer képességeinek rövid áttekintése. Emellett használhatod a Linux VPS-hosztálási megoldásainkat ahhoz, hogy ebből a fantasztikus operációs rendszerből kihasználd a teljes lehetőséget. A Cloudzy-nál különféle KVM-alapú Linux-csomagokat kínálunk, amelyek többféle felhasználási esetre alkalmasak, mint például webtárhely, webalkalmazás telepítése, vagy kódok fejlesztési, tesztelési és automatizálási környezetének beállítása.

Gyakran Ismételt Kérdések

Hogyan listázhatom az összes Linux iptables szabályt specifikáció szerint?

Ha meg szeretnéd jeleníteni az összes jelenleg aktív iptables-szabályt specifikáció vagy funkció alapján, megteheted az iptables parancs alkalmazásával, követve az -S jelzõopcióval. Figyelj arra, hogy ebben az esetben a sudo kulcsszót használd:

sudo iptables -S

Hogyan törölhetek iptables szabályokat?

Egy adott lánc eltávolításához, amely törli a lánc összes szabályát, az -F vagy --flush opciót és a lánc nevét kell használnod. Tegyük fel, hogy az OUTPUT lánc összes szabályát szeretnénk törölni. Mit kell tenni? Nos, ezt a parancsot kell végrehajtanod:

 sudo iptables -F OUTPUT

Hogyan működnek az iptables az Ubuntu-ben?

Az iptables tűzfal összehasonlítja a hálózati forgalmat egy sor szabállyal. Az iptables-szabályok meghatározzák a csomag azon jellemzőit, amelyek megfelelnek a szabálynak, és azt, milyen műveleteket kell végrehajtani, ha a csomagok megfelelnek. Persze, sok lehetőség van annak beállítására, hogy mely csomagok felelnek meg egy adott szabálynak.

Az iptables szabályok azonnal érvénybe lépnek? Miért?

Igen, az iptables-szabályok azonnal életbe lépnek, mert a szkript az INPUT és OUTPUT láncokhoz csatlakozik, és a szabályok hozzáadódnak a lánc végéhez.

Megosztás

További bejegyzések a blogból

Folytass olvasást.

A Cloudzy címképe a MikroTik L2TP VPN útmutatóhoz, amely egy laptopot mutat, amely egy szerver rackhez csatlakozik egy világító kék és arany digitális alagúton keresztül pajzs ikonokkal.
Biztonság & Hálózatkezelés

MikroTik L2TP VPN beállítása (IPsec-kel): RouterOS útmutató (2026)

Ebben a MikroTik L2TP VPN beállításban az L2TP az alagút létrehozásáért, az IPsec pedig a titkosítás és integritás biztosításáért felel. Kombinálva ezeket natív klienssekkel való kompatibilitást kapunk harmadik féltől származó szoftver nélkül.

Rexa CyrusRexa Cyrus 9 perc olvasás
Terminálablak, amely az SSH figyelmeztető üzenetet mutatja a távoli gazdagép azonosítójának megváltozásáról, Fix Guide címmel és Cloudzy branding sötét türkiz háttéren.
Biztonság & Hálózatkezelés

Figyelmeztetés: A távoli gazdagép azonosítója megváltozott. Hogyan javítsd ki?

Az SSH egy biztonságos hálózati protokoll, amely titkosított alagutat hoz létre a rendszerek között. Népszerű marad a fejlesztők között, akiknek távoli hozzáférésre van szükségük a számítógépekhez grafikus felület nélkül.

Rexa CyrusRexa Cyrus 10 perc olvasás
DNS szerver hibaelhárítási útmutató illusztrációja figyelmeztető szimbólumokkal és kék szerverrel sötét háttéren az Linux névfeloldási hibákhoz.
Biztonság & Hálózatkezelés

Ideiglenes hiba a névfeloldásban: Mit jelent és hogyan javítsd ki?

Az Linux használata során az ideiglenes hiba a névfeloldásban akkor fordulhat elő, amikor weboldalakhoz szeretnél hozzáférni, csomagokat szeretnél frissíteni vagy internetes kapcsolatot igénylő feladatokat szeretnél végrehajtani.

Rexa CyrusRexa Cyrus 12 perc olvasás

Készen áll az üzembe helyezésre? 2,48 dollártól havonta.

Független felhőszolgáltató 2008 óta. AMD EPYC, NVMe, 40 Gbps. 14 napos pénzvisszafizetési garancia.