Locked History Actions

Skirtumas „Iptables“

Pakeitimai tarp versijų 1 ir 7 (patvirtinamos 6 versijos)
Versija 1 nuo 2009-05-14 05:55:12
Dydis: 7162
Redaktorius: JuliusBukys
Komentaras:
Versija 7 nuo 2009-05-17 17:47:30
Dydis: 10971
Redaktorius: DmitrijAnisin
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 3: Eilutė 3:
Eilutė 6: Eilutė 5:
Eilutė 9: Eilutė 7:
Iptables – tai vartotojo aplinkos komandinė programa naudojama Linux 2.4.x ir 2.6.x IPv4 paketų filtravimo taisyklių konfigūravimui. Iptables taip pat naudojamas NAT (angl. Network Address Translation) taisyklių rašymui. Šią komandą daugiausiai naudoja sistemų administratoriai, nes reikalingos root teisės.  Iptables – tai vartotojo aplinkos komandinė programa naudojama Linux 2.4.x ir 2.6.x IPv4 paketų filtravimo taisyklių konfigūravimui. Iptables taip pat naudojamas NAT (angl. Network Address Translation) taisyklių rašymui. Šią komandą daugiausiai naudoja sistemų administratoriai, nes reikalingos root teisės.
Eilutė 11: Eilutė 10:
Eilutė 14: Eilutė 12:
 . '''iptables [-t table] -[AD]''' chain rule-specification [options]<<BR>> '''iptables [-t table] -I''' chain [rulenum] rule-specification [options]<<BR>> '''iptables [-t table] -R''' chain rulenum rule-specification [options]<<BR>> '''iptables [-t table] -D''' chain rulenum [options]<<BR>> '''iptables [-t table] -[LFZ]''' [chain] [options]<<BR>> '''iptables [-t table] -N''' chain<<BR>> '''iptables [-t table] -X''' [chain]<<BR>> '''iptables [-t table] -P''' chain target [options]<<BR>> '''iptables [-t table] -E''' old-chain-name new-chain-name<<BR>>
Eilutė 15: Eilutė 14:
 '''iptables [-t table] -[AD]''' chain rule-specification [options]<<BR>>
 '''iptables [-t table] -I''' chain [rulenum] rule-specification [options]<<BR>>
 '''iptables [-t table] -R''' chain rulenum rule-specification [options]<<BR>>
 '''iptables [-t table] -D''' chain rulenum [options]<<BR>>
 '''iptables [-t table] -[LFZ]''' [chain] [options]<<BR>>
 '''iptables [-t table] -N''' chain<<BR>>
 '''iptables [-t table] -X''' [chain]<<BR>>
 '''iptables [-t table] -P''' chain target [options]<<BR>>
 '''iptables [-t table] -E''' old-chain-name new-chain-name<<BR>>
=== Nustatymai ===
 . -t table<<BR>>

Nurodo į kurią lentelę turi patekti paketas. Lentelės gali būti: filter, nat, mangle, raw.<<BR>>

 . -A, --append<<BR>>

(liet. pridėti, priskirti) prie iptable lentelės prideda nurodytus parametrus, pavyzdžiui '''iptables –A INPUT ACCEPT'''. Tokia komanda nurodo, kad reikia priimti visus įeinančius paketus. Jei yra nurodoma daugiau taisyklių, visõs komandos gale yra nurodoma, ar paketas, atitinkantis tas taisykles, bus priimamas (ACCEPT) ar atmetamas (DROP). Tai galima įgyvendinti rašant '''–j ACCEPT''', pavyzdžiui:<<BR>> {{{iptables –A INPUT –d 192.168.10.168 –p tcp –dport 443 –j ACCEPT}}}<<BR>>

 . -D, --delete<<BR>>

Ištrinti vieną ar daugiau taisyklių iš nurodytos grandinės.

Komanda turi du užrašymo formatus, pirmas – kai nurodomas palyginimo kriterijus su opcija –D, antras – kai su opcija –D nurodomas taisyklės eilės numeris grandinėje. Jei nurodomas palyginimo kriterijus, tai yra pašalinama taisyklė, kuri savyje turi tokį kriterijų; jei nurodomas taisyklės eilės numeris, tai bus pašalinta taisyklė su nurodytu numeriu. Taisyklių skaičiavimas grandinėje pradedamas nuo 1. Pavyzdžiai: iptables –D INPUT --dport 80 –j DROP, iptables –D INPUT 1<<BR>>

 . -I, --insert<<BR>>
Eilutė 26: Eilutė 32:
=== Nustatymai ===
 -t table<<BR>>
Nurodo į kurią lentelę turi patekti paketas. Lentelės gali būti: filter, nat, mangle, raw.<<BR>>
 -A, --append<<BR>>
Pridėti vieną ar daugiau taisyklių prie nurodytos grandinės galo.<<BR>>
 -D, --delete<<BR>>
Ištrinti vieną ar daugiau taisyklių iš nurodytos grandinės.<<BR>>
 -I, --insert<<BR>>
---- /!\ '''Edit conflict - other version:''' ----
 . –P, --policy<<BR>>
Eilutė 35: Eilutė 36:
 -R, --replace<<BR>>
Bazinių tarpsegmentinio ekrano politikų nustatymas sudaro pagrindą išsamesnių, labiau apibrėžiamų vartotojo taisyklių sudarymui. Taisyklių pagal nutylėjimą sudarymui iptables naudojamos politikos (-P). Iptables –P, --policy nustato politiką pagal nutylėjimą užduotai grandinėlei. Politika pagal nutylėjimą apibrėžia veiksmą, taikomą paketams, kurių nepaveikė ne viena iš grandinėlės taisyklių. Kaip politiką pagal nutylėjimą galima naudoti DROP ir ACCEPT.
Besirūpinantys saugumu administratoriai įprastai naudoja visų paketų atmetimo politiką ir leidžiančias taisykles kuria tik konkretiems atvejams. Pateiktos taisyklės blokuoja visus įeinančius ir išeinančius paketus:
 iptables -P INPUT DROP
iptables -P OUTPUT DROP

Be to rekomenduojama, kad visi persiunčiami paketai būtų taip pat uždrausti – tai apsaugos vidaus klientus nuo nepageidaujamo Interneto poveikio. Tam reikia pridėti šią taisyklę:
 iptables -P FORWARD DROP
 
 Apibrėžus politikos grandinėles, galima kurti naujas taisykles konkrečiam tinklui ir konkretiems saugumo reikalavimams.


---- /!\ '''Edit conflict - your version:''' ----
Įterpti į grandinę vieną ar daugiau taisyklių nurodytoje vietoje. Jei nurodytas skaičius 1, tuomet taisyklė bus įterpta pačiame grandinės viršuje. Jei skaičius nenurodytas, pagal nutylėjimą parenkamas 1.<<BR>>


 . –P, --policy<<BR>>

Bazinių tarpsegmentinio ekrano politikų nustatymas sudaro pagrindą išsamesnių, labiau apibrėžiamų vartotojo taisyklių sudarymui. Taisyklių pagal nutylėjimą sudarymui iptables naudojamos politikos (-P). Iptables –P, --policy nustato politiką pagal nutylėjimą užduotai grandinėlei. Politika pagal nutylėjimą apibrėžia veiksmą, taikomą paketams, kurių nepaveikė nei viena iš grandinėlės taisyklių. Kaip politiką pagal nutylėjimą galima naudoti DROP ir ACCEPT.
Besirūpinantys saugumu administratoriai įprastai naudoja visų paketų atmetimo politiką ir leidžiančias taisykles kuria tik konkretiems atvejams. Pateiktos taisyklės blokuoja visus įeinančius ir išeinančius paketus:
''iptables -P INPUT DROP''
''iptables -P OUTPUT DROP''

Be to rekomenduojama, kad visi persiunčiami paketai būtų taip pat uždrausti – tai apsaugos vidaus klientus nuo nepageidaujamo Interneto poveikio. Tam reikia pridėti šią taisyklę:
''iptables -P FORWARD DROP''

Apibrėžus politikos grandinėles, galima kurti naujas taisykles konkrečiam tinklui ir konkretiems saugumo reikalavimams.<<BR>>


---- /!\ '''End of edit conflict''' ----

 . -R, --replace<<BR>>
Eilutė 37: Eilutė 70:
 -L, --list<<BR>>
 .
-L, --list<<BR>>
Eilutė 39: Eilutė 74:
 iptables -t nat -n –L<<BR>>
 .
iptables -t nat -n –L<<BR>>
Eilutė 41: Eilutė 78:
 -F, --flush<<BR>>
 .
-F, --flush<<BR>>
Eilutė 43: Eilutė 82:
 -Z, --zero<<BR>>
 .
-Z, --zero<<BR>>
Eilutė 45: Eilutė 86:
 -N, --new-chain<<BR>>
 .
-N, --new-chain<<BR>>
Eilutė 47: Eilutė 90:
 -X, --delete-chain<<BR>>
 .
-X, --delete-chain<<BR>>
Eilutė 49: Eilutė 94:
 -E, --rename-chain<<BR>>
 .
-E, --rename-chain<<BR>>
Eilutė 53: Eilutė 100:
 -p, --protocol<<BR>>  . -p, --protocol<<BR>>
Eilutė 55: Eilutė 103:
 -s, --source<<BR>>
 .
-s, --source<<BR>>
Eilutė 57: Eilutė 107:
 -d, --destination<<BR>>
 .
-d, --destination<<BR>>
Eilutė 59: Eilutė 111:
 -j, --jump<<BR>>
 .
-j, --jump<<BR>>
Eilutė 61: Eilutė 115:
 -g, --goto<<BR>>
 .
-g, --goto<<BR>>
Eilutė 63: Eilutė 119:
 -i, --in-interface<<BR>>
 .
-i, --in-interface<<BR>>
Eilutė 65: Eilutė 123:
 -o, --out-interface<<BR>>
 .
-o, --out-interface<<BR>>
Eilutė 67: Eilutė 127:
 -f, --fragments<<BR>>
 .
-f, --fragments<<BR>>
Eilutė 69: Eilutė 131:
 -c, --set-counters<<BR>>
 .
-c, --set-counters<<BR>>
Eilutė 72: Eilutė 136:
Pavyzdžiui:<<BR>>
Srautas account iš/į 192.168.0.0/24 tinklo(-ą) į lentelę mynetwork: <<BR>>
{{{# iptables -A FORWARD -m account --aname mynetwork --aaddr 192.168.0.0/24 }}}<<BR>>
Pavyzdžiui:<<BR>>  Srautas account iš/į 192.168.0.0/24 tinklo(-ą) į lentelę mynetwork: <<BR>>  {{{# iptables -A FORWARD -m account --aname mynetwork --aaddr 192.168.0.0/24 }}}<<BR>>
Eilutė 76: Eilutė 138:
Srautas account į/iš WWW serverio 192.168.0.0/24 tinklo į lentelę mywwwserver: <<BR>>
{{{# iptables -A INPUT -p tcp --dport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort }}}<<BR>>
{{{# iptables -A OUTPUT -p tcp --sport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort}}}
Srautas account į/iš WWW serverio 192.168.0.0/24 tinklo į lentelę mywwwserver: <<BR>>  {{{# iptables -A INPUT -p tcp --dport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort }}}<<BR>>  {{{# iptables -A OUTPUT -p tcp --sport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort}}}
Eilutė 80: Eilutė 140:
IP lenteles sudaro taisyklių grandinės (angl. chains), kurios nusako kaip elgtis su tam tikrais paketais. Kiekviena grandinė atlieką skirtingą paketo apdirbimą, o paketai, priklausomai taisyklių, gali keliauti iš vienos grandinės į kitą. Kiekvienas paketas, nepriklausomai ar jis gaunamas ar siunčiamas pereiną bent per vieną grandinę.
Yra trys pagal nutylėjimą numatytos grandinės (INPUT, OUTPUT ir FORWARD) filtravimo lentelėje. Šios grandinės gali turėti tam tikrus nustatymus, pavyzdžiui DROP – paketas yra išmetamas, kai pasiekia grandinės galą. Jei paketas pasiekia grandinės galą jis yra grąžinamas į jį iškvietusią grandinę.<<BR>>
Kiekviena grandinės taisyklė turi tam tikras specifikacijas kokiems paketams ji skirta. Atėjus paketui, jis yra tikrinamas kiekvienos taisyklės paeiliui. Jei taisyklė paketui netinka, jis yra perduodamas sekančiai taisyklei. Jei taisyklė tinka paketui, yra įvykdomas taisyklėje nurodytas veiksmas ir paketas praleidžiamas arba ne.<<BR>>
Paketas keliauja grandine, kol:
IP lenteles sudaro taisyklių grandinės (angl. chains), kurios nusako kaip elgtis su tam tikrais paketais. Kiekviena grandinė atlieką skirtingą paketo apdirbimą, o paketai, priklausomai taisyklių, gali keliauti iš vienos grandinės į kitą. Kiekvienas paketas, nepriklausomai ar jis gaunamas ar siunčiamas pereiną bent per vieną grandinę. Yra trys pagal nutylėjimą numatytos grandinės (INPUT, OUTPUT ir FORWARD) filtravimo lentelėje. Šios grandinės gali turėti tam tikrus nustatymus, pavyzdžiui DROP – paketas yra išmetamas, kai pasiekia grandinės galą. Jei paketas pasiekia grandinės galą jis yra grąžinamas į jį iškvietusią grandinę.<<BR>> Kiekviena grandinės taisyklė turi tam tikras specifikacijas kokiems paketams ji skirta. Atėjus paketui, jis yra tikrinamas kiekvienos taisyklės paeiliui. Jei taisyklė paketui netinka, jis yra perduodamas sekančiai taisyklei. Jei taisyklė tinka paketui, yra įvykdomas taisyklėje nurodytas veiksmas ir paketas praleidžiamas arba ne.<<BR>> Paketas keliauja grandine, kol:
Eilutė 85: Eilutė 143:
 2. Taisyklė iškviečia RETURN reikšmę (grįžtą į ją iškvietusią grandinę);
 3. Pasiekiama grandinės pabaiga.
 1. Taisyklė iškviečia RETURN reikšmę (grįžtą į ją iškvietusią grandinę);
 1. Pasiekiama grandinės pabaiga.
Eilutė 88: Eilutė 146:
Pavyzdys<<BR>>
Čia pateikiamas pavyzdys jau sukonfigūruotos ugniasienės. Komanda „iptables –L“ yra paleidžiama root vartotojo tam, kad būtų išvesta iptables konfigūracija.<<BR>>
Pavyzdys<<BR>>  Čia pateikiamas pavyzdys jau sukonfigūruotos ugniasienės. Komanda „iptables –L“ yra paleidžiama root vartotojo tam, kad būtų išvesta iptables konfigūracija.<<BR>>
Eilutė 94: Eilutė 151:
target prot opt source destination         
ACCEPT all -- localhost.localdomain localhost.localdomain 
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 
REJECT all -- anywhere anywhere            
target prot opt source destination
ACCEPT all -- localhost.localdomain localhost.localdomain
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
REJECT all -- anywhere anywhere
Eilutė 100: Eilutė 157:
target prot opt source destination          target prot opt source destination
Eilutė 103: Eilutė 160:
target prot opt source destination          target prot opt source destination
Eilutė 105: Eilutė 162:

RELATED ir ESTABLISHED taisyklės reikalingos tvarkingam kliento programų (interneto naršyklės, ssh ir kt.) veikimui.<<BR>>
Kompiuteris neatsako į ping ar kitokias užklausas, visi prisijungimai yra atmetami (REJECT) arba baigiasi jų galiojimo laikas (DROP) kai yra skanuojami prievadai.
RELATED ir ESTABLISHED taisyklės reikalingos tvarkingam kliento programų (interneto naršyklės, ssh ir kt.) veikimui.<<BR>> Kompiuteris neatsako į ping ar kitokias užklausas, visi prisijungimai yra atmetami (REJECT) arba baigiasi jų galiojimo laikas (DROP) kai yra skanuojami prievadai.
Eilutė 115: Eilutė 170:
Eilutė 123: Eilutė 177:

Peradresavimo pavyzdys<<BR>>
Šis pavyzdys parodo, kaip galima peradresuoti visą srautą iš HTTP 80 prievado į 8080 prievadą:
Peradresavimo pavyzdys<<BR>>  Šis pavyzdys parodo, kaip galima peradresuoti visą srautą iš HTTP 80 prievado į 8080 prievadą:
Eilutė 130: Eilutė 182:
Eilutė 133: Eilutė 184:
http://linux.die.net/man/8/iptables <<BR>> http://en.wikipedia.org/wiki/Iptables <<BR>> http://pixel.lt/iptables-naudojimas.html
Eilutė 135: Eilutė 187:

Eilutė 138: Eilutė 188:
CategoryŽodis  . CategoryŽodis

Iptables

IP lentelės


Apibrėžimas

Iptables – tai vartotojo aplinkos komandinė programa naudojama Linux 2.4.x ir 2.6.x IPv4 paketų filtravimo taisyklių konfigūravimui. Iptables taip pat naudojamas NAT (angl. Network Address Translation) taisyklių rašymui. Šią komandą daugiausiai naudoja sistemų administratoriai, nes reikalingos root teisės.


Iptables sintaksė:

  • iptables [-t table] -[AD] chain rule-specification [options]
    iptables [-t table] -I chain [rulenum] rule-specification [options]
    iptables [-t table] -R chain rulenum rule-specification [options]
    iptables [-t table] -D chain rulenum [options]
    iptables [-t table] -[LFZ] [chain] [options]
    iptables [-t table] -N chain
    iptables [-t table] -X [chain]
    iptables [-t table] -P chain target [options]
    iptables [-t table] -E old-chain-name new-chain-name

Nustatymai

  • -t table

Nurodo į kurią lentelę turi patekti paketas. Lentelės gali būti: filter, nat, mangle, raw.

  • -A, --append

(liet. pridėti, priskirti) prie iptable lentelės prideda nurodytus parametrus, pavyzdžiui iptables –A INPUT ACCEPT. Tokia komanda nurodo, kad reikia priimti visus įeinančius paketus. Jei yra nurodoma daugiau taisyklių, visõs komandos gale yra nurodoma, ar paketas, atitinkantis tas taisykles, bus priimamas (ACCEPT) ar atmetamas (DROP). Tai galima įgyvendinti rašant –j ACCEPT, pavyzdžiui:
iptables –A INPUT –d 192.168.10.168 –p tcp –dport 443 –j ACCEPT

  • -D, --delete

Ištrinti vieną ar daugiau taisyklių iš nurodytos grandinės.

Komanda turi du užrašymo formatus, pirmas – kai nurodomas palyginimo kriterijus su opcija –D, antras – kai su opcija –D nurodomas taisyklės eilės numeris grandinėje. Jei nurodomas palyginimo kriterijus, tai yra pašalinama taisyklė, kuri savyje turi tokį kriterijų; jei nurodomas taisyklės eilės numeris, tai bus pašalinta taisyklė su nurodytu numeriu. Taisyklių skaičiavimas grandinėje pradedamas nuo 1. Pavyzdžiai: iptables –D INPUT --dport 80 –j DROP, iptables –D INPUT 1

  • -I, --insert


/!\ Edit conflict - other version:


  • –P, --policy

Įterpti į grandinę vieną ar daugiau taisyklių nurodytoje vietoje. Jei nurodytas skaičius 1, tuomet taisyklė bus įterpta pačiame grandinės viršuje. Jei skaičius nenurodytas, pagal nutylėjimą parenkamas 1.

Bazinių tarpsegmentinio ekrano politikų nustatymas sudaro pagrindą išsamesnių, labiau apibrėžiamų vartotojo taisyklių sudarymui. Taisyklių pagal nutylėjimą sudarymui iptables naudojamos politikos (-P). Iptables –P, --policy nustato politiką pagal nutylėjimą užduotai grandinėlei. Politika pagal nutylėjimą apibrėžia veiksmą, taikomą paketams, kurių nepaveikė ne viena iš grandinėlės taisyklių. Kaip politiką pagal nutylėjimą galima naudoti DROP ir ACCEPT. Besirūpinantys saugumu administratoriai įprastai naudoja visų paketų atmetimo politiką ir leidžiančias taisykles kuria tik konkretiems atvejams. Pateiktos taisyklės blokuoja visus įeinančius ir išeinančius paketus:

  • iptables -P INPUT DROP

iptables -P OUTPUT DROP

Be to rekomenduojama, kad visi persiunčiami paketai būtų taip pat uždrausti – tai apsaugos vidaus klientus nuo nepageidaujamo Interneto poveikio. Tam reikia pridėti šią taisyklę:

  • iptables -P FORWARD DROP
    • Apibrėžus politikos grandinėles, galima kurti naujas taisykles konkrečiam tinklui ir konkretiems saugumo reikalavimams.


/!\ Edit conflict - your version:


Įterpti į grandinę vieną ar daugiau taisyklių nurodytoje vietoje. Jei nurodytas skaičius 1, tuomet taisyklė bus įterpta pačiame grandinės viršuje. Jei skaičius nenurodytas, pagal nutylėjimą parenkamas 1.

  • –P, --policy

Bazinių tarpsegmentinio ekrano politikų nustatymas sudaro pagrindą išsamesnių, labiau apibrėžiamų vartotojo taisyklių sudarymui. Taisyklių pagal nutylėjimą sudarymui iptables naudojamos politikos (-P). Iptables –P, --policy nustato politiką pagal nutylėjimą užduotai grandinėlei. Politika pagal nutylėjimą apibrėžia veiksmą, taikomą paketams, kurių nepaveikė nei viena iš grandinėlės taisyklių. Kaip politiką pagal nutylėjimą galima naudoti DROP ir ACCEPT. Besirūpinantys saugumu administratoriai įprastai naudoja visų paketų atmetimo politiką ir leidžiančias taisykles kuria tik konkretiems atvejams. Pateiktos taisyklės blokuoja visus įeinančius ir išeinančius paketus: iptables -P INPUT DROP iptables -P OUTPUT DROP

Be to rekomenduojama, kad visi persiunčiami paketai būtų taip pat uždrausti – tai apsaugos vidaus klientus nuo nepageidaujamo Interneto poveikio. Tam reikia pridėti šią taisyklę: iptables -P FORWARD DROP

Apibrėžus politikos grandinėles, galima kurti naujas taisykles konkrečiam tinklui ir konkretiems saugumo reikalavimams.


/!\ End of edit conflict


  • -R, --replace

Pakeičia taisyklę nurodytoje grandinėje.

  • -L, --list

Parodo visas taisykles pasirinktoje grandinėje. Jei nėra pasirinkta nei viena grandinė, išvedamos visos. Pavyzdžiui NAT taisykles galima išvesti naudojant komandą:

  • iptables -t nat -n –L

Čia –n nurodo, kad nebūtų naudojami ilgai užtrunkantys DNS tikrinimai.

  • -F, --flush

Išvalo nurodytą grandinę (arba visas, jei nenurodyta).

  • -Z, --zero

Nunulina visus paketų ir bitų skaitliukus visose grandinėse.

  • -N, --new-chain

Sukuria naują vartotojo grandinę.

  • -X, --delete-chain

Ištrina nurodytą vartotojo sukurtą grandinę. Ši grandinė turi būti nenaudojama, arba visi jos panaudojimai turi būti pakeisti, kitaip bus neleidžiama ištrinti tos grandinės.

  • -E, --rename-chain

Pervadina vartotojo nurodytą grandinę.

Parametrai

  • -p, --protocol

Nurodomas protokolas naudojamas pakete.

  • -s, --source

Nurodo iš kur turi ateiti paketas.

  • -d, --destination

Nurodo kur keliauja paketas.

  • -j, --jump

Nurodo taisyklės tikslą, t.y. ką daryti, kai paketas atitinka taisyklę. Tikslas gali būti vartotojo sukurta grandinė arba jau pagal nutylėjimą esami veiksmai, kurie nulemia tolimesnę paketo eigą.

  • -g, --goto

Nurodo, kad tolimesnis apdorojimas turi būti perkeltas į vartotojo nurodytą grandinę.

  • -i, --in-interface

Nurodo sąsają iš kurios paketas buvo gautas.

  • -o, --out-interface

Nurodo sąsają iš kurios paketas bus siunčiamas.

  • -f, --fragments

Nurodo, kad taisyklė bus taikoma tik antrajam ir tolimesniam paketui iš fragmentuotų paketų eilės.

  • -c, --set-counters

Leidžia administratoriui nurodyti koks turi būti paketų ir bitų skaitliuko dydis.

Pavyzdžiui:
Srautas account iš/į 192.168.0.0/24 tinklo(-ą) į lentelę mynetwork:
# iptables -A FORWARD -m account --aname mynetwork --aaddr 192.168.0.0/24 

Srautas account į/iš WWW serverio 192.168.0.0/24 tinklo į lentelę mywwwserver:
# iptables -A INPUT -p tcp --dport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort 
# iptables -A OUTPUT -p tcp --sport 80 -m account --aname mywwwserver --aaddr 192.168.0.0/24 --ashort

IP lenteles sudaro taisyklių grandinės (angl. chains), kurios nusako kaip elgtis su tam tikrais paketais. Kiekviena grandinė atlieką skirtingą paketo apdirbimą, o paketai, priklausomai taisyklių, gali keliauti iš vienos grandinės į kitą. Kiekvienas paketas, nepriklausomai ar jis gaunamas ar siunčiamas pereiną bent per vieną grandinę. Yra trys pagal nutylėjimą numatytos grandinės (INPUT, OUTPUT ir FORWARD) filtravimo lentelėje. Šios grandinės gali turėti tam tikrus nustatymus, pavyzdžiui DROP – paketas yra išmetamas, kai pasiekia grandinės galą. Jei paketas pasiekia grandinės galą jis yra grąžinamas į jį iškvietusią grandinę.
Kiekviena grandinės taisyklė turi tam tikras specifikacijas kokiems paketams ji skirta. Atėjus paketui, jis yra tikrinamas kiekvienos taisyklės paeiliui. Jei taisyklė paketui netinka, jis yra perduodamas sekančiai taisyklei. Jei taisyklė tinka paketui, yra įvykdomas taisyklėje nurodytas veiksmas ir paketas praleidžiamas arba ne.
Paketas keliauja grandine, kol:

  1. Taisyklė tiko paketui ir jį praleido arba atmetė (ACCEPT arba DROP);
  2. Taisyklė iškviečia RETURN reikšmę (grįžtą į ją iškvietusią grandinę);
  3. Pasiekiama grandinės pabaiga.

Pavyzdys
Čia pateikiamas pavyzdys jau sukonfigūruotos ugniasienės. Komanda „iptables –L“ yra paleidžiama root vartotojo tam, kad būtų išvesta iptables konfigūracija.

# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  localhost.localdomain  localhost.localdomain
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
REJECT     all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

RELATED ir ESTABLISHED taisyklės reikalingos tvarkingam kliento programų (interneto naršyklės, ssh ir kt.) veikimui.
Kompiuteris neatsako į ping ar kitokias užklausas, visi prisijungimai yra atmetami (REJECT) arba baigiasi jų galiojimo laikas (DROP) kai yra skanuojami prievadai.

$  ping -c 1 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
--- 62.78.243.6 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Bandant prisijungti prie HTTP 80 prievado:

$ telnet 10.0.0.1 80
Trying 10.0.0.1...
telnet: connect to address 10.0.0.1: Connection refused

Peradresavimo pavyzdys
Šis pavyzdys parodo, kaip galima peradresuoti visą srautą iš HTTP 80 prievado į 8080 prievadą:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080


Naudota literatūra

http://linux.die.net/man/8/iptables
http://en.wikipedia.org/wiki/Iptables
http://pixel.lt/iptables-naudojimas.html