50% sleva všechny plány, omezený čas. Začátek v $2.48/mo
zbývá 14 min
Zabezpečení a sítě

Výpis a mazání pravidel Linux Iptables – Cheat Sheet pro začátečníky

Lily Carnell By Lily Carnell 14 minut čtení Aktualizováno 18. září 2023
Pokyny pro výpis a mazání pravidel iptables

Neoprávněný přístup a hackování serverů jsou vážnými hrozbami, a proto byste měli implementovat firewall jako součást své techniky zabezpečení sítě. Znalost toho, jak pracovat s pravidly Iptables, je jedním z primárních prostředků ke snížení těchto rizik na vašich systémech Linux. Tento výukový program vás provede seznámením se základními pojmy brány firewall, jako je iptables zobrazit pravidla a odstranit pravidla iptables v Ubuntu, který vám pomůže spouštět jednoduché příkazy, abyste toho dosáhli. Než probereme, jak vypsat pravidla iptables nebo je odstranit, promluvme si o tom, co jsou pravidla iptables a proč je používáme?

Co je to Iptables?

iptables je nástroj brány firewall příkazového řádku, který umožňuje nebo blokuje provoz přes politické řetězce. Když se ve vašem systému pokusí vytvořit připojení, iptables hledá v seznamu pravidlo, které jim odpovídá, což vám poskytne správného pomocníka v zabezpečení sítě. Pokud nenajde žádné pro připojení, uchýlí se k výchozí akci.

iptables jsou téměř vždy předinstalované na jakémkoli Linux distribuce. K aktualizaci nebo instalaci můžete použít následující příkaz:

sudo apt-get install iptables

Proč používáme Iptables?

Jako linuxový firewall příkazového řádku umožňuje iptables správcům systému zpracovávat příchozí a odchozí provoz pomocí konfigurovatelných pravidel tabulek. Iptables používají sadu tabulek s řetězci obsahující sadu vestavěných nebo uživatelem definovaných pravidel.

Jak bylo zmíněno v předchozí části, iptables hraje zásadní roli v zabezpečení sítě pro většinu systémů Linux. Zbytek tohoto článku se zaměřuje hlavně na popis všech pravidel seznamu iptables, včetně konceptů, jak zobrazit a odstranit pravidla iptables.

Konkrétněji, tento článek pojednává o některých základních úlohách iptables, aby vám ukázal, jak vypsat pravidla, odstranit čítače paketů a bajtů, odebrat pravidlo Iptables, vyprázdnit řetězce a odstranit všechny řetězce a přijmout veškerý provoz.

Kompletní průvodce Iptables v Ubuntu

Před procházením pravidel show iptables si uvědomte, že musíte používat server Linux s nainstalovaným příkazem iptables. Kromě těchto požadavků je nezbytné mít práva sudo. Při práci s firewally dávejte pozor, abyste se nezamykali ze svého serveru blokováním provozu SSH (port:22, ve výchozím nastavení). Pokud ztratíte přístup kvůli nastavení brány firewall, možná se k ní budete muset připojit přes mimopásmovou konzolu, abyste to opravili.

Přečtěte si také: Jak změnit port SSH v Linuxu | Rychlý průvodce krok za krokem k vašemu portu SSH

Pravidla výpisu podle specifikace

Můžete si prohlédnout svá aktivní pravidla iptables v tabulce nebo jako seznam specifikací pravidel. Téměř obě metody poskytují stejné informace v různých formátech. Chcete-li vypsat všechna pravidla aktivních iptables podle specifikace, musíte spustit příkaz iptables s -S varianta:

sudo iptables -S

Po spuštění tohoto příkazu iptables show rules uvidíte výstup takto:

výstup běžících pravidel seznamu show
výstup běžících pravidel seznamu show

Vypsání konkrétního řetězce

Pokud chcete omezit výstup show iptables na konkrétní řetězec jako INPUT, OUTPUT nebo TCP, můžete zadat název řetězce přímo za volbou -S. Například následující příkaz iptables show rules pomáhá specifikovat v řetězci TCP:

sudo iptables -S TCP

výstup výpisu specifikujícího TCP řetězce
výstup výpisu specifikujícího TCP řetězce

Jak jsme zmínili dříve, existuje další způsob, jak dosáhnout toho, aby pravidla iptables show byla splněna: zobrazení pravidel iptables jako tabulky pravidel. Pojďme si projít tuto techniku.

Výpis pravidel jako tabulky

Použití příkazu k zobrazení pravidel iptables v tabulkách může pomoci porovnat různá pravidla. Musíte spustit následující příkaz show iptables s -L varianta pro výstup všech těchto aktivních pravidel do tabulky:

sudo iptables -L

Tento příkaz zobrazí všechna aktuální pravidla seřazená podle řetězců. Existuje způsob, jak omezit výstup na konkrétní řetězec, jako je INPUT, OUTPUT, TCP atd.; musíte zadat název řetězce přímo za volbou -L. Zde je příklad omezení pravidel show iptables na řetězec INPUT:

sudo iptables -L INPUT

výstup iptables zobrazuje pravidla omezená na řetězec INPUT
výstup iptables zobrazuje pravidla omezená na řetězec INPUT

První řádek výše uvedeného výstupu zobrazuje 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, abychom vám pomohli se je všechny naučit:

  • Cíl: Pokud paket odpovídá pravidlu, cíl určí, co s ním má být provedeno. Paket můžete nechat přijmout, zahodit, zaprotokolovat nebo poslat do jiného řetězce, aby byl porovnán s více pravidly.
  • prot: protokol (jako TCP, udp, ICMP nebo všechny)
  • opt: označuje možnosti IP (málo používané)
  • zdroj: zobrazuje zdrojovou IP adresu/podsíť provozu 
  • cíl: představuje cílovou IP adresu/podsíť provozu

Sloupec bez popisku naznačuje možnosti pravidla a je to jakákoli část pravidla, která nebyla uvedena v předchozích sloupcích. Tyto informace mohou být cokoli, od zdrojových a cílových portů až po stav připojení paketu.

Přečtěte si také: Nainstalujte OpenVPN na VPS – OpenVPN Client Setup 🔑

Jak zobrazit počty paketů a agregovanou velikost?

Při vypisování pravidel iptables můžeme zobrazit počet paketů a agregovanou velikost paketů v bajtech, které odpovídají každému konkrétnímu pravidlu iptables; to je často užitečné pro pochopení, která pravidla odpovídají paketům. Musíte použít -L a -v možnosti společně dosáhnout tento.

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 agregované velikosti
výstup Zobrazení počtu paketů a Aggregate Size

Všimněte si, že náš seznam má nyní dva další pojmenované sloupce pkts a bajtů. Naučili jsme se různé způsoby, jak nechat iptables zobrazit všechny příkazy pravidel, a nyní je čas vědět, jak resetovat počty paketů a velikost agregace.

Jak resetovat počty paketů a velikost agregace?

Pokud chcete pro svá pravidla vymazat nebo nulovat čítače paketů a bajtů, musíte použít volbu - Z. Také se resetují, pokud dojde k 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.

Můžete vymazat počítadla pro všechny řetězce a pravidla pomocí -Z varianta sám o sobě:

sudo iptables -Z

Chcete-li odebrat čítače pro všechna pravidla v určitém řetězci, musíte použít volbu -Z a zadat řetězec. Například následující příkaz se používá k vymazání čítačů řetězce INPUT:

sudo iptables -Z INPUT

Pokud chcete odebrat čítače pro konkrétní pravidlo, musíte přesně uvést název řetězce a číslo pravidla. Můžete například provést následující příkaz k vynulování čítačů pro první pravidlo v řetězci INPUT:

sudo iptables -Z INPUT 1

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

Přečtěte si také: Jak nainstalovat server PPTP VPN na váš VPS

Jak odstranit pravidla iptables?

K odstranění pravidel Iptables nebo dokonce k odstranění všech pravidel v řetězci můžete použít více příkazů. Zde budeme diskutovat o těchto metodách,

Odebrat pravidla podle specifikace

Jedním ze způsobů, jak odstranit pravidla iptables, je provést to prostřednictvím specifikace pravidla. Umožňuje vám spustit příkaz iptables s Možnost -D a specifikace pravidel. Pokud chcete odstranit pravidla pomocí této techniky, můžete použít výstup seznamu pravidel, iptables -S, jako nápovědu.

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

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

Věnujte pozornost tomu, že možnost -A slouží k označení pozice pravidla v době vytvoření a zde by měla být vyloučena.

Odstraňte pravidla podle řetězce a čísla

Další metoda, kterou můžete použít k odstranění pravidel iptables, je přes její řetězec a číslo řádku. Zadejte následující příkaz pro výběr čísla řádku pravidla, seznam pravidel ve formátu tabulky a přidání – volba čísel řádků:

sudo iptables -L --line-numbers

Odstraňte pravidla podle řetězce a čísla
výstup Odstranění pravidel podle řetězce a čísla

Po spuštění budou mít všechna pravidla iptables své číslo řádku, které se zobrazí v záhlaví num.

Když víte, které pravidlo byste chtěli smazat, mějte na paměti jeho řetězec a číslo řádku. Musíte použít příkaz iptables -D s řetězcem a číslem pravidla. Pokud například chcete odstranit vstupní pravidlo, které zahazuje neplatné pakety, můžete vidět, že jde o pravidlo 3 řetězce INPUT. Spusťte tedy tento příkaz:

sudo iptables -D INPUT 3

Jak propláchnout řetězy?

Existuje způsob, jak odstranit všechna pravidla Iptables v řetězci, kterému říkáme proplachování řetězu. Zde se budeme zabývat různými způsoby, jak toho dosáhnout. Než půjdete dál, věnujte pozornost tomu, abyste nebyli uzamčeni ze serveru přes SSH při proplachování řetězce výchozí politikou drop nebo deny. Protože Pokud tak učiníte, možná se budete muset připojit přes konzolu, abyste opravili svůj přístup.

Propláchněte jednoduchý řetěz

Pro vyprázdnění konkrétního řetězce nebo jinými slovy smazání všech pravidel v řetězci můžete použít -F nebo ekvivalent – možnost splachování a název vybraného řetězce. Řekněme, že chcete odstranit všechna pravidla v řetězci INPUT; co dělat Je to snadné, spusťte následující příkaz:

sudo iptables -F INPUT

Propláchněte všechny řetězy

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

sudo iptables -F

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

V tomto bodě popíšeme, jak vyprázdnit všechna pravidla brány firewall, tabulky a řetězce a povolit veškerý síťový provoz. Věnujte prosím pozornost tomu, že tento proces účinně deaktivuje firewall. Touto částí byste se měli řídit 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ý z vestavěných řetězců na ACCEPT. Primárním důvodem, proč to děláme, je zajistit, že nebudete uzamčeni ze serveru pomocí SSH:

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

Pak musíte spláchnout nat a mandlové stoly, spláchnout všechny řetězy (-F)a odstraňte všechny jiné než výchozí řetězce (-X) takhle:

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ů firewall povolí veškerý síťový provoz. Pokud chcete nyní vypsat svá pravidla, uvidíte, že žádná nejsou; zůstávají pouze tři výchozí řetězce, jako jsou INPUT, FORWARD a OUTPUT.

Jak nastavit iptables v Ubuntu?

Stejně jako u každého základního chování brány firewall lze pravidla iptables číst v pořadí uvedeném v každém řetězci, což znamená, že budete muset 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 seznamu jejich vložením pomocí iptables -I <index> -příkaz. The <index> je pro číslo objednávky, do kterého chcete vložit pravidlo do tohoto příkazu. Pomocí následujícího příkazu můžete zjistit, které indexové číslo 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 indexové číslo tohoto existujícího pravidla. Pokud například chcete přidat nové pravidlo na začátek řetězce, musíte použít následující příkaz s indexovým číslem 1:

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

Jak se liší iptables od firewalld?

Jak iptables, tak firewalld jsou praktické nástroje pro správu firewallů na různých linuxových systémech výslovně navržené pro filtrování paketů (statické filtrování). Filtrování paketů je strategie brány firewall, která uživatelům umožňuje řídit přístup ke konkrétní síti prostřednictvím správy příchozích a odchozích informačních paketů. Buď jim umožňují projít, nebo je zakázat na základě předem nastavených pravidel brány firewall o jejich zdrojových a cílových protokolech, portech a IP adresách. Tato pravidla poskytují velmi účinné bezpečnostní mechanismy, díky nimž je filtrování informačních paketů skvělou obranou proti zařízením směrovaným mimo systémovou LAN (Local Area Network).

Všimněte si, že firewalld byl původně představen jako software pro práci s iptables, který uživatelům usnadňuje navigaci. Po tomto představení firewalld a iptables je porovnejme podrobněji.

iptables vs firewalld: Konfigurace systému

Firewall a iptables využívají různé konfigurace a výchozí nastavení úložiště. U iptables každá změna znamená vymazání všech starých pravidel a přečtení nových, takže systém se musí restartovat. Při použití brány firewall se však pravidla znovu nevytvářejí; místo toho se provedené odlišnosti a úpravy použijí ke změně existujících pravidel, takže je můžete vidět, jak se projeví za běhu.

iptables vs firewalld: Uživatelské rozhraní

Firewalld používá grafické uživatelské rozhraní (GUI). Přesto iptables využívá rozhraní příkazového řádku (CLI), které může být pro některé lidi náročné při přístupu k pravidlům brány firewall jádra Linuxu pomocí iptables, což činí firewalld jednodušší možností. Bylo by nejlepší vzít v úvahu, že iptables mají kratší dobu odezvy, protože používáte pouze krátké příkazy. Všechny tyto věci stranou, oba mají své případy použití, takže si vyberte ten, se kterým se vám lépe pracuje.

Závěrečné myšlenky: iptables ukazují pravidla

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 v Linuxu nebo profesionální správce systému; existuje nějaký způsob, jak vám mohou být užitečná pravidla iptables. Tento článek představoval především základní příkazy pro tento nástroj brány firewall, včetně pravidel pro zobrazení pravidel iptables a pravidel pro odstranění iptables, s cílem stručně zhodnotit možnosti systému Linux. Kromě toho můžete použít náš Linuxová VPS hostingová řešení využít skutečný potenciál tohoto fantastického operačního systému. Ve společnosti cloudzy nabízíme různé plány Linux VPS s podporou KVM vhodné pro více případů použití, jako je webhosting, nasazení webové aplikace nebo dokonce nastavení prostředí pro vývoj, testování a automatizaci kódu.

FAQ

Jak vypsat všechna pravidla Linuxu iptables podle specifikace?

Pokud chcete vypsat všechna aktuálně aktivní pravidla iptables podle jejich specifikace nebo funkčnosti, můžete tak učinit příkazem iptables následovaným příkazem -S vlajka. Věnujte pozornost využití sudo klíčové slovo v tomto případě:

sudo iptables -S

Jak odstranit pravidla iptables?

Chcete-li odebrat konkrétní řetězec, který odstraní všechna pravidla v řetězci, musíte použijte volbu -F nebo –flush a název řetězce. Řekněme, že chceme smazat všechna pravidla ve OUTPUT řetězci, co dělat? No, musíte provést tento příkaz:

 sudo iptables -F VÝSTUP

Jak fungují iptables v Ubuntu?

Brána firewall iptables porovnává síťový provoz se sadou pravidel. Pravidla iptables specifikují charakteristiky paketu, aby odpovídaly pravidlu, a jaká akce by měla být provedena, pokud se pakety shodují. Samozřejmě existuje mnoho možností, jak nastavit, které pakety vyhovují konkrétnímu pravidlu.

Vstoupí pravidla iptables v platnost okamžitě? Proč?

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

Podíl

Více z blogu

Pokračujte ve čtení.

Titulní obrázek Cloudzy pro průvodce MikroTik L2TP VPN, který ukazuje notebook připojený k serverovému racku prostřednictvím zářícího modrého a zlatého digitálního tunelu s ikonami štítů.
Zabezpečení a sítě

MikroTik L2TP VPN Setup (s IPsec): RouterOS Guide (2026)

V tomto nastavení MikroTik L2TP VPN zpracovává L2TP tunelování, zatímco IPsec zpracovává šifrování a integritu; jejich spárováním získáte kompatibilitu s nativním klientem bez věku třetích stran

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 Fix Guide a značkou Cloudzy na tmavě modrozeleném pozadí.
Zabezpečení a sítě

Upozornění: Identifikace vzdáleného hostitele se změnila a jak to opravit

SSH je zabezpečený síťový protokol, který vytváří šifrovaný tunel mezi systémy. Zůstává oblíbený u vývojářů, kteří potřebují vzdálený přístup k počítačům bez potřeby grafu

Rexa CyrusRexa Cyrus 10 min čtení
Obrázek průvodce odstraňováním problémů se serverem DNS s varovnými symboly a modrým serverem na tmavém pozadí pro chyby překladu názvů systému Linux
Zabezpečení a sítě

Dočasná chyba v rozlišení názvu: Co to znamená a jak ji opravit?

Při používání Linuxu se můžete setkat s dočasnou chybou v překladu názvů při pokusu o přístup k webovým stránkám, aktualizaci balíčků nebo provádění úloh vyžadujících připojení k internetu.

Rexa CyrusRexa Cyrus 12 min čtení

Jste připraveni k nasazení? Od 2,48 $ měsíčně.

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