Provided by:
manpages-pl_20060617-4_all 
NAZWA
ipchains - administracja zapor ogniow IP (IP firewall)
SK/LADNIA
ipchains -[ADC] lacuch specyfikacja-reguly [opcje]
ipchains -[RI] lacuch num-reg specyfikacja-reguly [opcje]
ipchains -D lacuch num-reg [opcje]
ipchains -[LFZNX] [lacuch] [opcje]
ipchains -P lacuch cel [opcje]
ipchains -M [ -L | -S ] [opcje]
OPIS
Ipchains jest uywany do ustawiania, podtrzymywania i przegldania regul
zapory ogniowej w jdrze Linuksa. Te reguly moemy podzieli na 4 rone
kategorie: lacuch wejciowy (IP input chain), lacuch wyjciowy (IP output
chain), lacuch przekazowy (IP forwarding chain) i lacuchy zdefiniowane
przez uytkownika.
Dla kadej z tych kategorii utrzymywana jest oddzielna tabela regul, z
ktorych kada moe odnosi si do jakiego lacucha regul zdefiniowanego
przez uytkownika.
Zobacz ipfw(4), by dowiedzie si wicej szczegolow.
CELE
Regula cianki ogniowej okrela kryteria dotyczce pakietu i celu. Jeli
pakiet nie pasuje do danej regulki, to sprawdzana jest nastpna w danym
lacuchu; jeli pakiet pasuje wtedy nastpna regulka jest okrelana przez
warto celu, ktora moe by nazw lacucha zdefiniowanego przez uytkownika
albo te jedn ze specjalnych wartoci ACCEPT, DENY, REJECT, MASQ,
REDIRECT lub RETURN.
ACCEPT oznacza, e naley przepuci pakiet. DENY oznacza, e naley pakiet
odrzuci. REJECT dziala podobnie jak odrzucenie, ale jest bardziej
"uprzejmy" i latwiejszy do wyledzenia, poniewa dodatkowo wysylany jest
do nadawcy zwrotny komunikat ICMP informujcy go, e pakiet nie zostal
przyjty. (Zauwa, e DENY i REJECT s tosame jeli mamy do czynienia z
pakietami ICMP).
MASQ jest wlaciwy tylko dla lacuchow przekazowych (forwarding) i
zdefiniowanych przez uytkownika. Moe by uyty tylko kiedy jdro jest
skompilowane z wlczon definicj CONFIG_IP_MASQUERADE. Przy uyciu tego
rodzaju celu wychodzce (lub przechodzce przez maszyn, np. pelnic funkcj
bramki) pakiety bd maskowane, tzn. w ten sposob zostan podmienione ich
adresy nadawcy jakby pochodzily one z maszyny lokalnej. Potem
przychodzce, zwrotne pakiety stanowice odpowiedzi na podmienione bd
automatycznie rozpoznawane i "demaskowane" z pominiciem lacucha
przekazowego.
REDIRECT jest wlaciwy tylko dla lacuchow wejciowych i zdefiniowanych
przez uytkownika i moe by uyty tylko kiedy jdro jest skompilowane z
wlczon definicj CONFIG_IP_TRANSPARENT_PROXY. W zwizku z tym pakiety bd
przekierowywane do lokalnego gniazda, nawet jeli byly one skierowane do
odleglej maszyny. Jeli podany jest port przekierowania 0, ktory jest
domyln wartoci to port docelowy pakietu bdzie uyty jako port
przekierowawczy. Kiedy ten cel jest uyty to podany moe by opcjonalnie
dodatkowy argument (numer portu wlanie).
Jeli osignity zostaje koniec zdefiniowanego przez uytkownika lacucha
albo wystpi regulka z celem o nazwie RETURN to sprawdzana jest nastpna
regula w poprzednim (wywolujcym) lacuchu. Jeli osignity zostaje koniec
wbudowanego lacucha, albo te wystpi regula z celem o nazwie RETURN to
dalszy los pakietu zaley od celu okrelonego przez polityk lacucha.
OPCJE
Opcje, ktore s rozpoznawane przez ipchains, moemy podzieli na kilka
ronych grup.
KOMENDY
Te opcje okrelaj specyficzne dzialanie, ktore ma by dokonane; tylko
jedna z tych opcji moe by podana w linii komend, z wyjtkiem opcji
opisanych poniej. Dla wszystkich tzw. dlugich opcji i dlugich wersji
komendy musisz wprowadzi jedynie tyle pierwszych znakow, eby ipchains
potrafilo odroni nazw podawanej opcji od innych.
-A, --append
Dolcza jedn lub wicej regul do koca podanego lacucha. Kiedy
nazwy rodel i/lub celow odnosz si do wicej ni jednego adresu to
regula bdzie dodana dla kadej moliwej kombinacji tego adresu.
-D, --delete
Usuwa jedn lub wicej regul z podanego lacucha. S tu dwie wersje
tej komendy: regula moe by okrelona za pomoc jej numeru w
lacuchu (zaczynajc od 1 dla pierwszej reguly) lub za pomoc
podanej reguly, do ktorej usuwana pasuje.
-R, --replace
Zamienia regul w wybranym lacuchu. Jeli nazwy rodla i/lub
przeznaczenia odnosz si do wielu ronych adresow to komenda
zawiedzie. Reguly s ponumerowane poczynajc od 1.
-I, --insert
Wstawia jedn lub wicej regul do okrelonego lacucha. Regul
wskazuje si za pomoc jej numeru. Jeli wic numerem reguly jest 1
to regula lub reguly s wstawiane na pocztek lacucha.
-L, --list
Wypisuje wszystkie reguly w podanym lacuchu. Jeeli nie
wyszczegolniono adnego lacucha, to pokazywane s wszystkie. Jest
poprawne podanie opcji -Z (zero), by nie istniala
konieczno/moliwo podawania lacucha. Dokladne wyjcie zaley od
innych wprowadzonych argumentow.
-F, --flush
Opronia podany lacuch. Jest to odpowiednik usunicia wszystkich
regul po kolei.
-Z, --zero
Zeruje liczniki pakietow i bajtow we wszystkich regulkach. Jest
poprawne podanie opcji -L, --list (list), aby ujrze zawartoci
licznikow tu przed ich oczyszczeniem; jeli jest to wykonane, to
nie moe by podany aden konkretny lacuch. (bd one wszystkie
wywietlone i oczyszczone).
-N, --new-chain
Tworzy nowy, zdefiniowany przez uytkownika lacuch pod podan
nazw. Musi to by nazwa unikatowa, nie przypisana do adnego
istniejcego lacucha.
-X, --delete-chain
Usuwa podany lacuch zdefiniowany przez uytkownika. Nie moe by
adnych odnonikow do lacucha w innych regulkach (jeli s to trzeba
je usun lub zastpi odpowiednimi regulkami zanim lacuch bdzie
mona usun). Jeli nie podany jest aden argument to potraktowane
zostanie to jako danie usunicia wszystkich niewbudowanych
lacuchow.
-P, --policy
Ustawia polityk lacucha podanego celu. Obejrzyj sekcj CELE, eby
pozna moliwe cele. Tylko lacuchy niedefiniowane przez uytkownika
mog mie tzw. polityki, jednake ani lacuchy wbudowane, ani
lacuchy zdefiniowane przez uytkownika nie mog by celami
polityki.
-M, --masquerading
Opcja ta umoliwia przegldanie polcze obecnie maskowanych (w
polczeniu z opcj -L) lub ustawianie parametrow maskujcych jdra
(w polczeniu z opcj -S).
-S, --set tcp tcpfin udp
Zmienia warto czasu oczekiwania uywan przy maskowaniu.
Polecenie to wymaga zawsze 3 parametrow, reprezentujcych wartoci
czasow przeterminowania (w sekundach) dla sesji TCP, sesji TCP
po odebraniu pakietu FIN i tak samo dla pakietow UDP. Warto
czasu ustawiona na 0 oznacza, e powinien zosta niezmieniony
poprzednio ustawiony parametr. Opcja ta jest dopuszczalna tylko
w kombinacji z flag -M.
-C, --check
Sprawdza jak podany pakiet bylby obsluony przez podany lacuch.
Jest to niezwykle uyteczne, gdy chodzi o testy, poniewa
wykonywane s te same dzialania, ktorych normalnie dokonuje jdro
by sprawdzi "prawdziwy" pakiet. Moe by to uyteczne, gdy trzeba
sprawdzi lacuchy zdefiniowane przez uytkownika jak te lacuchy
wbudowane. Przy konstruowaniu kontrolnego pakietu uywa mona
takich samych argumentow jak przy okrelaniu regul zapory
ogniowej. W szczegolnoci wymaganymi flagami s -s (adres rodla),
-d (adres przeznaczenia), -p (protokol) i -i (interfejs).
-h, --help
Pomoc. Podaje (na razie bardzo uproszczony) opis skladni
komendy. Uycie ze slowem icmp, spowoduje wypisanie listy nazw
ICMP.
-V, --version
Wywietla numer wersji ipchains.
PARAMETRY
Ponisze parametry dopelniaj okrelanie regul (uywane z poleceniami add,
delete, replace, append i check).
-p, --protocol[!] protok'o/l
Protokol reguly lub pakietu do sprawdzenia. Podany protokol moe
by jednym z tcp, udp, icmp, lub all, lub moe by wartoci liczbow,
reprezentujc jeden z tych lub inny protokol. Dopuszczalna jest
te nazwa protokolu z pliku /etc/protocols. Argument "!" przez
protokolem odwraca prob. Warto 0 odpowiada nazwie all. Protokol
all odpowiada wszystkim protokolom i jest ustawieniem domylnym,
gdy opcja ta jest pominita. All nie moe by uyte w polczeniu z
komend check.
-s, --source, --src [!] adres[/maska] [!] [port[:port]]
Okrelenie rodla. Adres moe by nazw hosta, nazw sieci lub te
samym adresem IP. Parametr maska moe by zarowno mask sieci jak
i samym numerem, okrelajcym pierwsz liczb z lewej strony maski
sieci. Wobec tego, maska 24 odpowiada 255.255.255.0. Argument
"!" przed podanym adresem odwraca znaczenie tego adresu.
W sklad rodla moe wchodzi okrelenie numeru portu lub typu
komunikatu ICMP. Moe to by zarowno nazwa uslugi, numeru portu,
typu ICMP w postaci liczby, jak i jedna z nazw typow ICMP, ktore
mona uzyska wydajc polecenie
ipchains -h icmp
Zauwa, e wiele z tych nazw ICMP odnosi si do obydwu - typu i
kodu, to znaczy, e kady kod ICMP po fladze -d jest niepoprawny.
W dalszej czci tego paragrafu, port oznacza zarowno okrelenie
numeru portu, jak i typ komunikatu ICMP. Moe by rownie podany
zakres alternatywny, zapisywany w formacie port:port. Jeli
pierwszy port jest pominity to przypisywana jest mu warto "0";
jeli drugi jest ominity to przypisywana jest warto "65535".
Porty mog by podane tylko w polczeniu z protokolami tcp, udp,
lub icmp. Znak "!" przed okreleniem portu odwraca znaczenie.
Gdy podano komend check, wymagajc tylko jednego portu, i jeeli
podano flag -f (fragmentuj) to nie s dopuszczalne adne porty.
--source-port [!] [port[:port]]
To pozwala na osobne podanie portu rodlowego lub zakresu portow.
Patrz opis flagi -s powyej po wicej szczegolow. Flaga --sport
jest zamiennikiem dla tej opcji.
-d, --destination, --dst [!] adres[/maska] [!] [port[:port]]
Okrelenie miejsca przeznaczenia. Obejrzyj opis flagi -s
(rodlo), by uzyska szczegolowy opis skladni. W przypadku ICMP, w
ktorym nie istnieje pojcie portow, "port docelowy" odnosi si do
liczbowego kodu ICMP.
--destination-port [!] [port[:port]]
To pozwala na osobne podawanie portow. Obejrzyj opis flagi -s
po wicej szczegolow. Flaga --dport jest zamiennikiem dla tej
opcji.
--icmp-type [!] typename
Pozwala to na podanie typu ICMP (uyj w polczeniu z opcj -h icmp,
by ujrze poprawne nazwy typow ICMP). Jest czsto bardziej wygodne
dolcza t opcj przy podawaniu miejsc przeznaczenia.
-j, --jump cel
Okrela cel reguly; np. co zrobi jeli pakiet spelnia podane w
regule kryteria. Celem moe by lacuch zdefiniowany przez
uytkownika (oczywicie nie ten, w ktorym jest ta regula) lub
jeden z celow specjalnych, ktore natychmiast decyduj o losie
pakietu. Jeli pominiemy w regule t opcj, to spelnienie przez
pakiet podanych kryteriow nie bdzie mialo wplywu na jego los,
ale liczniki tej reguly bd zwikszone.
-i, --interface [!] nazwa
Opcjonalna nazwa interfejsu, przez ktory pakiet jest odbierany
bd przez ktory pakiet bdzie wyslany. Gdy tej opcji nie podamy to
rozwaany jest cig pusty, ktory ma specjalne znaczenie i pasuje
do kadej nazwy interfejsu. Gdy przed nazw interfejsu uyjemy
argumentu "!" to odwraca to sens opcji. Jeli nazwa interfejsu
koczy si znakiem "+" to spelnione jest to dla wszystkich
interfejsow rozpoczynajcych si podan nazw.
[!] -f, --fragment
A to oznacza, e regula odnosi si jedynie do drugiego i kolejnych
fragmentow sfragmentowanych pakietow. Odkd nie ma moliwoci by
powiedzie o rodle lub portach docelowych takiego pakietu (albo
typu ICMP), pakiet ten nie bdzie pasowal do adnych regul
okrelajcych go. Gdy argument "!" poprzedza flag "-f" sens jest
odwrocony.
INNE OPCJE
Ponisze dodatkowe opcje mog take by uyte:
-b, --bidirectional
Tryb dwukierunkowy. Regula bdzie pasowa do pakietow IP w dwie
strony; da to taki sam efekt jak powtarzanie tej samej reguly
dla rodla i przeznaczenia zamienionych ze sob. Prosz zauway, e
NIE oznacza to, e jeeli pakiety TCP SYN bd dopuszczone na
wyjciu, to regula -b puci pakiety nie-SYN na wejciu: regula
odwrotna jest dokladnie taka sama jak regula, ktora zostala
wprowadzona. Oznacza to, e zazwyczaj lepiej jest po prostu unika
flagi -b i otwarcie podawa wszystkie reguly.
-v, --verbose
Krzykliwe wyjcie. Opcja ta powoduje, e komenda list pokazuje
adres interfejsu, opcje reguly (jeli s) i maski TOS. Pakiet i
liczniki bajtow s take wypisywane, z przedrostkiem 'K', 'M' lub
'G' odpowiednio dla 1000, 1,000,000 i 1,000,000,000
multiplikatorow (ale spojrz jeszcze na flag -x aby to zmieni).
Gdy uyte jest to w kombinacji z -M, to podana bdzie te
informacja odnoszca si do numerow sekwencji delta. Przy
dolczaniu, wstawianiu, usuwaniu i zastpowaniu, powoduje to
wywietlenie szczegolowej informacji dotyczcej reguly lub regul.
-n, --numeric
Wyjcie numeryczne. Adresy IP i numery portow bd wypisywane w
formacie liczbowym. Domylnie, program bdzie probowal wywietla
je jako nazwy hostow, nazwy sieci lub uslug (kiedy tylko daj si
zastosowa).
-l, --log
Wlcza w jdrze logowanie pasujcych pakietow. Gdy ta opcja jest
ustawiona dla reguly, jdro Linuksa wypisze informacj dotyczc
wszystkich pasujcych pakietow (czsto np. pasujcych naglowkow IP)
poprzez printk().
-o, --output [maxsize]
Kupiuje pasujce pakiety do urzdzenia w przestrzeni uytkownika.
Jest to obecnie czym istotnym dla tworcow, ktorzy chc bawi si w
efekty zapory ogniowej w przestrzeni uytkownika. Opcjonalny
argument maxsize moe by uyty by limitowa maksymaln liczb bajtow
z pakietu, z ktorego zostan skopiowane. Opcja ta jest poprawna
tylko wtedy, gdy jdro zostalo skompilowane z ustawieniem
CONFIG_IP_FIREWALL_NETLINK.
-m, --mark markvalue
Zaznacza pasujce pakiety. Pakiety mog by oznaczone 32-bitow
wartoci bez znaku, ktory moe (pewnego dnia) zmieni metod ich
wewntrznego traktowania. Jeli nie jeste kernel hackerem nie
powiniene zawraca sobie tym glowy. Jeli cig markvalue zaczyna si
znakiem + albo - to wtedy warto bdzie dodana lub te odjta do/od
obecnej wartoci zaznaczenia pakietu (ktora zaczyna si zerem).
-t, --TOS andmask xormask
Maski uywane przy modyfikowaniu pola TOS w naglowku IP. Gdy
pakiet pasuje do reguly, na jego polu TOS i pierwszej masce jest
najpierw obliczany iloczyn bitowy, a nastepnie ronica
symetryczna z drug mask. Maski powinny by podane jako
szesnastkowe wartoci omiobitowe. Jako e nie wolno zmienia LSB
pola (RFC 1349), wartoci TOS, ktore spowoduj tak zmian s
odrzucane tak samo, jak dowolne reguly ustawiajce zawsze wicej
ni jeden bit TOS. Reguly, ktore mog ustawia wicej ni jeden bit
TOS dla niektorych pakietow powoduj ostrzeenia (wysylane na
standardow diagnostyk), ktore mona zignorowa, jeli wiadomo, e
pakiety o takich wartociach TOS nigdy nie osign danej reguly.
Oczywicie manipulacja TOS jest nieistotna, gdy celem danej
reguly jest DENY lub REJECT.
-x, --exact
Rozszerzone wartoci numeryczne. Wywietla dokladn warto pakietu
i licznikow bajtow, zamiast tylko podawa zaokrglon warto w K
(wielokrotnoci 1000), M (wielokrotnoci 1000K) czy G
(wielokrotnoci 1000M). Opcja jest odpowiednia tylko dla
polecenia -L.
[!] -y, --syn
Dopasowuje tylko te pakiety TCP, ktore maj ustawiony bit SYN
oraz wyczyszczone bity ACK i FIN. Takie pakiety s uywane do
inicjalizacji polczenia TCP, wic na przyklad blokowanie takich
pakietow docierajcych do interfejsu spowoduje, e przychodzce
polczenia TCP bd odrzucane, ale nie bdzie mialo adnego wplywu na
polczenia wychodzce. Opcja ta ma znaczenia tylko jeeli typem
protokolu jest TCP. Jeeli "-y" zostanie poprzedzone przez flag
"!", to sens tej opcji zostanie odwrocony.
--line-numbers
Wywietlajc reguly, wywietla - na pocztku kadej reguly - numery
linii odpowiadajce pozycji reguly w lacuchu.
--no-warnings
Wylcza wypisywanie ostrzee.
PLIKI
/proc/net/ip_fwchains
/proc/net/ip_masquerade
DIAGNOSTYKA
Rone komunikaty o bldach s wypisywane na standardowe wyjcie bldow.
Kodem wyjcia jest 0, jeeli wszystko si powiedzie. Bldy, ktore wydaj si
by spowodowane bldnymi lub le uytymi argumentami linii polece, spowoduj
zwrocenie kodu wyjcia 2, a wszystkie inne bldy powoduj zwrocenie kodu
wyjcia 1.
USTERKI
Jeeli wejcie programu jest terminalem, regula jest dokladana bd
dolczana do lacucha przekazowego, a przekazywanie IP nie wydaje si by
wlczone i nie podano opcji --no-warnings, to na standardowe wyjcie jest
wypisywane ostrzeenie o tym, e przekazywanie nie bdzie dziala, dopoki
nie zostanie poprawione. Jest to po to, aby pomoc uytkownikom
niewiadomym tego wymogu (ktorego nie bylo w jdrach serii 2.0).
Nie mona skasowa licznikow pakietow i bajtow w jednym tylko lacuchu.
Wynika to z ogranicze jdra.
Wykrywanie zaptle nie jest obslugiwane w ipchains; pakiety w ptli s
upuszczane i notowane, lecz jest to jedyna rzecz jakiej si o tym
dowiesz jeli przypadkowo wytworzysz jak ptl.
Opis efektow zaznaczenia pakietu jest ogolnikowy, dopoki nie zostanie
wydana dokumentacja opisujca nowe procedury obslugi pakietow jdra 2.1.
Nie ma sposobu na to by wyzerowa liczniki polityki (np. te we
wbudowanych lacuchach).
UWAGI
To ipchains bardzo si roni od ipfwadm autorstwa Josa Vosa, jako e uywa
nowo powstalych tak zwanych drzew zapory ogniowej IP. Funkcjonalnie
jest zastpnikiem ipfwadm i generalnie zawsze obsluguje tamte polecenia.
Wierz, e nowe nazwy polece s bardziej racjonalne. Jest te jednake par
zmian, ktorych powiniene by wiadom.
Fragmenty s obslugiwane w inny sposob. Wszystkie fragmenty po pierwszym
s zazwyczaj przepuszczane (co zwykle jest bezpieczne); wtedy mog by
filtrowane. Oznacza to, e prawdopodobnie powiniene doda jawn regul
akceptujc fragmenty jeli dokonujesz konwersji. Spojrz wic na stare
reguly zliczajce, ktore sprawdzaj porty rodlowe i docelowe 0xFFFF (0xFF
w przypadku pakietow ICMP) - byl to stary sposob rozliczania
fragmentow.
Reguly zliczajce s teraz w prosty sposob zintegrowane z lacuchami
wejciowym i wyjciowym; moesz symulowa dawne zachowanie w taki sposob:
ipchains -N acctwe
ipchains -N acctwy
ipchains -N acctwewy
ipchains -I input -j acctwewy
ipchains -I input -j acctwe
ipchains -I output -j acctwewy
ipchains -I output -j acctwy
Stworzy to trzy zdefiniowane przez uytkownika lacuchy, acctwe, acctwy i
acctwewy, ktore mog zawiera dowolne reguly zliczajce (reguly te powinny
by podane bez flagi -j, wic pakiety te s w prosty sposob przepuszczane
w nienaruszonej postaci).
Cel MASQ lub REDIRECT przy starciu z brakiem miejsca na operacje jdra
(np. przy regule przekazujcej lub wejciowej) sprawi, e do syslog
zostanie wyslana odpowiednia wiadomo a pakiet bdzie odrzucony.
Stary sposob rozpoznawania SYN i ACK (ktory byl poprzednio ignorowany
dla pakietow innych ni TCP) ulegl zmianie; opcja SYN nie jest ju
poprawna dla regul innych ni dotyczcych TCP.
Opcja rozpoznawania ACK ( -k) nie jest ju wspierana; kombinacja ! i -y
jest jej zastpnikiem).
Nie jest ju moliwe okrelenie maski TOS, ktora ustawi lub wyzeruje
ostatni znaczcy bit TOS; poprzednio maski TOS byly po cichu zerowane
przez jdro jeli probowaly tego dokona.
Flaga -b jest teraz w prosty sposob obslugiwana poprzez wstawienie lub
usunicie pary regul, w tym jednej z odwroconym okreleniem adresu rodla
i adresu docelowego.
Nie ma moliwoci okrelenia interfejsu za pomoc jego adresu: uyj nazwy.
ZOBACZ TAKE
ipfw_chains(4), ipchains-save(8), ipchains-restore(8)
AUTOR
Paul ``Rusty'' Russell <ipchains@rustcorp.com>. Podzikowania dla Hansa
Perssona za dokonanie szczegolowej korekty; chcialbym, aby poprawial
wszystkie moje przyszle dokumenty!
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
8 lutego 1998 IPCHAINS(8)