Sleva 50% všechny plány, časově omezená nabídka. Od $2.48/mo
14 minut zbývá
Bezpečnost a sítě

Výpis a mazání pravidel Iptables v Linux – tahák pro začátečníky

Lilie Carnellová By Lilie Carnellová 14 minut čtení Aktualizováno 18. září 2023
Průvodce výpisem a mazáním pravidel Iptables

Neoprávněný přístup a hackerské útoky na servery jsou vážné hrozby. Proto byste měli implementovat firewall jako součást své strategie bezpečnosti sítě. Porozumění pravidlům iptables je jednou z klíčových schopností ke snížení těchto rizik na vašich Linux systémech. Tento návod vám pomůže seznámit se se základními koncepty firewallu, jako je zobrazování a odstraňování pravidel iptables Ubuntu, což vám umožní spouštět jednoduché příkazy k dosažení cíle. Předtím, než budeme hovořit o tom, jak vypsat nebo smazat pravidla iptables, pojďme si vyjasnit, co ta pravidla jsou a proč je používáme.

Co je Iptables?

iptables je příkazový řádkový firewall, který povoluje nebo blokuje provoz prostřednictvím řetězce zásad. Když se váš systém pokusí navázat připojení, iptables hledá v seznamu odpovídající pravidlo, které vám poskytuje spolehlivou ochranu sítě. Pokud pro připojení nic nenajde, použije výchozí akci.

iptables jsou obvykle předinstalovány na kterémkoli Distribuce Linuxu. Můžete je aktualizovat nebo nainstalovat pomocí následujícího příkazu:

sudo apt-get install iptables

Proč používáme Iptables?

Jako příkazový řádkový firewall Linux vám iptables umožňují správcům systému kontrolovat příchozí a odchozí provoz prostřednictvím konfigurovatelných pravidel. iptables používají tabulky s řetězy obsahujícími vestavěná nebo vlastní pravidla.

Jak bylo zmíněno v předchozí části, iptables hrají klíčovou roli v bezpečnosti sítě na většině systémů Linux. Zbytek tohoto článku se zaměřuje hlavně na popis vypsání všech pravidel iptables, včetně konceptů, jako je zobrazení a odstranění pravidel iptables.

Konkrétně se tento článek zabývá několika základními úkoly iptables: vypsání pravidel, resetováním čítačů paketů a bajtů, odstraněním pravidel iptables, vyprázdněním řetězů a smazáním všech řetězů se přijetím veškerého provozu.

Kompletní průvodce Iptables v Ubuntu

Než přistoupíte k zobrazení pravidel iptables, pamatujte, že potřebujete server Linux s nainstalovaným příkazem iptables. Kromě těchto požadavků je také nutné mít oprávnění sudo. Při práci s firewally postupujte opatrně, abyste se sami neodřízli od svého serveru blokováním provozu SSH (port 22, standardně). Pokud ztratíte přístup kvůli nastavení firewallu, možná se budete muset připojit prostřednictvím mimopásmové konzole, abyste ho opravili.

Viz také: Jak změnit port SSH v Linux: rychlý průvodce krok za krokem

Výpis pravidel podle specifikace

Můžete si zobrazit svá aktivní pravidla iptables v tabulce nebo jako seznam specifikací pravidel. Obě metody vám poskytují stejné informace v různých formátech. Chcete-li vypsat všechna pravidla aktivního iptables podle specifikace, spusťte příkaz iptables s možností Možnost -S:

sudo iptables -S

Po spuštění příkazu iptables pro zobrazení pravidel se zobrazí výstup podobný tomuto:

výstup příkazu pro zobrazení seznamu pravidel
výstup příkazu pro zobrazení seznamu pravidel

Výpis konkrétního řetězce

Chcete-li omezit výstup příkazu iptables na konkrétní řetězec, jako INPUT, OUTPUT nebo TCP, můžete zadat název řetězce přímo za možnost -S. Například následující příkaz iptables pro zobrazení pravidel vám pomůže zadat řetězec TCP:

sudo iptables -S TCP

výstup výpisu řetězce TCP
výstup výpisu řetězce TCP

Jak jsme zmínili dříve, existuje další způsob, jak zobrazit pravidla iptables: zobrazit pravidla iptables jako tabulku. Pojďme si tuto techniku projít.

Pravidla jako tabulky

Příkaz pro zobrazení pravidel iptables v tabulce vám pomůže porovnat různá pravidla. Spusťte následující příkaz iptables s možností možnost -L pro výstup všech těchto aktivních pravidel v tabulce:

sudo iptables -L

Tento příkaz zobrazí všechna aktuální pravidla seřazená podle řetězců. Výstup lze omezit na konkrétní řetězec, jako INPUT, OUTPUT, TCP atd., zadat název řetězce přímo za možnost -L. Zde je příklad omezení výpisu pravidel iptables na řetězec INPUT:

sudo iptables -L INPUT

výstup příkazu iptables pro zobrazení pravidel omezený na řetězec INPUT
výstup příkazu iptables pro zobrazení pravidel omezený na řetězec INPUT

První řádek výše uvedeného výstupu ukazuje název řetězce (v tomto případě INPUT) a jeho výchozí politiku (DROP). Následující řádek obsahuje záhlaví každého sloupce v tabulce a pravidla řetězce. Projdeme si je, abyste se naučili:

  • Target: Pokud se paket shoduje s pravidlem, cíl určuje, co s ním bude provedeno. Paket lze přijmout, zahodit, zaznamenat nebo poslat do jiného řetězce, aby se porovnal s více pravidly.
  • prot: Protokol (jako tcp, udp, icmp nebo all)
  • opt: označuje volby IP (zřídka se používá)
  • source: zobrazuje zdrojovou IP adresu nebo podsíť provozu 
  • destination: zobrazuje cílovou IP adresu nebo podsíť provozu

Sloupec bez popisku obsahuje možnosti pravidla a může jít o jakoukoli část pravidla, která nebyla uvedena v předchozích sloupcích. Tyto informace mohou obsahovat cokoli, od zdrojových a cílových portů až po stav připojení paketu.

Viz také: Instalace OpenVPN na VPS – nastavení klienta OpenVPN 🔑

Jak zobrazit počty paketů a celkovou velikost?

Při výpisu pravidel iptables můžeme zobrazit počet paketů a součtovou velikost paketů v bajtech, které odpovídají jednotlivým pravidlům iptables; to je často užitečné pro pochopení, která pravidla odpovídají paketům. Musíte použít -L a možnosti -v, abyste to dokončili toto

Zde je příklad, ve kterém znovu použijeme řetězec INPUT s volbou -v:

sudo iptables -L INPUT -v

Zobrazení počtu paketů a součtové velikosti
Výstup zobrazení počtů paketů a jejich celkové velikosti

Všimněte si, že náš seznam má nyní dva další sloupce pojmenované pkts a bytes. Seznámili jsme se s různými způsoby, jak spustit příkazy iptables show all rules, a teď je čas naučit se resetovat počty paketů a jejich celkovou velikost.

Jak resetovat počty paketů a celkovou velikost?

Pokud chcete vymazat nebo vynulovat čítače paketů a bajtů pro vaše pravidla, musíte použít možnost -Z. Čítače se také resetují po restartu, což je užitečné, pokud chcete zjistit, zda server přijímá nový provoz odpovídající vašim stávajícím pravidlům.

Čítače pro všechny řetězy a pravidla můžete vymazat pomocí Možnost -Z samo o sobě:

sudo iptables -Z

Chcete-li odstranit čítače pro všechna pravidla v určitém řetězu, musíte použít možnost -Z a zadat název řetězu. Následující příkaz například vynuluje čítače řetězu INPUT:

sudo iptables -Z INPUT

Chcete-li vynulovat čítače pro určité pravidlo, musíte přesně zadat název řetězu a číslo pravidla. Například pomocí následujícího příkazu vynulujete čítače pro první pravidlo v řetězu INPUT:

sudo iptables -Z INPUT 1

Kromě znalosti příkazů iptables show all rules a způsobů resetování čítačů paketů a bajtů je dobré vědět, jak odstranit pravidlo iptables.

Viz také: Jak nainstalovat PPTP VPN server na svůj VPS

Jak odstranit pravidla iptables?

Můžete použít více příkazů k odstranění pravidel Iptables nebo dokonce smazat všechna pravidla v řetězu. Zde si projdeme tyto metody.

Odstranění pravidel podle specifikace

Jedním ze způsobů, jak odstranit pravidla iptables, je jejich odstranění prostřednictvím specifikace pravidla. Umožňuje vám spustit příkaz iptables s -D možnost a specifikací pravidla. Pokud chcete pravidla odstranit tímto způsobem, můžete si pomoct výstupem seznamu pravidel, iptables -S.

Chcete-li například smazat pravidlo, které zahodí neplatné příchozí pakety (-A INPUT -m conntrack –ctstate INVALID -j DROP), můžete spustit následující příkaz:

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

Všimněte si, že možnost -A slouží k určení pozice pravidla v době vytvoření a měla by být zde vynechána.

Odstranění pravidel podle řetězu a čísla

Druhou metodu, kterou můžete použít k odstranění pravidel iptables, je odstranění podle řetězu a čísla řádku. Zadejte následující příkaz, abyste vybrali číslo řádku pravidla, vyprodukovali seznam pravidel ve formátu tabulky a přidali možnost –line-numbers:

sudo iptables -L --line-numbers

Odstranění pravidel podle řetězu a čísla
Výstup odstranění pravidel podle řetězu a čísla

Po spuštění tohoto příkazu mají všechna pravidla iptables své číslo řádku, zobrazené v záhlaví num.

Když víte, které pravidlo chcete smazat, a máte v paměti jeho řetěz a číslo řádku, musíte použít příkaz iptables -D s řetězem a číslem pravidla. Chcete-li například smazat pravidlo inputu, které zahodí neplatné pakety, vidíte, že je to pravidlo 3 řetězu INPUT. Spusťte tedy tento příkaz:

sudo iptables -D INPUT 3

Jak vyprázdnit řetězy?

Existuje způsob, jak odstranit všechna pravidla Iptables v řetězu, kterému říkáme vyprazdňování řetězu. Zde si projdeme různé metody, jak to udělat. Předtím, než budete pokračovat, věnujte pozornost tomu, abyste se nezamkli z přístupu na server pomocí SSH při vyprazdňování řetězu s výchozí zásadou drop nebo deny. Pokud tak učiníte, budete se muset připojit přes konzolu, aby ste opravili svůj přístup.

Vyprázdnit jeden řetěz

Chcete-li vyprázdnit určitý řetěz, jinými slovy smazat všechna pravidla v řetězu, můžete použít -F nebo ekvivalent –flush možnost a název vybraného řetězu. Řekněme, že chcete odstranit všechna pravidla v řetězu INPUT; co dělat? Je to jednoduché, spusťte následující příkaz:

sudo iptables -F INPUT

Vyprázdnit všechny řetězy

Chcete-li odebrat všechny řetězy nebo je vyprázdnit, můžete použít možnost -F nebo ekvivalentní možnost –flush samostatně:

sudo iptables -F

Jak vyprázdnit všechna pravidla, smazat všechny řetězy a přijmout vše?

V tomto bodě si vysvětlíme, jak vyprázdnit všechna pravidla brány firewall, tabulky a řetězce a povolit veškerý síťový provoz. Vezměte prosím na vědomí, že tento proces efektivně zakáže bránu firewall. Měli byste postupovat podle této části pouze v případě, že chcete začít znovu s konfigurací brány firewall.

Nejprve musíte nastavit výchozí zásady pro každý vestavěný řetězec na ACCEPT. Hlavním důvodem, proč to děláme, je zajistit, aby vás systém SSH nezablokoval:

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

Poté vyprázdníte tabulky nat a mangle a všechny řetězce (-F)a odstraníte všechny nestandardní řetězce (-X) takto:

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

Po spuštění předchozích příkazů bude brána firewall propouštět veškerý síťový provoz. Pokud chcete nyní vypsat svá pravidla, uvidíte, že nejsou žádná; zůstanou pouze tři standardní řetězce INPUT, FORWARD a OUTPUT.

Jak nastavit iptables v Ubuntu?

Jako u každého základního chování brány firewall se pravidla iptables čtou v pořadí uvedeném v každém řetězci, což znamená, že musíte nastavit pravidla ve správném pořadí. Jakmile přidáte nová pravidla, budou přidána na konec seznamu pravidel. Nová pravidla můžete přidat na konkrétní pozici jejich vložením pomocí iptables -I <index> -command. The <index> je pro pořadové číslo, na které chcete pravidlo v tomto příkazu vložit. Následující příkaz vám pomůže pochopit, které číslo indexu zadat:

sudo iptables -L --line-numbers

Číslo na začátku každého řádku pravidla ukazuje pozici v řetězci. Chcete-li přidat nové pravidlo nad konkrétní existující pravidlo, musíte použít číslo indexu tohoto existujícího pravidla. Pokud například chcete přidat nové pravidlo na začátek řetězce, použijte následující příkaz s číslem indexu 1:

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

Jak se iptables liší od firewalld?

Iptables a firewalld jsou praktické nástroje pro správu bran firewall v různých systémech Linux, konkrétně navržené pro filtrování paketů (statické filtrování). Filtrování paketů je strategie brány firewall, která umožňuje uživatelům kontrolovat přístup ke specifické síti správou příchozích a odchozích datových paketů. Buď je propustí, nebo je zamítnou na základě přednastaveného pravidla brány firewall týkajícího se jejich zdrojových a cílových protokolů, portů a IP adres. Tato pravidla poskytují velmi účinné bezpečnostní mechanismy, takže filtrování datových paketů je vynikajícím obranou proti zařízením směrovaným mimo místní síť (LAN).

Mějte na paměti, že firewalld byl původně představen jako software pro správu iptables, aby se uživatelům usnadnila jeho správa. Nyní si obě nástrojí podrobněji porovnáme.

iptables vs firewalld: Systémová konfigurace

Firewalld a iptables používají různé konfigurace a výchozí nastavení úložiště. V případě iptables znamená každá změna vyprázdnění všech starých pravidel a načtení nových, takže je třeba systém restartovat. Při použití firewalld se pravidla znovu nevytváří; místo toho se rozdíly a provedené úpravy aplikují tak, aby se změny projevily za běhu.

iptables vs firewalld: Uživatelské rozhraní

Firewalld používá grafické rozhraní (GUI). Iptables naopak využívá rozhraní příkazového řádku (CLI), což pro některé lidi může být složitější pro přístup k pravidlům jádra brány firewall Linux pomocí iptables, a proto je firewalld jednodušší volbou. Je dobré vzít v úvahu, že iptables má kratší dobu odezvy, protože používáte pouze krátké příkazy. Oba nástroje mají své použití, vyberte si ten, se kterým se vám lépe pracuje.

Závěrečné myšlenky: zobrazení pravidel iptables

Iptables je vysoce flexibilní nástroj brány firewall speciálně vytvořený pro operační systémy Linux. Nezáleží na tom, zda jste začátečník nebo profesionální správce systému; iptables pravidla mohou být pro vás užitečná. Tento článek představuje základní příkazy tohoto nástroje brány firewall, včetně zobrazení a odstranění pravidel iptables, s cílem stručně přezkoumat možnosti Linux. Navíc můžete také využít naše Linux VPS hostingová řešení k plnému využití potenciálu tohoto fantastického operačního systému. V Cloudzy nabízíme různé KVM hostingové plány Linux VPS vhodné pro více případů použití, jako je webový hosting, nasazení webové aplikace nebo nastavení prostředí pro vývoj, testování a automatizaci kódu.

Často kladené otázky

Jak vypsat všechna pravidla iptables Linux podle specifikace?

Pokud chcete vypsat všechna aktuálně aktivní pravidla iptables podle jejich specifikace nebo funkčnosti, můžete to udělat pomocí příkazu iptables následovaného -S příznak. Věnujte pozornost používání sudo klíčového slova v tomto případě:

sudo iptables -S

Jak odstranit pravidla iptables?

Chcete-li odstranit konkrétní řetězec, který odstraní všechna pravidla v řetězci, musíte použít možnost -F nebo –flush a název řetězce. Řekněme, že chceme odstranit všechna pravidla v řetězci OUTPUT. Co dělat? Musíte spustit tento příkaz:

 sudo iptables -F OUTPUT

Jak fungují iptables v Ubuntu?

Brána firewall iptables porovnává síťový provoz se sadou pravidel. Pravidla iptables specifikují charakteristiky paketu, které mají odpovídat pravidlu, a jakou akci je třeba provést, pokud se pakety shodují. Existuje samozřejmě mnoho možností pro nastavení, které pakety odpovídají konkrétnímu pravidlu.

Proběhnou změny pravidel iptables okamžitě? Proč?

Ano, pravidla iptables se projeví okamžitě; protože váš skript přidává do řetězců INPUT a OUTPUT a vaše pravidla se přidávají na konec těchto řetězců.

Sdílet

Další z blogu

Čtěte dál.

Titulní obrázek Cloudzy pro průvodce MikroTik L2TP VPN zobrazující laptop připojující se k serverovému racku přes zářící modrý a zlatý digitální tunel s ikonami štítů.
Bezpečnost a sítě

Nastavení MikroTik L2TP VPN (s IPsec): průvodce pro RouterOS (2026)

V tomto nastavení MikroTik L2TP VPN zajišťuje L2TP tunelování, zatímco IPsec řeší šifrování a integritu. Jejich kombinace poskytuje kompatibilitu s nativními klienty bez závislosti na třetistraných řešeních.

Rexa CyrusRexa Cyrus 9 min čtení
Okno terminálu zobrazující varovnou zprávu SSH o změně identifikace vzdáleného hostitele, s názvem průvodce opravou a brandingem Cloudzy na tmavě tyrkysovém pozadí.
Bezpečnost a sítě

Varování: Remote Host Identification Has Changed a jak ho opravit

SSH je zabezpečený síťový protokol, který vytváří šifrovaný tunel mezi systémy. Oblíbený je zejména mezi vývojáři, kteří potřebují vzdálený přístup k počítačům bez nutnosti grafického rozhraní.

Rexa CyrusRexa Cyrus 10 minut čtení
Ilustrace k průvodci odstraňováním problémů serveru DNS s varovnými symboly a modrým serverem na tmavém pozadí pro chyby překladu názvů Linux
Bezpečnost a sítě

Dočasné selhání překladu názvů: Co to znamená a jak to opravit?

Při používání Linux se může stát, že při přístupu na webové stránky, aktualizaci balíčků nebo provádění úkolů vyžadujících připojení k internetu narazíte na chybu dočasného selhání překladu názvů.

Rexa CyrusRexa Cyrus 12 minut čtení

Připraveni nasadit? Od 2,48 $/měsíc.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dní.