Domovská » jak » Používání Iptables v systému Linux

    Používání Iptables v systému Linux

    Tato příručka se pokusí vysvětlit, jak používat iptables v linuxu v snadno srozumitelném jazyce.

    Obsah

    [skrýt]

    • 1 Přehled
    • 2 Použití
      • 2.1 Blokování jedné IP adresy
      • 2.2 Povolení veškerého provozu z adresy IP
      • 2.3 Blokování portu ze všech adres
      • 2.4 Povolení jediného portu z jedné IP adresy
      • 2.5 Zobrazení aktuálních pravidel
      • 2.6 Vymazání aktuálních pravidel
    • 3 Specifické pro distribuci
      • 3.1 Gentoo

    Přehled

    Iptables je brána firewall založená na pravidlech, která bude zpracovávat každé pravidlo v pořádku, dokud nenajde jeden, který odpovídá.

    Todo: uveďte příklad zde

    Používání

    Nástroj iptables je obvykle předinstalovaný v distribuci linuxu, ale ve skutečnosti neobsahuje žádná pravidla. Nástroj naleznete zde na většině distribucí:

    / sbin / iptables

    Blokování jedné adresy IP

    IP adresu můžete zablokovat parametrem -s a nahradit 10.10.10.10 adresu, kterou se pokoušíte zablokovat. V tomto příkladu si všimnete, že místo parametru append jsme použili parametr -I (nebo -instrukce také funguje), protože se chceme ujistit, že se toto pravidlo zobrazí nejprve předtím,.

    / sbin / iptables -I INPUT -s 10.10.10.10 -j DROP

    Povolení veškerého provozu z adresy IP

    Můžete střídavě povolit veškerou komunikaci z adresy IP pomocí stejného příkazu jako výše, ale nahrazením příkazem DROP pomocí příkazu ACCEPT. Musíte se ujistit, že se toto pravidlo nejdříve objeví před jakýmikoli pravidly DROP.

    / sbin / iptables -A VSTUP -s 10.10.10.10 -j ACCEPT

    Blokování portu ze všech adres

    Do portu můžete úplně zablokovat přístup přes síť pomocí přepínače -dport a přidáním portu služby, kterou chcete zablokovat. V tomto příkladu zablokujeme port mysql:

    / sbin / iptables -A VSTUP -p tcp -dport 3306 -j DROP

    Povolení jediného portu z jediné IP

    Příkaz -s můžete přidat spolu s příkazem -dport a dále omezit pravidlo na konkrétní port:

    / sbin / iptables -A INPUT -p tcp -s 10.10.10.10 -dport 3306 -j ACCEPT

    Zobrazení aktuálních pravidel

    Aktuální pravidla můžete zobrazit pomocí následujícího příkazu:

    / sbin / iptables -L

    Mělo by se vám dát podobný výstup jako následující:

    Řetězec INPUT (zásada ACCEPT) cíl cíl opt source ACCEPT all - 192.168.1.1/24 kdekoliv ACCEPT all - 10.10.10.0/24 kdekoliv DROP tcp - kdekoliv kdekoliv tcp dpt: ssh DROP tcp - kdekoliv kdekoliv tcp dpt: mysql

    Skutečný výstup bude samozřejmě o něco delší.

    Vymazání aktuálních pravidel

    Všechny stávající pravidla můžete vymazat pomocí parametru flush. To je velmi užitečné, pokud potřebujete dát pravidla v pořádku, nebo když testujete.

    / sbin / iptables - flush

    Specifické pro distribuci

    Zatímco většina distribucí Linuxu obsahuje formu iptables, některé z nich také obsahují obálky, které usnadňují správu. Nejčastěji tyto "addony" mají formu initových skriptů, které se starají o inicializaci iptables při spuštění, ačkoli některé distribuce také zahrnují plné foukané aplikace wrapper, které se pokoušejí zjednodušit společný případ.

    Gentoo

    The iptables init skript na Gentoo je schopen pracovat s mnoha běžnými scénáři. Pro začátečníky vám umožňuje konfigurovat iptables, které se načítají při spuštění (obvykle to, co chcete):

    rc-update přidat iptables výchozí

    Pomocí skriptu init je možné načíst a vyčistit firewall pomocí příkazu snadno zapamatovatelného:

    /etc/init.d/iptables start /etc/init.d/iptables stop

    Skript init zpracovává podrobnosti o přetrvávající konfiguraci brány firewall na startu / zastavení. Váš firewall je tedy vždy ve stavu, který jste nechali. Pokud potřebujete ručně uložit nové pravidlo, init skript to zvládne také:

    /etc/init.d/iptables uložte

    Navíc můžete obnovit firewall na předchozí uložený stav (pro případ, kdy jste experimentovali s pravidly a nyní chcete obnovit předchozí pracovní konfiguraci):

    /etc/init.d/iptables reload

    Nakonec může init skript umístit iptables do režimu "paniky", kde je blokován veškerý příchozí a odchozí provoz. Nejsem si jistý, proč je tento režim užitečný, ale zdá se, že všechny firewally Linuxu mají.

    /etc/init.d/iptables panika

    Varování: Nezakládejte režim panice, pokud jste připojeni k serveru prostřednictvím SSH; vy vůle být odpojen! Jediný čas, kdy byste měli iptables umístit do režimu paniky, jste v době, kdy jste fyzicky před počítačem.