Iptables a legtöbb Linux disztribúcióhoz alapértelmezetten mellékelt elsődleges tűzfal. A hálózati biztonság kezeléséért felelős. Úgy működik, hogy összehasonlítja az adatcsomagokat egy szabálykészlettel, és utasítja a rendszert a kapcsolat elfogadására, elutasítására vagy továbbítására a szabályoknak megfelelően. Ebben az útmutatóban megmutatjuk, hogyan listázhatja és törölheti a szabályokat, hogyan ellenőrizheti és törölheti a csomag- és bájtszámlálókat, valamint hogyan ürítheti ki a láncokat. Készen áll? Kezdjük el!
Előfeltételek
Mielőtt belevágnánk az útmutatóba, tisztázzunk valamit. Az ebben az útmutatóban bemutatott összes tipp és trükk egy különálló virtuális gépen történik. Jó ötlet, ha Ön is így tesz, mivel ez kizárja annak a lehetőségét, hogy a rendszerét teljesen tönkretegye. Csak miután elsajátította ezeket a folyamatokat, próbálja meg őket valós helyzetekben alkalmazni.
Ebben az útmutatóban az Ubuntut fogjuk használni az összes lépés bemutatására. Azonban a disztribúciótól függetlenül hasonló módon kell működniük.
Szabályok listázása
Szabályok listázása specifikáció szerint
Először nézzük meg az összes aktív szabályt specifikáció szerint. Futtassa a következő parancsot:
|
1 |
sudo iptables -S |

Ha dolgozott már korábban iptables szabályok létrehozásával, észrevehette a hasonlóságot. A kimenetek hasonlítanak a létrehozásukhoz használt parancsokra, kivéve az „iptables” részt. Szerkezetük is hasonló az iptables szabályok konfigurációs fájljaihoz.
Specifikus lánc listázása
Próbáljunk meg valami pontosabbat. Ahelyett, hogy az összes iptables szabályt jelentené, utasítsa az iptables-t egy adott lánc szabályainak jelentésére. Például TCP, INPUT, OUTPUT stb. Ehhez adja meg a lánc nevét a „-S” jelző után:
|
1 |
sudo iptables -S <chain> |

Szabályok listázása táblázatként
A táblázatos nézet hasznos a különböző szabályok összehasonlításakor. Használja a „-L” jelzőt, hogy az iptables az összes aktív szabályt táblázatos formátumban jelenítse meg:
|
1 |
sudo iptables -L |

A kimenet tartalmazza az összes aktuális szabályt láncok szerint csoportosítva. Az előző szakaszhoz hasonlóan itt is lehetőség van a listakimenet szűrésére egy adott lánc, például az INPUT, TCP, OUTPUT stb. alapján. Ehhez adja meg a láncot a „-L” jelző után:
|
1 |
sudo iptables -L <chain> |

Bontsuk le egy kicsit a kimenetet. A mi esetünkben a szabályok miatt a kimenet kissé zűrzavarosnak tűnhet. A kimenet első sora deklarálja a lánc nevét (INPUT) az alapértelmezett házirendjével (DROP). A következő sor a táblázat oszlopfejléceit határozza meg. A többi a lánc szabályai. Nézzük meg, mit jelentenek a fejlécek:
- target: Ha egy csomag illeszkedik a szabályra, ez a szakasz határozza meg, hogy milyen műveletet kell végrehajtani. Ez lehet a csomag elfogadása, eldobása, naplózása vagy egy másik láncra küldése.
- prot: Meghatározza a protokollt, például udp, tcp, icmp vagy all.
- opt: Ez az oszlop az IP-opciókat jelzi. Ritkán használatos.
- source: A csomag származási helye (IP-cím vagy alhálózat). Az érték lehet konkrét vagy bárhonnan.
- destination: A csomag célállomása (IP-cím vagy alhálózat). Az érték lehet konkrét vagy bárhonnan.
Ha észrevette, az utolsó oszlop nincs felcímkézve. Ez azért van, mert egy szabály opcióinak jelzésére szolgál. Tartalmazni fogja a szabály minden olyan részét, amely nem fért el az előző mezőkben. Tartalmazhat bármit a forrás-/célportoktól kezdve a csomagkapcsolat állapotáig stb.
Csomagszámok és összesített méret
Csomag- és bájtszámlálók törlése
Amikor kilistázzuk az iptables szabályokat, ellenőrizhetjük az egyes szabályokra illeszkedő csomagok számát és a csomagok összesített méretét bájtban is. Ez egy hasznos mérőszám, ha hozzávetőleges képet szeretne kapni arról, hogy mely szabályok illeszkednek a csomagokra.
Ebben a példában az INPUT láncot fogjuk használni. Ezúttal adja hozzá a „-v” jelzőt, amely a részletes (verbose) módot jelenti:
|
1 |
sudo iptables -L INPUT -v |

Észre fogja venni, hogy a táblázat kimenete most két további mezőt tartalmaz: pkts és bytes.
Csomagszámok és összesített méret visszaállítása
Bizonyos helyzetekben előfordulhat, hogy alaphelyzetbe szeretné állítani a korábban bemutatott számlálókat. Ha a rendszer újraindul, a számlálók automatikusan törlődnek. Manuálisan is kényszerítheti az alaphelyzetbe állítást. A „-Z” jelzőt fogjuk használni a csomagszámok és az összesített méret alaphelyzetbe állításához:
|
1 |
sudo iptables -v -Z |

Vegye figyelembe, hogy ez a parancs az összes lánc számlálóját alaphelyzetbe állítja. Más parancsokhoz hasonlóan itt is lehetőség van konkrét láncok számlálóinak alaphelyzetbe állítására. Például a következő parancs az INPUT lánc számlálóit állítja alaphelyzetbe:
|
1 |
sudo iptables -v -Z <chain> |

A számláló alaphelyzetbe állítása pontosabbá is tehető. Alaphelyzetbe állíthatja egy adott láncon belüli konkrét szabály számlálóját. Ehhez adja meg a szabály számát a lánc neve után:
|
1 |
sudo iptables -v -Z <chain> <rule_number> |
Szabályok törlése
Szabályok törlése specifikáció alapján
Az iptables szabályok törlésének több módja is van. Az első módszer a szabályok törlése a szabály specifikációja alapján. A törléshez a „-D” jelzőt használjuk, amelyet a szabály specifikációja követ:
|
1 |
sudo iptables -v -D INPUT -s 172.217.194.113 -j DROP |

Ha korábban már adott hozzá iptables szabályt, észre fogja venni a hasonlóságot. Az egyetlen dolog, ami itt változott, az a „-D” jelző a „-A” jelző helyett.
Szabályok törlése lánc és szám alapján
A szabályok törlése a specifikációjuk alapján egy kicsit több erőfeszítést igényel, igaz? Mi lenne, ha törölhetnénk őket anélkül, hogy emlékeznünk kellene a szabály specifikációjára? Töröljük a szabályokat a láncuk és a számuk alapján! Az első módszerhez (a specifikáció alapján történő törléshez) képest ez viszonylag egyszerűbb, mivel nem kell a teljes specifikációnak a birtokában lennie.
Ehhez a módszerhez a célszabály láncára és sorszámára van szükség. Honnan kapjuk meg a sorszámot? Futtassa a következő parancsot ennek meghatározásához:
|
1 |
sudo iptables -L --line-numbers |

Egy nagy kimenetet fog kapni az összes szabállyal és azok sorszámával. A kimenet szűkítéséhez használja a lánc nevét a „-L” jelző után:
|
1 |
sudo iptables -L <chain> --line-numbers |

A kimenetben észre fogja venni a plusz „num” oszlopot. Ez jelzi az egyes szabályok sorszámát. Miután meghatároztuk a célszámot, hajtsa végre a törlést:
|
1 |
sudo iptables -v -D <chain> <line_number> |
Láncok ürítése
Az iptables esetében mit jelent egy lánc ürítése? Ez az összes szabály törlésének folyamata egy adott lánc alatt. Ha tömegesen kell szabályokat törölnie, akkor ezt a módszert használhatja. A lánc ürítése előtt erősen javasoljuk, hogy készítsen biztonsági mentést a meglévő szabályokról az iptables-save segítségével. Ez egy beépített iptables eszköz, amely kiírja az összes jelenlegi láncot és szabályt. A kimenet exportálható egy szöveges fájlba:
|
1 |
sudo iptables-save > ~/Desktop/iptables-backup.txt |
![]()
Egyetlen lánc ürítése
Nézzük meg, hogyan kell kiüríteni egy láncot. Használja az „-F” jelzőt, amelyet a céllánc követ:
|
1 |
sudo iptables -v -F <chain> |

Összes lánc ürítése
Az összes lánc ürítése előtt győződjön meg arról, hogy érti, mit csinál. Ez törli az iptables tűzfal összes szabályát. Előzetesen mindenképpen készítsen biztonsági mentést az iptables szabályokról.
Készen áll? Ürítse ki az összes iptables láncot a következő parancs futtatásával:
|
1 |
sudo iptables -v -F |

Szabályok ürítése, láncok törlése és az összes elfogadása
Az ebben a szakaszban leírt lépések végrehajtása gyakorlatilag letiltja a tűzfalat, lehetővé téve a korlátozás nélküli hálózati forgalmat. Az előző szakaszhoz hasonlóan javasoljuk, hogy a folytatás előtt készítsen egy iptables biztonsági mentést. Először is, az összes beépített lánc alapértelmezett házirendjét ACCEPT-re módosítjuk. Ez biztosítja, hogy az iptables ne zárja ki Önt a szerveréről SSH-n keresztül:
|
1 |
sudo iptables -v -P INPUT ACCEPT && sudo iptables -v -P FORWARD ACCEPT && sudo iptables -v -P OUTPUT ACCEPT |

Most ürítse ki a nat és mangle táblákat:
|
1 2 |
sudo iptables -v -t nat -F sudo iptables -v -t mangle -F |


Ürítse ki az összes láncot, és törölje az összes nem alapértelmezett láncot:
|
1 2 |
sudo iptables -v -F sudo iptables -v -X |


Ezután nézzük meg az eredményt:
|
1 |
sudo iptables -L --line-numbers |
Záró gondolatok
Az iptables egy hatékony tűzfal. Remélhetőleg ez az útmutató hasznos volt az iptables tűzfalszabályok kilistázásának és törlésének elsajátításában. És ne felejtse el gyakorolni őket, mielőtt a valóságban is alkalmazná őket.
Kellemes számítógépes munkát!



Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.