Dedinčan odporúča...

Freepascal logoFree Pascal (FPK Pascal) je 32 a 64-bitový profesionálny prekladač Pascal. Je dostupný pre rôzne procesorya podporuje väčšinu operačných systémov (Linux, FreeBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, Win64, WinCE, OS/2, Netware a MorphOS).

Rýchlokurz IPtables

Kategória: Používanie Linuxu
Upravené: sobota, 29. január 2011

IPtables je nástroj pre konfiguráciu linuxového firewallu netfilter, ktorý je súčasťou jadier série 2.4 a 2.6. V slovenčine (češtine) je dostupných dostatok návodov, ktoré popisujú možnosti a spôsoby ich nastavenia. Základné iptables je možné rozšíriť o mnohé ďalšie možnosti. Tento článok si nekladie za cieľ byť vyčerpávajúcim návodom, ale len poskytnúť slovenský popis syntaxe zadávania pravidiel,

Len pre istotu spomeniem, že tento článok nie je určený tým, ktorí s linuxovým firewallom pracovať nevedia.

Základná syntax

iptables [-t tabuľka] príkaz [podmienky] [voľby...]

Len podotýkam, že príkaz obsahuje viac častí.

Tabuľky

Pakety prechádzajú prechádzajú pri svojej ceste v jadre tabuľkami. Aktuálne sú dostupné štyri tabuľky:

  • filter – je východzia tabuľka určená na uchovávanie pravidiel filtrovania paketov, ktorá obsahuje tri reťaze:
    • INPUT (pakety cielené do lokálneho stroja),
    • FORWARD (pakety smerované cez stroj) a
    • OUTPUT (lokálne generované pakety);
  • nat – je tabuľka používaná len paketmi vytvárajúcimi nové spojenie a pozostáva tiež z troch reťazí:
    • PREROUTING (úprava paketov hneď po vstupe),
    • OUTPUT (úprava lokálne generovaných paketov) a
    • POSTROUTING (úprava paketov tesne pred výstupom);
  • mangle – je tabuľke na špeciálnu manipuláciu s paketmi a má päť reťazí:
    • PREROUTING (úprava prichádzajúcich paketov pred smerovaním),
    • OUTPUT (úprava lokálne generovaných paketov pred smerovaním),
    • INPUT (úprava paketov cielených do lokálneho stroja),
    • FORWARD (úprava paketov smerovaných cez stroj) a
    • POSTROUTING (úprava paketov tesne pred výstupom); 
  • raw – je tabuľka na výnimky so sledovania stavu a je spracovaná ako celkom prvá. V tabuľke sú dve reťaze:
    • PREROUTING (pakety vstupujúce cez NIC) a
    • OUTPUT (lokálne generované pakety). 

Tabuľku, použitú pre dané pravidlo, je možné určiť pomocou voľby -t nasledovanej menom tabuľky. Pričom východziu tabuľku (filter) netreba určovať a je použitá vždy, ak nie je voľbou -t stanovené inak.

Príkazy

Príkaz určuje akciu, ktorú má iptables vykonať. Rozpoznávané akcie sú:

  • -A, --append reťaz pravidlo
    pridá pravidlo na koniec zvolenej reťaze;
  • -D, --delete reťaz pravidlo
    -D, --delete reťaz číslo_pravidla

    Delete one or more rules from the selected chain.
  • -I, --insert reťaz [číslo_pravidla] pravidlo
    Insert one or more rules in the selected chain as the given rule number.
  • -R, --replace reťaz číslo_pravidla pravidlo
    Replace a rule in the selected chain.
  • -L, --list [reťaz]
    List all rules in the selected chain.
  • -S, --list-rules [reťaz]
    Print all rules in the selected chain.
  • -F, --flush [reťaz]
    Flush the selected chain (all the chains in the table if none is given).
  • -Z, --zero [reťaz]
    Zero the packet and byte counters in all chains.
  • -N, --new-chain reťaz
    Create a new user-defined chain by the given name. 
  • -X, --delete-chain [reťaz ]
    Delete the optional user-defined chain specified.
  • -P, --policy reťaz cieľ
    Set the policy for the chain to the given target.
  • -E, --rename-chain stará-reťaz nová-reťaz
    Rename the user specified chain to the user supplied name.

Podmienky

Pomocou podmienok je možné špecifikovať, pre ktorý paket dané pravidlo platí alebo neplatí. Voliteľný výkričník pred parametrom obracia (neguje) význam podmienky pravidla:

  • [!] -p, --protocol protokol
    Protokol, pre ktorý platí pravidlo (tcp, udp, udplite, icmp, esp, ah, sctp alebo all). Dovolené sú aj mená protokolov z /etc/protocols.
  • [!] -s, --source adresa[/maska]
    Zdrojová adresa paketu, pre ktorú platí pravidlo (sieťové meno, hostname, sieťová IP adresa alebo prostá IP adresa). Maska môže byť v tvare sieťovej masky (napr. 255.255.255.0) alebo v podobe čísla (24).
  • [!] -d, --destination adresa[/maska]
    Cieľová adresa paketu, pre ktorú platí pravidlo. Platia rovnaké pravidlá ako pre -s (source).
  • -j, --jump cieľ
    Cieľ pravidla, teda čo urobiť s paketom, ktorý vyhovuje pravidlu. Cieľ môže byť používateľská reťaz, zabudované ciele alebo rozšírenie. Ak je tento parameter vynechaný a nie je definované pravidlo -g (goto), potom pravidlo nemá vplyv na paket, len je zvyšované počítadlo.
  • -g, --goto reťaz
    Určuje, kde má pokračovať spracovanie. Na rozdiel od --jump sa po spracovaní zadanej nevráti späť do tejto reťaze, ale pokračuje v nadradenej reťazi.
  • [!] -i, --in-interface meno_rozhrania
    Meno rozhrania, cez ktoré bol paket prijatý (len v reťaziach INPUT, FORWARD a PREROUTING). Ak meno rozhrania končí "+", potom vyhovujú všetky rozhrania, ktoré začínajú daným menom.
  • [!] -o, --out-interface meno_rozhrania
    Meno rozhrania, cez ktoré bude paket odoslaný (len v reťaziach FORWARD, OUTPUT a POSTROUTING). Aj tu môže byť použité "+" na konci.
  • [!] -f, --fragment
    Pravidlo platí len pre druhý a ďalšie fragmenty fragmentovaného paketu.
  • -c, --set-counters packets bytes
    Umožňuje nastaviť stav počítadiel pravidla (pri operáciách INSERT, APPEND a REPLACE).
  • -v, --verbose
    Podrobný výstup príkazu list. Takto sú je zobrazené aj meno rozhrania, voľby pravidla, masky TOS a počítadlá paketov a bytov (s príponami "K" (násobky 1000) "M" (násobky 1000K) alebo "G" (násobky 1000M).’K’, ’M’ alebo ’G’ pre podiely 1000, 1 000 000 a 1 000 000 000).
  • -n, --numeric
    IP adresy a čísla portov vypisuje v číselnej podobe, predvolene sa ich snaží zobraziť ako hostname, sieťové menáalebo služby.
  • -x, --exact
    Zobraziť výstup príkazu list s presnými hodnotami počítadiel paketov a bytov a nie zaokrúhlené s príponou.
  • --line-numbers
    Čísluje riadky s pravidlami výpisu pravidiel, pričom číslo zodpovedá poradiu pravidla v reťazi.
  • --modprobe=príkaz
     Umožňuje v pravidle definovať príkaz pre načítanie potrebných modulov.

Príklady

Pridanie reťaze

 iptables -N fromINT 

Pridanie pravidla

iptables -A fromINT -j ACCEPT 

Vloženie pravidla

iptables -I  fromINT -j fromINT

Odstránenie reťaze

iptables -X  fromINT

Odstránenie pravidla

iptables -D fromINT -j fromINT 

Vyprázdnenie reťaze

iptables -F  fromINT

Výpis reťaze

Príklady výpisov pravidiel, a to s dodatočnými voľbami i bez nich.

 iptables -L fromINT
iptables -vnL fromINT
iptables -S fromINT
iptables -vS fromINT 

Nulovanie počítadiel

iptables -vnL fromINT -Z 

 

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!