Provided by: manpages-ro_4.28.0-2_all 

NUME
iptables/ip6tables — instrument de administrare pentru filtrarea pachetelor IPv4/IPv6 și NAT
SINOPSIS
iptables [-t tabel] {-A|-C|-D|-V} lanț definiție-regulă
ip6tables [-t tabel] {-A|-C|-D|-V} lanț definiție-regulă
iptables [-t tabel] -I lanț [număr-regulă] definiție-regulă
iptables [-t tabel] -R lanț număr-regulă definiție-regulă
iptables [-t tabel] -D lanț definiție-regulă
iptables [-t tabel] -S [lanț [definiție-regulă]]
iptables [-t tabel] {-F|-L|-Z} [lanț [număr-regulă]] [opțiuni...]
iptables [-t tabel] -N lanț
iptables [-t tabel] -X [lanț]
iptables [-t tabel] -P lanț politică
iptables [-t tabel] -E nume-lanț-vechi nume-lanț-nou
rule-specification = [potriviri...] [ținta]
potrivire = -m nume-potrivire [opțiuni-per-potrivire]
ținta = -j nume-țintă [opțiuni-per-țintă]
DESCRIERE
iptables și ip6tables sunt utilizate pentru a configura, întreține și inspecta tabelele de reguli de
filtrare a pachetelor IPv4 și IPv6 din nucleul Linux. Pot fi definite mai multe tabele diferite. Fiecare
tabel conține un număr de lanțuri încorporate și poate conține, de asemenea, lanțuri definite de
utilizator.
Fiecare lanț este o listă de reguli care se potrivesc cu un set de pachete. Fiecare regulă specifică ce
trebuie făcut cu un pachet care se potrivește. Aceasta se numește „țintă”, care poate fi un salt la un
lanț definit de utilizator în același tabel.
ȚINTE
O regulă de paravan de protecție specifică criteriile pentru un pachet și o țintă. Dacă pachetul nu se
potrivește, este examinată următoarea regulă din lanț; dacă se potrivește, următoarea regulă este
specificată de valoarea țintei, care poate fi numele unui lanț definit de utilizator, una dintre țintele
descrise în iptables-extensions(8) sau una dintre valorile speciale ACCEPT, DROP sau RETURN.
ACCEPT înseamnă că pachetul trebuie lăsat să treacă. DROP înseamnă să respingă pachetul. RETURN înseamnă
oprirea parcurgerii acestui lanț și reluarea la următoarea regulă din lanțul anterior (de apelare). În
cazul în care se ajunge la sfârșitul unui lanț încorporat sau dacă o regulă dintr-un lanț încorporat cu
ținta RETURN se potrivește, ținta specificată de politica lanțului determină soarta pachetului.
TABELE
În prezent, există cinci tabele independente (tabelele care sunt prezente în orice moment depind de
opțiunile de configurare a nucleului și de modulele care sunt prezente).
-t, --table tabel
Această opțiune specifică tabelul de potrivire a pachetelor pe care trebuie să opereze comanda.
Dacă nucleul este configurat cu încărcare automată a modulelor, se va încerca încărcarea modulului
corespunzător pentru acest tabel, dacă acesta nu este deja încărcat.
Tabelele sunt următoarele:
filter:
Acesta este tabelul implicit (în cazul în care nu este indicată opțiunea -t). Acesta conține
lanțurile încorporate INPUT (pentru pachetele destinate soclurilor locale), FORWARD (pentru
pachetele care sunt direcționate prin mașină pentru alte gazde din rețea) și OUTPUT (pentru
pachetele generate local).
nat:
Acest tabel este consultat atunci când se întâlnește un pachet care creează o nouă conexiune.
Acesta este format din patru elemente integrate: PREROUTING (pentru modificarea pachetelor
imediat ce intră), INPUT ( pentru modificarea pachetelor destinate soclurilor locale), OUTPUT
(pentru modificarea pachetelor generate la nivel local înainte de rutare) și POSTROUTING
(pentru modificarea pachetelor în momentul în care sunt pe cale să iasă). Suportul IPv6 NAT
este disponibil începând cu nucleul 3.7.
mangle:
Acest tabel este utilizat pentru modificarea specializată a pachetelor. Până la nucleul 2.4.17
avea două lanțuri încorporate: PREROUTING (pentru modificarea pachetelor primite înainte de
rutare) și OUTPUT (pentru modificarea pachetelor generate local înainte de rutare). Începând
cu nucleul 2.4.18, sunt acceptate și alte trei lanțuri încorporate: INPUT ( pentru pachetele
care intră în propria mașină), FORWARD (pentru modificarea pachetelor care sunt direcționate
prin mașină) și POSTROUTING (pentru modificarea pachetelor care urmează să iasă).
raw:
Acest tabel este utilizat în principal pentru configurarea excepțiilor de la urmărirea
conexiunilor în combinație cu obiectivul NOTRACK. Se înregistrează la cârligele netfilter cu o
prioritate mai mare și, prin urmare, este apelat înainte de ip_conntrack, sau de orice alte
tabele IP. Oferă următoarele lanțuri încorporate: PREROUTING (pentru pachetele care sosesc
prin orice interfață de rețea) și OUTPUT (pentru pachetele generate de procesele locale).
security:
Acest tabel este utilizat pentru regulile de rețea ale controlului de acces obligatoriu
(„Mandatory Access Control”: MAC), cum ar fi cele activate de obiectivele SECMARK și
CONNSECMARK. Controlul de acces obligatoriu este implementat de modulele de securitate Linux,
cum ar fi SELinux. Tabelul de securitate este apelat după tabelul de filtrare, permițând ca
orice reguli de control discreționar al accesului (DAC) din tabelul de filtrare să intre în
vigoare înaintea regulilor MAC. Acest tabel oferă următoarele lanțuri încorporate: INPUT
(pentru pachetele care intră în mașină), OUTPUT (pentru modificarea pachetelor generate local
înainte de direcționare) și FORWARD (pentru modificarea pachetelor care sunt direcționate prin
mașină).
OPȚIUNI
Opțiunile care sunt recunoscute de iptables și ip6tables pot fi împărțite în mai multe grupuri diferite.
COMENZI
Aceste opțiuni specifică acțiunea dorită de efectuat. Numai una dintre ele poate fi specificată în linia
de comandă, cu excepția cazului în care se specifică altfel mai jos. Pentru versiunile lungi ale numelor
comenzilor și opțiunilor, trebuie să folosiți doar suficiente litere pentru a vă asigura că iptables o
poate diferenția de toate celelalte opțiuni.
-A, --append lanț definiție-regulă
Adaugă una sau mai multe reguli la sfârșitul lanțului selectat. În cazul în care numele de sursă
și/sau de destinație se rezolvă la mai multe adrese, se va adăuga o regulă pentru fiecare
combinație posibilă de adrese.
-C, --check lanț definiție-regulă
Verifică dacă în lanțul selectat există o regulă care corespunde definiției. Această comandă
utilizează aceeași logică ca și -D pentru a găsi o intrare corespunzătoare, dar nu modifică
configurația iptables existentă și utilizează codul său de ieșire pentru a indica succesul sau
eșecul.
-D, --delete lanț definiție-regulă
-D, --delete lanț număr-regulă
Șterge una sau mai multe reguli din lanțul selectat. Există două versiuni ale acestei comenzi:
regula poate fi specificată ca număr în lanț (începând de la 1 pentru prima regulă) sau ca o
regulă care trebuie să se potrivească.
-I, --insert lanț [număr-regulă] definiție-regulă
Introduce una sau mai multe reguli în lanțul selectat, cu numărul de regulă dat. Astfel, dacă
numărul regulii este 1, regula sau regulile sunt inserate în capul lanțului. Aceasta este, de
asemenea, valoarea implicită în cazul în care nu se specifică niciun număr de regulă.
-R, --replace lanț număr-regulă definiție-regulă
Înlocuiește o regulă din lanțul selectat. Dacă numele sursă și/sau destinație se rezolvă la mai
multe adrese, comanda va eșua. Regulile sunt numerotate începând de la 1.
-L, --list [lanț]
Listează toate regulile din lanțul selectat. Dacă nu este selectat niciun lanț, sunt enumerate
toate lanțurile. La fel ca orice altă comandă «iptables», se aplică la tabelul specificat
(„filter” este valoarea implicită), astfel încât regulile NAT sunt listate de către
iptables -t nat -n -L
Vă rugăm să rețineți că această opțiune este adesea utilizată împreună cu opțiunea -n, pentru a
evita căutările DNS inverse lungi. Este legal să se specifice și opțiunea -Z (zero), caz în care
lanțurile vor fi listate și reduse la zero în mod atomic. Rezultatul exact este influențat de
celelalte argumente furnizate. Regulile exacte sunt suprimate până când se utilizează
iptables -L -v
sau iptables-save(8).
-S, --list-rules [lanț]
Afișează toate regulile din lanțul selectat. Dacă nu este selectat niciun lanț, toate lanțurile
sunt afișate ca în cazul «iptables-save». La fel ca orice altă comandă «iptables», se aplică la
tabelul specificat („filter” este valoarea implicită).
-F, --flush [lanț]
Golește lanțul selectat (toate lanțurile din tabel, dacă nu este indicat niciunul). Acest lucru
este echivalent cu ștergerea tuturor regulilor una câte una.
-Z, --zero [lanț [număr-regulă]]
Se pun la zero contoarele de pachete și de octeți din toate lanțurile, sau numai din lanțul dat,
sau numai din regula dată dintr-un lanț. Este legal să se specifice și opțiunea -L, --list (list),
pentru a vedea contoarele imediat înainte de a fi șterse; (a se vedea mai sus).
-N, --new-chain lanț
Creează un nou lanț definit de utilizator cu numele dat. Nu trebuie să existe deja o țintă cu
acest nume.
-X, --delete-chain [lanț]
Șterge lanțul specificat. Nu trebuie să existe referințe la lanț. Dacă există, trebuie să ștergeți
sau să înlocuiți regulile de trimitere înainte ca lanțul să poată fi șters. Lanțul trebuie să fie
gol, adică să nu conțină nicio regulă. Dacă nu se furnizează niciun argument, se vor șterge toate
lanțurile goale din tabel. Lanțurile goale integrate pot fi șterse numai cu iptables-nft.
-P, --policy lanț țintă
Stabilește politica pentru lanțul încorporat (nedefinit de utilizator) la ținta dată. Ținta
politicii trebuie să fie ACCEPT sau DROP.
-E, --rename-chain lanț-vechi lanț-nou
Redenumește lanțul specificat de utilizator cu numele furnizat de utilizator. Această operație
este de ordin cosmetic și nu are niciun efect asupra structurii tabelului.
-h Ajutor. Oferă o descriere (deocamdată foarte scurtă) a sintaxei comenzii.
PARAMETRI
Următorii parametri alcătuiesc specificația unei reguli (utilizată în comenzile add, delete, insert,
replace și append).
-4, --ipv4
Această opțiune nu are niciun efect în «iptables» și «iptables-restore». Dacă o regulă care
utilizează opțiunea -4 este inserată cu (și numai cu) ip6tables-restore, aceasta va fi ignorată în
tăcere. Orice altă utilizare va arunca o eroare. Această opțiune permite reguli IPv4 și IPv6
într-un singur fișier de reguli pentru a fi utilizate atât cu «iptables-restore», cât și cu
«ip6tables-restore».
-6, --ipv6
Dacă o regulă care utilizează opțiunea -6 este inserată cu (și numai cu) iptables-restore, aceasta
va fi ignorată în tăcere. Orice altă utilizare va arunca o eroare. Această opțiune permite reguli
IPv4 și IPv6 într-un singur fișier de reguli pentru a fi utilizate atât cu «iptables-restore», cât
și cu «ip6tables-restore». Această opțiune nu are niciun efect în «ip6tables» și
«ip6tables-restore».
[!] -p, --protocol protocol
Protocolul regulii sau al pachetului care trebuie verificat. Protocolul specificat poate fi unul
dintre tcp, udp, udplite, icmp, icmpv6, esp, ah, sctp, mh sau cuvântul cheie special „all”, sau
poate fi o valoare numerică, reprezentând unul dintre aceste protocoale sau unul diferit. Este
permis și un nume de protocol din /etc/protocols. Un argument „!” înaintea protocolului inversează
testul. Numărul zero este echivalent cu all. „all” se va potrivi cu toate protocoalele și este
luat ca valoare implicită atunci când această opțiune este omisă. Rețineți că, în ip6tables,
antetele de extensie IPv6, cu excepția esp, nu sunt permise. esp și ipv6-nonext pot fi utilizate
cu nucleul versiunea 2.6.11 sau o versiune ulterioară. Numărul zero este echivalent cu all, ceea
ce înseamnă că nu puteți testa direct câmpul de protocol pentru valoarea 0. Pentru a se potrivi pe
un antet HBH, chiar dacă ar fi ultimul, nu puteți utiliza -p 0, ci aveți întotdeauna nevoie de -m
hbh.
[!] -s, --source adresa[/masca][,...]
Specificarea sursei. adresa poate fi fie un nume de rețea, un nume de gazdă, o adresă IP de rețea
(cu /mască), fie o adresă IP simplă. Numele de gazdă vor fi rezolvate o singură dată, înainte ca
regula să fie transmisă nucleului. Rețineți că specificarea oricărui nume care urmează să fie
rezolvat cu o interogare la distanță, cum ar fi DNS, este o idee foarte proastă. masca poate fi
fie o mască de rețea ipv4 (pentru iptables), fie un număr simplu, specificând numărul de 1 din
partea stângă a măștii de rețea. Astfel, o mască iptables de 24 este echivalentă cu
255.255.255.255.0. Un argument „!” înainte de specificarea adresei inversează sensul adresei.
Opțiunea --src este un alias pentru această opțiune. Pot fi specificate mai multe adrese, dar
acest lucru va conduce la extinderea la mai multe reguli (atunci când se adaugă cu -A), sau va
determina ștergerea mai multor reguli (cu -D).
[!] -d, --destination adresa[/masca][,...]
Specificarea destinației. Pentru o descriere detaliată a sintaxei, a se vedea descrierea opțiunii
-s (sursă). Opțiunea --dst este un alias pentru această opțiune.
-m, --match potrivire
Specifică o potrivire care trebuie utilizată, adică un modul de extensie care testează o anumită
proprietate. Setul de potriviri constituie condiția în care este invocată o țintă. Potrivirile
sunt evaluate de la prima la ultima după cum este specificat în linia de comandă și funcționează
în regim de scurtcircuit, adică dacă o extensie dă un rezultat fals, evaluarea se va opri.
-j, --jump ținta
Aceasta specifică ținta regulii, adică ce trebuie făcut dacă pachetul se potrivește cu ea. Ținta
poate fi un lanț definit de utilizator (altul decât cel în care se află această regulă), una
dintre țintele speciale încorporate care decid imediat soarta pachetului sau o extensie (a se
vedea secțiunea EXTENSII DE POTRIVIRE ȘI ȚINTĂ de mai jos). Dacă această opțiune este omisă într-o
regulă (și nu se utilizează -g), potrivirea regulii nu va avea niciun efect asupra soartei
pachetului, dar contoarele regulii vor fi crescute.
-g, --goto lanț
Aceasta specifică faptul că prelucrarea trebuie să continue într-un lanț specificat de utilizator.
Spre deosebire de opțiunea „--jump”, RETURN nu va continua procesarea în acest lanț, ci în lanțul
care ne-a apelat prin „--jump”.
[!] -i, --in-interface nume
Numele unei interfețe prin intermediul căreia a fost primit un pachet (numai pentru pachetele care
intră în lanțurile INPUT, FORWARD și PREROUTING). Atunci când argumentul „!” este utilizat
înaintea numelui interfeței, sensul este inversat. Dacă numele interfeței se termină cu un „+”,
atunci orice interfață care începe cu acest nume se va potrivi. Dacă această opțiune este omisă,
orice nume de interfață se va potrivi.
[!] -o, --out-interface nume
Numele unei interfețe prin intermediul căreia urmează să fie trimis un pachet (pentru pachetele
care intră în lanțurile FORWARD, OUTPUT și POSTROUTING). Atunci când argumentul „!” este utilizat
înaintea numelui interfeței, sensul este inversat. Dacă numele interfeței se termină cu un „+”,
atunci orice interfață care începe cu acest nume se va potrivi. Dacă această opțiune este omisă,
orice nume de interfață se va potrivi.
[!] -f, --fragment
Acest lucru înseamnă că regula se referă numai la al doilea și următoarele fragmente IPv4 din
pachetele fragmentate. Deoarece nu există nicio modalitate de a determina porturile sursă sau
destinație ale unui astfel de pachet (sau tipul ICMP), un astfel de pachet nu se va potrivi cu
nicio regulă care le specifică. Atunci când argumentul „!” precede opțiunea „-f”, regula se va
potrivi numai cu fragmentele de antet sau cu pachetele nefragmentate. Această opțiune este
specifică IPv4, nu este disponibilă în «ip6tables».
-c, --set-counters pachete octeți
Aceasta permite administratorului să inițializeze contoarele de pachete și de octeți ale unei
reguli (în timpul operațiilor INSERT, APPEND, REPLACE).
ALTE OPȚIUNI
Se pot specifica următoarele opțiuni suplimentare:
-v, --verbose
Ieșire detaliată. Această opțiune face astfel încât comanda «list» să afișeze numele interfeței,
opțiunile regulii (dacă există) și măștile TOS. De asemenea, sunt listate contoarele de pachete și
de octeți, cu sufixul „K”, „M” sau „G” pentru multiplicatori de 1000, 1.000.000 și, respectiv,
1.000.000.000.000 (dar consultați opțiunea -x flag pentru a schimba acest lucru). Pentru adăugare,
inserare, ștergere și înlocuire, acest lucru determină afișarea de informații detaliate despre
regula sau regulile respective. -v poate fi specificat de mai multe ori pentru a emite, eventual,
indicații de depanare mai detaliate: specificată de două ori, iptables-legacy va afișa informații
despre tabele și intrări în libiptc, iptables-nft afișează regulile în prezentarea netlink (cod
VM). Specificată de trei ori, iptables-nft va afișa, de asemenea, toate mesajele netlink trimise
către nucleu.
-V, --version
Afișează versiunea programului și API-ul nucleului utilizat.
-w, --wait [secunde]
Așteaptă să se blocheze xtables. Pentru a preveni rularea simultană a mai multor instanțe ale
programului, se va încerca obținerea unui blocaj exclusiv la lansare. În mod implicit, programul
va ieși dacă nu se poate obține blocarea. Această opțiune va face ca programul să aștepte (pe
termen nedefinit sau timp de secunde opțional) până când se poate obține blocarea exclusivă.
-n, --numeric
Ieșire numerică. Adresele IP și numerele de port vor fi afișate în format numeric. În mod
implicit, programul va încerca să le afișeze ca nume de gazdă, nume de rețea sau servicii (ori de
câte ori este cazul).
-x, --exact
Expandează numerele. Afișează valoarea exactă a contoarelor de pachete și de octeți, în loc să
afișeze doar numărul rotunjit în K (multipli de 1000), M (multipli de 1000K) sau G (multipli de
1000M). Această opțiune este relevantă numai pentru comanda -L.
--line-numbers
Când listează regulile, adaugă numere de linie la începutul fiecărei reguli, care corespund
poziției regulii respective în lanț.
--modprobe=comanda
Când se adaugă sau se inserează reguli într-un lanț, utilizează comanda pentru a încărca toate
modulele necesare (obiective, extensii de potrivire etc.).
FIȘIER BLOCARE
«iptables» utilizează fișierul /run/xtables.lock pentru a obține o blocare exclusivă la lansare.
Variabila de mediu XTABLES_LOCKFILE poate fi utilizată pentru a suprascrie valoarea implicită.
EXTENSII DE POTRIVIRE ȘI ȚINTĂ
«iptables» poate utiliza module de potrivire a pachetelor și module țintă extinse. O listă a acestora
este disponibilă în pagina de manual iptables-extensions(8).
DIAGNOSTICARE
Diferite mesaje de eroare sunt afișate la ieșirea de eroare standard. Codul de ieșire este 0 în cazul
funcționării corecte. Erorile care par a fi cauzate de parametrii de linie de comandă nevalabili sau
abuzivi determină un cod de ieșire 2. Erorile care indică o incompatibilitate între nucleu și spațiul
utilizatorului determină un cod de ieșire 3. Erorile care indică o problemă de resurse, cum ar fi un
blocaj ocupat, alocarea eșuată a memoriei sau mesaje de eroare din partea nucleului determină un cod de
ieșire 4. În cele din urmă, alte erori determină un cod de ieșire 1.
ERORI
Hibe? Ce sunt astea? ;-) Ei bine, poate doriți să aruncați o privire la https://bugzilla.netfilter.org/
iptables va ieși imediat cu un cod de eroare 111 dacă constată că a fost apelat ca un program
setuid-to-root. «iptables» nu poate fi utilizat în siguranță în acest mod deoarece are încredere în
bibliotecile partajate (potriviri „matches”, ținte „targets”) încărcate în timpul execuției, ruta de
căutare poate fi definită cu ajutorul variabilelor de mediu.
COMPATIBILITATE CU IPCHAINS
Acest iptables este foarte asemănător cu «ipchains» de Rusty Russell. Principala diferență constă în
faptul că lanțurile INPUT și OUTPUT sunt parcurse numai pentru pachetele care intră în gazda locală și,
respectiv, provin din gazda locală. Prin urmare, fiecare pachet trece doar printr-unul dintre cele trei
lanțuri (cu excepția traficului loopback, care implică ambele lanțuri INPUT și OUTPUT); anterior, un
pachet redirecționat trecea prin toate cele trei.
O altă diferență principală este că -i se referă la interfața de intrare; -o se referă la interfața de
ieșire, iar ambele sunt disponibile pentru pachetele care intră în lanțul FORWARD.
Diferitele formate de NAT au fost separate; iptables este un filtru pur de pachete atunci când se
utilizează tabelul implicit „filter”, cu module de extensie opționale. Acest lucru ar trebui să evite o
mare parte din confuzia legată de combinația de mascare IP și filtrare a pachetelor, observată anterior.
Așadar, următoarele opțiuni sunt tratate diferit:
-j MASQ
-M -S
-M -L
Există alte câteva modificări în «iptables».
CONSULTAȚI ȘI
iptables-apply(8), iptables-save(8), iptables-restore(8), iptables-extensions(8),
„Packet-filtering-HOWTO” detaliază utilizarea iptables pentru filtrarea pachetelor, „NAT-HOWTO” detaliază
NAT, „netfilter-extensions-HOWTO” detaliază extensiile care nu se află în distribuția standard, iar
„netfilter-hacking-HOWTO” detaliază componentele interne ale «netfilter».
A se vedea https://www.netfilter.org/.
AUTORI
Rusty Russell a scris inițial iptables, în urma unei consultări prealabile cu Michael Neuling.
Marc Boucher l-a făcut pe Rusty să renunțe la «ipnatctl» făcând lobby pentru un cadru generic de
selectare a pachetelor în «iptables», apoi a scris tabelul mangle, potrivirea proprietarului, chestiile
de marcare și a lucrat peste tot în „iptables” făcând lucruri interesante.
James Morris a scris ținta TOS, și potrivirea tos.
Jozsef Kadlecsik a scris ținta REJECT.
Harald Welte a scris ținta ULOG și NFQUEUE, noua bibliotecă „libiptc”, precum și potrivirile și țintele
TTL, DSCP, ECN.
Echipa de bază Netfilter este: Jozsef Kadlecsik, Pablo Neira Ayuso, Eric Leblond, Florian Westphal și
Arturo Borrero Gonzalez. Membrii emeriți ai echipei de bază sunt: Marc Boucher, Martin Josefsson,
Yasuyuki Kozakai, James Morris, Harald Welte și Rusty Russell.
Pagina de manual scrisă inițial de Herve Eychenne <rv@wallfire.org>.
VERSIUNEA
Această pagină de manual se aplică la versiunea iptables/ip6tables 1.8.11.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
iptables 1.8.11 IPTABLES(8)