Provided by: manpages-ro_4.27.0-1_all bug

NUME

       iptables-extensions - lista de extensii din distribuția iptables standard

SINOPSIS

       ip6tables [-m nume [opțiuni-modul...]] [-j nume-țintă [opțiuni-țintă...]

       iptables [-m nume [opțiuni-modul...]] [-j nume-țintă [opțiuni-țintă...]

EXTENSII DE POTRIVIRE

       iptables  poate  utiliza  module extinse de potrivire a pachetelor cu opțiunile -m sau --match, urmate de
       numele modulului de potrivire; după acestea, devin disponibile diverse opțiuni suplimentare de  linie  de
       comandă,  în  funcție  de modulul specific. Puteți specifica mai multe module de potrivire extinsă într-o
       singură linie și puteți utiliza opțiunile -h sau --help după ce modulul a fost specificat pentru a  primi
       ajutor  specific  acelui  modul.  Modulele  de  potrivire  extinsă  sunt evaluate în ordinea în care sunt
       specificate în regulă.

       Dacă -p sau --protocol a fost specificată și dacă și numai dacă este  întâlnită  o  opțiune  necunoscută,
       iptables  va  încerca să încarce un modul de potrivire cu același nume ca protocolul, pentru a încerca să
       facă opțiunea disponibilă.

   addrtype
       Acest modul potrivește pachetele în funcție de tipul de adresă. Tipurile  de  adresă  sunt  utilizate  în
       cadrul  stivei  de  rețea a nucleului și clasifică adresele în diverse grupuri. Definiția exactă a acelui
       grup depinde de protocolul specific stratului trei.

       Sunt posibile următoarele tipuri de adrese:

       UNSPEC o adresă nespecificată (adică 0.0.0.0)

       UNICAST
              o adresă uni-difuzare „unicast”

       LOCAL  o adresă locală

       BROADCAST
              o adresă de difuzare în toată rețeaua „broadcast”

       ANYCAST
              un pachet „anycast”

       MULTICAST
              o adresă de difuzare multiplă (către mai multe mașini) „multicast”

       BLACKHOLE
              o adresă de gaură neagră „blackhole”

       UNREACHABLE
              o adresă inaccesibilă „unreachable”

       PROHIBIT
              o adresă interzisă „prohibited”

       THROW  FIXME

       NAT    FIXME

       XRESOLVE

       [!] --src-type tip
              Se potrivește dacă adresa sursă este de tipul dat

       [!] --dst-type tip
              Se potrivește dacă adresa de destinație este de tipul dat

       --limit-iface-in
              Verificarea tipului de adresă poate fi limitată la interfața  de  intrare  a  pachetului.  Această
              opțiune  este valabilă numai în lanțurile PREROUTING, INPUT și FORWARD. Ea nu poate fi specificată
              cu opțiunea --limit-iface-out.

       --limit-iface-out
              Verificarea tipului de adresă poate fi limitată la interfața  pe  care  pleacă  pachetul.  Această
              opțiune  este  valabilă  numai  în  lanțurile  POSTROUTING,  OUTPUT  și  FORWARD.  Ea  nu poate fi
              specificată cu opțiunea --limit-iface-in.

   ah (specifică IPv6)
       Acest modul potrivește parametrii din antetul de autentificare al pachetelor IPsec.

       [!] --ahspi spi[:spi]
              Se potrivește cu SPI.

       [!] --ahlen lungimea
              Lungimea totală a acestui antet în octeți.

       --ahres
              Se potrivește dacă câmpul rezervat este completat cu zero.

   ah (specifică IPv4)
       Acest modul potrivește SPI-urile din antetul de autentificare al pachetelor IPsec.

       [!] --ahspi spi[:spi]

   bpf
       Potrivire cu ajutorul filtrului de soclu Linux „Linux Socket Filter”. Așteaptă o  rută  către  un  obiect
       eBPF sau un program cBPF în format zecimal.

       --object-pinned ruta
              Transmite o rută către un obiect eBPF fixat.

       Aplicațiile  încarcă  programele  eBPF în nucleu cu apelul de sistem bpf() și comanda BPF_PROG_LOAD și le
       pot fixa într-un sistem de fișiere virtual cu BPF_OBJ_PIN. Pentru a utiliza un obiect fixat în  iptables,
       montați sistemul de fișiere bpf utilizând

              mount -t bpf bpf ${BPF_MOUNT}

       apoi inserați filtrul în iptables după rută:

              iptables -A OUTPUT -m bpf --object-pinned ${BPF_MOUNT}/{PINNED_PATH} -j ACCEPT

       --bytecode cod
              Transmite formatul codului de octeți BPF generat de instrumentul nfbpf_compile.

       Formatul  codului  este  similar cu rezultatul comenzii «tcpdump -ddd»: o linie care stochează numărul de
       instrucțiuni, urmată de o linie pentru fiecare instrucțiune. Liniile de instrucțiuni urmează modelul „u16
       u8 u8 u32” în notație zecimală. Câmpurile codifică  operația,  decalajul  de  salt  dacă  este  adevărat,
       decalajul de salt dacă este fals și câmpul generic multiutilizare „K”. Comentariile nu sunt acceptate.

       De  exemplu,  pentru a citi numai pachetele care corespund „ip proto 6”, introduceți următorul text, fără
       comentarii sau spații albe:

              4 # numărul de instrucțiuni
              48 0 0 9 # încarcă octetul ip->proto
              21 0 1 6 # salt egal cu IPPROTO_TCP
              6 0 0 1 # returnează pasul (diferit de zero)
              6 0 0 0 # returnează eroarea (zero)

       Puteți trece acest filtru la potrivirea bpf cu următoarea comandă:

              iptables -A OUTPUT -m bpf --bytecode '4,48 0 0 9,21 0 1 6,6 0 0 1,6 0 0 0' -j ACCEPT

       Sau, în schimb, puteți apela instrumentul nfbpf_compile.

              iptables -A OUTPUT -m bpf --bytecode "`nfbpf_compile RAW 'ip proto 6'`" -j ACCEPT

       Sau utilizați «tcpdump -ddd». În acest caz, generați BPF vizând un dispozitiv cu același tip de  legătură
       de  date  ca  și potrivirea xtables. Iptables trece pachetele de la nivelul de rețea în sus, fără nivelul
       mac. Selectați un dispozitiv cu tipul de legătură de date RAW, cum ar fi un dispozitiv tun:

              ip tuntap add tun0 mode tun
              ip link set tun0 up
              tcpdump -ddd -i tun0 ip proto 6

       Consultați «tcpdump -L -i $dev» pentru o listă a tipurilor de legături/conexiuni de date cunoscute pentru
       un anumit dispozitiv.

       Este posibil să doriți să aflați mai multe despre BPF din pagina de manual bpf(4) a FreeBSD.

   cgroup
       [!] --path ruta
              Potrivește apartenența la cgroup2.

              Fiecare soclu este asociat cu cgroup-ul v2 al procesului  de  creare.  Aceasta  se  potrivește  cu
              pachetele  care  provin  de  la  sau  se  îndreaptă  către  toate  soclurile din subierarhia rutei
              specificate. Ruta trebuie să fie relativă la rădăcina ierarhiei cgroup2.

       [!] --cgroup id-clasă
              Se potrivește cu id-clasă al cgroup net_cls.

              id-clasă „classid” este marcajul stabilit prin controlorul  cgroup  net_cls.  Această  opțiune  și
              opțiunea „--path” nu pot fi utilizate împreună.

       Exemplu:

              iptables -A OUTPUT -p tcp --sport 80 -m cgroup ! --path service/http-server -j DROP

              iptables -A OUTPUT -p tcp --sport 80 -m cgroup ! --cgroup 1 -j DROP

       IMPORTANT:  atunci  când  este  utilizată  în  lanțul  INPUT,  potrivirea  cgroup  are  în prezent doar o
       funcționalitate limitată, ceea ce înseamnă că se va potrivi doar cu pachetele care sunt procesate  pentru
       soclurile  locale  prin demultiplexarea timpurie a soclurilor. Prin urmare, utilizarea generală pe lanțul
       INPUT nu este recomandată decât dacă implicațiile sunt bine înțelese.

       Disponibilă începând cu Linux 3.14.

   cluster
       Vă permite să implementați clustere de partajare a încărcării porții de acces și a serverului  „back-end”
       fără a avea nevoie de echilibratori de încărcare.

       Această  potrivire  necesită  ca  toate nodurile să vadă aceleași pachete. Astfel, potrivirea clusterului
       decide dacă acest nod trebuie să gestioneze un pachet având în vedere următoarele opțiuni:

       --cluster-total-nodes număr
              Stabilește numărul total de noduri din cluster.

       [!] --cluster-local-node număr
              Stabilește ID-ul numărului nodului local.

       [!] --cluster-local-nodemask masca
              Stabilește masca ID a numărului nodului local. Puteți utiliza această opțiune în loc  de  opțiunea
              --cluster-local-node.

       --cluster-hash-seed valoare
              Stabilește valoarea seminței sumei de control (hash) a funcției Jenkins.

       Exemplu:

              iptables -A PREROUTING -t mangle -i eth1 -m cluster --cluster-total-nodes 2 --cluster-local-node 1
              --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff

              iptables -A PREROUTING -t mangle -i eth2 -m cluster --cluster-total-nodes 2 --cluster-local-node 1
              --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff

              iptables -A PREROUTING -t mangle -i eth1 -m mark ! --mark 0xffff -j DROP

              iptables -A PREROUTING -t mangle -i eth2 -m mark ! --mark 0xffff -j DROP

       Și următoarele comenzi pentru a face ca toate nodurile să vadă aceleași pachete:

              ip maddr add 01:00:5e:00:01:01 dev eth1

              ip maddr add 01:00:5e:00:01:02 dev eth2

              arptables -A OUTPUT -o eth1 --h-length 6 -j mangle --mangle-mac-s 01:00:5e:00:01:01

              arptables   -A   INPUT   -i  eth1  --h-length  6  --destination-mac  01:00:5e:00:01:01  -j  mangle
              --mangle-mac-d 00:zz:yy:xx:5a:27

              arptables -A OUTPUT -o eth2 --h-length 6 -j mangle --mangle-mac-s 01:00:5e:00:01:02

              arptables  -A  INPUT  -i  eth2  --h-length  6  --destination-mac   01:00:5e:00:01:02   -j   mangle
              --mangle-mac-d 00:zz:yy:xx:5a:27

       NOTAȚIE:  comenzile  arptables  de  mai sus utilizează sintaxa dezvoltatorilor principali. Dacă utilizați
       arptables-jf inclus în unele versiuni RedHat, CentOS și Fedora, vă veți lovi de erori  de  sintaxă.  Prin
       urmare, va trebui să le adaptați la sintaxa arptables-jf pentru a le face să funcționeze.

       În  cazul conexiunilor TCP, facilitatea de preluare trebuie să fie dezactivată pentru a evita marcarea ca
       valide a pachetelor TCP ACK care vin în direcția de răspuns.

              echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

   comment
       Vă permite să adăugați comentarii (până la 256 de caractere) la orice regulă.

       --comment comentariu

       Exemplu:
              iptables -A INPUT -i eth1 -m comment --comment "my local LAN"

   connbytes
       Potrivește în funcție de numărul de octeți sau pachete pe care o conexiune (sau  unul  dintre  cele  două
       fluxuri  care  constituie  conexiunea) le-a transferat până în prezent sau în funcție de numărul mediu de
       octeți pe pachet.

       Contoarele sunt pe 64 de biți și, prin urmare, nu este de așteptat să se debordeze ;)

       Principala utilizare este detectarea descărcărilor de lungă durată  și  marcarea  acestora  pentru  a  fi
       programate folosind o bandă de prioritate inferioară în controlul traficului.

       Octeții transferați pe conexiune pot fi vizualizați și prin «conntrack -L» și accesați prin «ctnetlink».

       OBSERVAȚI  că pentru conexiunile care nu au informații contabile, potrivirea va returna întotdeauna fals.
       Fanionul sysctl „net.netfilter.nf_conntrack_acct” controlează dacă conexiunile new  vor  fi  numărate  în
       octeți/pachete.  Fluxurile  de  conexiuni  existente  nu  vor câștiga/pierde o/structura de contabilizare
       atunci când fanionul sysctl be este inversat.

       [!] --connbytes from[:to]
              potrivește pachetele de la o conexiune ale cărei pachete/octeți/mărime medie a pachetelor este mai
              mare decât FROM și mai mică decât TO octeți/pachete. dacă TO este omis, se face  doar  verificarea
              FROM. „!” se utilizează pentru a potrivi pachetele care nu se încadrează în interval.

       --connbytes-dir {original|reply|both}
              ce pachete trebuie luate în considerare

       --connbytes-mode {packets|bytes|avgpkt}
              dacă  se  verifică  cantitatea de pachete, numărul de octeți transferați sau dimensiunea medie (în
              octeți) a tuturor pachetelor primite până în prezent. Rețineți că atunci când „both” este utilizat
              împreună cu „avgpkt”, iar datele circulă (în principal) într-o singură direcție (de exemplu HTTP),
              dimensiunea medie a pachetelor va fi aproximativ jumătate din pachetele de date reale.

       Exemplu:
              iptables .. -m connbytes --connbytes 10000:100000 --connbytes-dir both --connbytes-mode bytes ...

   connlabel
       Modulul potrivește sau adaugă connlabels la o  conexiune.  connlabels  sunt  similare  cu  connmarks,  cu
       excepția  faptului  că etichetele sunt bazate pe biți; adică toate etichetele pot fi atașate unui flux în
       același timp. În prezent sunt acceptate până la 128 de etichete unice.

       [!] --label nume
              potrivește dacă eticheta numele a fost definită pe o conexiune. În locul unui  nume  (care  va  fi
              tradus  într-un  număr,  a  se vedea EXEMPLUL de mai jos), poate fi utilizat un număr.  Utilizarea
              unui număr prevalează întotdeauna asupra connlabel.conf.

       --set  dacă eticheta nu a fost definită pe conexiune, definiți-o. Rețineți  că  definirea  unei  etichete
              poate  eșua.  Acest  lucru  se  datorează  faptului  că  nucleul alocă zona de stocare a etichetei
              conntrack atunci când este creată conexiunea  și  rezervă  doar  cantitatea  de  memorie  necesară
              setului  de  reguli  care  există în momentul creării conexiunii. În acest caz, potrivirea va eșua
              (sau va reuși, în cazul în care opțiunea --label a fost negată).

       Această potrivire depinde de libnetfilter_conntrack 1.0.4 sau ulterior. Traducerea  etichetelor  se  face
       prin intermediul fișierului de configurare /etc/xtables/connlabel.conf.

       Exemplu:

              0    eth0-in
              1    eth0-out
              2    ppp-in
              3    ppp-out
              4    bulk-traffic
              5    interactive

   connlimit
       Vă permite să restricționați numărul de conexiuni paralele la un server per adresă IP client (sau bloc de
       adrese client).

       --connlimit-upto n
              Se potrivește dacă numărul de conexiuni existente este mai mic sau egal cu n.

       --connlimit-above n
              Se potrivește dacă numărul de conexiuni existente este mai mare decât n.

       --connlimit-mask lungime-prefix
              Grupează gazdele folosind lungimea prefixului. Pentru IPv4, acesta trebuie să fie un număr cuprins
              între  (inclusiv)  0  și  32. Pentru IPv6, între 0 și 128. Dacă nu este specificată, se utilizează
              lungimea maximă a prefixului pentru protocolul aplicabil.

       --connlimit-saddr
              Aplică limita asupra grupului sursă. Aceasta este valoarea  implicită  dacă  nu  este  specificată
              opțiunea „--connlimit-daddr”.

       --connlimit-daddr
              Aplică limita pe grupul de destinație.

       Exemple:

       •   permite 2 conexiuni telnet pentru fiecare gazdă client
           iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT

       •   se poate face și invers:
           iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-upto 2 -j ACCEPT

       •   limitează  numărul  de cereri HTTP paralele la 16 per rețea sursă de clasă C (mască de rețea de 24 de
           biți)
           iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 --connlimit-mask 24 -j REJECT

       •   limitează numărul de cereri HTTP paralele la 16 pentru conexiunea la rețeaua locală
           ip6tables -p tcp --syn --dport 80 -s fe80::/64 -m connlimit --connlimit-above 16 --connlimit-mask  64
           -j REJECT

       •   Limitează numărul de conexiuni la o anumită gazdă:
           ip6tables  -p  tcp  --syn  --dport  49152:65535  -d 2001:db8::1 -m connlimit --connlimit-above 100 -j
           REJECT

   connmark
       Acest modul se potrivește cu câmpul de marcaj netfilter asociat unei conexiuni  (care  poate  fi  definit
       utilizând ținta CONNMARK de mai jos).

       [!] --mark valoare[/masca]
              Potrivește  pachetele  din  conexiuni  cu valoarea de marcare dată (dacă este specificată o mască,
              aceasta este logic AND cu marca înainte de comparație).

   conntrack
       Acest modul, atunci când este combinat cu urmărirea conexiunii, permite accesul la starea de  urmărire  a
       conexiunii pentru acest pachet/conexiune.

       [!] --ctstate listă-stare
              listă-stare  este  o listă separată prin virgule a stărilor conexiunii care trebuie să corespundă.
              Stările posibile sunt enumerate mai jos.

       [!] --ctproto l4proto
              Protocolul Layer-4 care trebuie să corespundă (după număr sau nume)

       [!] --ctorigsrc adresa[/masca]

       [!] --ctorigdst adresa[/masca]

       [!] --ctreplsrc adresa[/masca]

       [!] --ctrepldst adresa[/masca]
              Potrivire cu adresa sursă/destinație originală/replică

       [!] --ctorigsrcport port[:port]

       [!] --ctorigdstport port[:port]

       [!] --ctreplsrcport port[:port]

       [!] --ctrepldstport port[:port]
              Potrivire în funcție de portul sursă/destinație original/răspuns (TCP/UDP/etc.) sau de cheia  GRE.
              Potrivirea  în  funcție de intervalele de porturi este acceptată numai în versiunile de nucleu mai
              mari de 2.6.38.

       [!] --ctstatus listă-stare
              listă-stare este o listă separată prin virgule a stărilor conexiunii care trebuie  să  corespundă.
              Stările posibile sunt enumerate mai jos.

       [!] --ctexpire timp[:timp]
              Potrivește  durata  de  viață  rămasă  în  secunde  cu  o  valoare  dată sau un interval de valori
              (inclusiv)

       --ctdir {ORIGINAL|REPLY}
              Potrivește pachetele care circulă în direcția specificată. Dacă acest fanion  nu  este  specificat
              deloc, se potrivesc pachetele în ambele direcții.

       Stări pentru --ctstate:

       INVALID
              Pachetul nu este asociat cu nicio conexiune cunoscută.

       NEW    Pachetul  a inițiat o conexiune nouă sau a fost asociat cu o conexiune care nu a primit pachete în
              ambele direcții.

       ESTABLISHED
              Pachetul este asociat cu o conexiune care a văzut pachete în ambele direcții.

       RELATED
              Pachetul începe o conexiune nouă, dar este asociat cu o conexiune existentă, cum ar fi un transfer
              de date FTP sau o eroare ICMP.

       UNTRACKED
              Pachetul nu este urmărit deloc, ceea ce se întâmplă dacă îl anulați în mod explicit  folosind  „-j
              CT --notrack” în tabelul brut.

       SNAT   O stare virtuală, care se potrivește dacă adresa sursă inițială diferă de destinația răspunsului.

       DNAT   O stare virtuală, care se potrivește dacă destinația inițială diferă de sursa răspunsului.

       Stări pentru --ctstatus:

       NONE   Niciuna dintre cele de mai jos.

       EXPECTED
              Aceasta este o conexiune așteptată (adică un asistent conntrack a configurat-o).

       SEEN_REPLY
              Conntrack a văzut pachete în ambele direcții.

       ASSURED
              Intrarea conntrack nu trebuie să fie niciodată expirată înainte de termen.

       CONFIRMED
              Conexiunea este confirmată: pachetul de origine a părăsit locația.

   cpu
       [!] --cpu număr
              Potrivește  cpu-ul  care  gestionează  acest pachet. cpu-urile sunt numerotate de la 0 la NR_CPU-1
              Poate fi utilizat în combinație cu RPS (Remote Packet Steering) sau cu NIC-uri  cu  multiple  cozi
              pentru a repartiza traficul de rețea pe cozi diferite.

       Exemplu:

       iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 -j REDIRECT --to-ports 8080

       iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 -j REDIRECT --to-ports 8081

       Disponibilă începând cu Linux 2.6.36.

   dccp
       [!] --source-port,--sport port[:port]

       [!] --destination-port,--dport port[:port]

       [!] --dccp-types masca
              Potrivește atunci când tipul de pachet DCCP este unul dintre „mask”. „mask” este o listă de tipuri
              de  pachete  separate  prin  virgule.  Tipurile de pachete sunt: REQUEST RESPONSE DATA ACK DATAACK
              CLOSEREQ CLOSE RESET SYNC SYNCACK INVALID.

       [!] --dccp-option număr
              Se potrivește dacă este definită opțiunea DCCP.

   devgroup
       Potrivește grupul de dispozitive al interfeței de intrare/ieșire a unui pachet.

       [!] --src-group nume
              Potrivește grupul de dispozitive al dispozitivului de intrare

       [!] --dst-group nume
              Potrivește grupul de dispozitive al dispozitivului de ieșire

   dscp
       Acest modul corespunde câmpului DSCP de 6 biți din câmpul TOS din antetul IP.  DSCP  a  înlocuit  TOS  în
       cadrul IETF.

       [!] --dscp valoare
              Potrivire cu o valoare numerică (zecimală sau hexazecimală) 0-63.

       [!] --dscp-class clasa
              Potrivește  clasa  DiffServ. Această valoare poate fi oricare dintre clasele BE, EF, AFxx sau CSx.
              Aceasta va fi apoi convertită în valoarea sa numerică corespunzătoare.

   dst (specific IPv6)
       Acest modul corespunde parametrilor din antetul opțiunilor de destinație

       [!] --dst-len lungime
              Lungimea totală a acestui antet în octeți.

       --dst-opts tip[:lungime][,tip[:lungime]...]
              tipul numeric al opțiunii și lungimea datelor opțiunii în octeți.

   ecn
       Acest lucru vă permite să potriviți biții ECN din antetul IPv4/IPv6  și  TCP.   ECN  este  mecanismul  de
       notificare explicită a congestiei, astfel cum este specificat în RFC3168

       [!] --ecn-tcp-cwr
              Aceasta se potrivește dacă bitul TCP ECN CWR (Congestion Window Received) este activat.

       [!] --ecn-tcp-ece
              Aceasta se potrivește dacă bitul TCP ECN ECE (ECN Echo) este activat.

       [!] --ecn-ip-ect număr
              Aceasta  se  potrivește cu un anumit IPv4/IPv6 ECT (ECN-Capable Transport). Trebuie să specificați
              un număr între „0” și „3”.

   esp
       Acest modul potrivește SPI-urile din antetul ESP al pachetelor IPsec.

       [!] --espspi spi[:spi]

   eui64 (specific IPv6)
       Acest modul potrivește partea EUI-64 a unei adrese IPv6 autoconfigurate stateless. Acesta compară  EUI-64
       derivat  din  adresa MAC sursă din cadrul Ethernet cu cei 64 de biți inferiori ai adresei sursă IPv6. Dar
       bitul „Universal/Local” nu este comparat. Acest modul nu se potrivește cu alte cadre de strat de legătură
       și este valabil numai în lanțurile PREROUTING, INPUT și FORWARD.

   frag (specific IPv6)
       Acest modul potrivește parametrii din antetul Fragment.

       [!] --fragid id[:id]
              Potrivește identificarea dată sau un interval al acesteia.

       [!] --fraglen lungime
              Această opțiune nu poate fi utilizată cu versiunea  de  nucleu  2.6.10  sau  ulterioară.  Lungimea
              antetului Fragment este statică și această opțiune nu are sens.

       --fragres
              Se potrivește dacă câmpurile rezervate sunt completate cu zero.

       --fragfirst
              Se potrivește cu primul fragment.

       --fragmore
              Se potrivește dacă există mai multe fragmente.

       --fraglast
              Se potrivește dacă acesta este ultimul fragment.

   hashlimit
       hashlimit  utilizează  „găleți”  hash pentru a exprima o potrivire de limitare a ratei (precum potrivirea
       limitei) pentru un grup de conexiuni utilizând o singură regulă iptables. Gruparea se poate face pe  grup
       de  gazde (adresă sursă și/sau destinație) și/sau pe port. Aceasta vă oferă posibilitatea de a exprima „N
       pachete per măsură-timp per grup” sau „N octeți per secundă” (a se vedea mai jos pentru câteva exemple).

       Sunt necesare opțiunile de limită hash (--hashlimit-upto, --hashlimit-above) și --hashlimit-name.

       --hashlimit-upto cantitate[/second|/minute|/hour|/day]
              Se potrivește  dacă  rata  este  mai  mică  sau  egală  cu  cantitatea/măsură-timp.  Aceasta  este
              specificată  fie  ca  număr,  cu un sufix opțional de măsură-timp de timp (valoarea implicită este
              3/oră), fie ca amountb/secundă (număr de octeți pe secundă).

       --hashlimit-above cantitate[/second|/minute|/hour|/day]
              Se potrivește dacă rata este mai mare de cantitate/măsură-timp.

       --hashlimit-burst cantitate
              Numărul inițial maxim de pachete pentru potrivire: acest număr se reîncarcă cu unu de fiecare dată
              când limita specificată mai sus nu este atinsă, până la acest număr; valoarea  implicită  este  5.
              Atunci  când  se solicită potrivirea ratei pe bază de octeți, această opțiune specifică cantitatea
              de octeți care poate depăși rata dată. Această  opțiune  trebuie  utilizată  cu  prudență  -  dacă
              intrarea expiră, valoarea burst este și ea reinițializată.

       --hashlimit-mode {srcip|srcport|dstip|dstport},...
              O listă separată prin virgule de obiecte care trebuie luate în considerare. Dacă nu este furnizată
              opțiunea  „--hashlimit-mode”, hashlimit acționează ca limită, dar la prețul de a face curățenie în
              hash.

       --hashlimit-srcmask prefix
              Atunci când se utilizează „--hashlimit-mode srcip”, toate adresele sursă întâlnite vor fi  grupate
              în funcție de lungimea prefixului dat, iar subrețeaua astfel creată va fi supusă hashlimit. prefix
              trebuie  să fie între (inclusiv) 0 și 32. Rețineți că „--hashlimit-srcmask 0” face practic același
              lucru ca și nespecificarea «srcip» pentru „--hashlimit-mode”, dar este tehnic mai costisitor.

       --hashlimit-dstmask prefix
              Ca „--hashlimit-srcmask”, dar pentru adresele de destinație.

       --hashlimit-name foo
              Numele pentru intrarea /proc/net/ipt_hashlimit/foo.

       --hashlimit-htable-size găleți
              Numărul de găleți ale tabelului hash

       --hashlimit-htable-max intrări
              Numărul maxim de intrări în tabelul hash.

       --hashlimit-htable-expire msec
              După câte milisecunde expiră intrările hash.

       --hashlimit-htable-gcinterval msec
              Câte milisecunde sunt între intervalele de colectare a gunoiului.

       --hashlimit-rate-match
              Clasificarea fluxului în loc de limitarea  ratei  acestuia.  Aceasta  acționează  ca  o  potrivire
              adevărat/fals dacă rata este mai mare/mai mică decât un anumit număr

       --hashlimit-rate-interval sec
              Poate  fi  utilizată  cu  „--hashlimit-rate-match”  pentru  a specifica intervalul la care rata ar
              trebui să fie eșantionată

       Exemple:

       potrivire pe gazda sursă
              „1000 de pachete pe  secundă  pentru  fiecare  gazdă  din  192.168.0.0/16”  =>  -s  192.168.0.0/16
              --hashlimit-mode srcip --hashlimit-upto 1000/sec

       potrivire pe portul sursă
              „100  de  pachete  pe  secundă  pentru  fiecare  serviciu  de  la  192.168.1.1”  => -s 192.168.1.1
              --hashlimit-mode srcport --hashlimit-upto 100/sec

       potrivire pe subrețea
              „10000 de pachete pe minut pentru fiecare subrețea /28 (grupuri de 8 adrese) din 10.0.0.0/8” => -s
              10.0.0.0/8 --hashlimit-mask 28 --hashlimit-upto 10000/min

       potrivire de octeți pe secundă
              „fluxuri   care   depășesc   512kocteți/s"   =>    --hashlimit-mode    srcip,dstip,srcport,dstport
              --hashlimit-above 512kb/s

       potrivire de octeți pe secundă
              „gazde care depășesc 512kocteți/s, dar permit până la 1Megaocteți fără potrivire” --hashlimit-mode
              dstip --hashlimit-above 512kb/s --hashlimit-burst 1mb

   hbh (specific IPv6)
       Acest modul corespunde parametrilor din antetul de opțiuni Hop-by-Hop

       [!] --hbh-len lungime
              Lungimea totală a acestui antet în octeți.

       --hbh-opts tip[:lungime][,tip[:lungime]...]
              tipul numeric al opțiunii și lungimea datelor opțiunii în octeți.

   helper
       Acest modul potrivește pachetele legate de un anumit asistent conntrack.

       [!] --helper șir
              Potrivește pachetele referitoare la asistentul conntrack specificat.

              șirul poate fi „ftp” pentru pachetele referitoare la o sesiune ftp pe portul implicit. Pentru alte
              porturi, adăugați „--portnr” la valoare, adică „ftp-2121”.

              Aceleași reguli se aplică și pentru ceilalți asistenți conntrack.

   hl (specific IPv6)
       Acest modul corespunde câmpului Hop Limit din antetul IPv6.

       [!] --hl-eq valoare
              Se potrivește dacă limita Hop este egală cu valoare.

       --hl-lt valoare
              Se potrivește dacă limita Hop este mai mică decât valoare.

       --hl-gt valoare
              Se potrivește dacă limita Hop este mai mare decât valoare.

   icmp (specific IPv4)
       Această  extensie  poate  fi  utilizată  dacă este specificat „--protocol icmp”. Aceasta oferă următoarea
       opțiune:

       [!] --icmp-type {tip[/cod]|nume-tip}
              Aceasta permite specificarea tipului ICMP, care poate fi un tip ICMP numeric,  o  pereche  tip/cod
              sau una dintre denumirile tipului ICMP afișate de comanda
               iptables -p icmp -h

   icmp6 (specific IPv6)
       Această  extensie  poate fi utilizată dacă se specifică „---protocol ipv6-icmp” sau „---protocol icmpv6”.
       Aceasta oferă următoarea opțiune:

       [!] --icmpv6-type tip[/cod]|nume-tip
              Aceasta permite specificarea tipului ICMPv6, care poate fi un ICMPv6 numeric tip, tip și cod,  sau
              una dintre denumirile tipului ICMPv6 afișate de comanda
               ip6tables -p ipv6-icmp -h

   iprange
       Aceasta se potrivește cu un anumit interval arbitrar de adrese IP.

       [!] --src-range de-la[-la]
              Potrivește IP-ul sursă în intervalul specificat.

       [!] --dst-range de-la[-la]
              Potrivește IP-ul destinației în intervalul specificat.

   ipv6header (specific IPv6)
       Acest modul corespunde antetelor de extensie IPv6 și/sau antetelor de nivel(strat) superior.

       --soft Potrivește dacă pachetul include any din antetele specificate cu --header.

       [!] --header antet[,antet...]
              Potrivește pachetul care include EXACT toate antetele specificate. Antetele încapsulate cu antetul
              ESP sunt excluse din domeniu. Tipurile posibile de antet pot fi:

       hop|hop-by-hop
              Antetul de opțiuni Hop-by-Hop

       dst    Antetul de opțiuni destinație

       route  Antetul de direcționare

       frag   Antetul fragmentelor

       auth   Antetul de autentificare

       esp    Antetul încapsulării sarcinii de securitate (Encapsulating Security Payload)

       none   Niciun antet Next(următor) care să corespundă cu 59 din câmpul antetul următor „Next Header field”
              al antetului IPv6 sau orice antet de extensie IPv6

       prot   care  se potrivește cu orice antet de protocol de nivel(strat) superior. De asemenea, sunt permise
              un nume de protocol din „/etc/protocols” și o valoare numerică. Numărul  255  este  echivalent  cu
              prot.

   ipvs
       Potrivește proprietățile conexiunii IPVS.

       [!] --ipvs
              pachetul aparține unei conexiuni IPVS

       Oricare dintre următoarele opțiuni implică opțiunea „--ipvs” (chiar și negată)

       [!] --vproto protocol
              Protocolul VIP care urmează să se potrivească; prin număr sau nume, de exemplu „tcp”

       [!] --vaddr adresa[/masca]
              Adresa VIP pentru potrivire

       [!] --vport port
              Portul VIP care trebuie să corespundă; prin număr sau nume, de exemplu „http”

       --vdir {ORIGINAL|REPLY}
              direcția fluxului pachetului

       [!] --vmethod {GATE|IPIP|MASQ}
              Metoda de redirecționare IPVS utilizată

       [!] --vportctl port
              Portul VIP al conexiunii de control care trebuie să corespundă, de exemplu 21 pentru FTP

   length
       Acest  modul  potrivește  lungimea încărcăturii utile de nivel 3 (de exemplu, pachetul de nivel 4) a unui
       pachet cu o anumită valoare sau gamă de valori.

       [!] --length lungimea[:lungimea]

   limit
       Acest modul se potrivește la o rată limitată utilizând un filtru de tip „token  bucket”.  O  regulă  care
       utilizează  această  extensie  se  va  potrivi până când această limită este atinsă. Poate fi utilizat în
       combinație cu ținta LOG pentru a oferi o jurnalizare limitată, de exemplu.

       xt_limit nu acceptă negarea - va trebui să utilizați „-m hashlimit !  --hashlimit  rate”  în  acest  caz,
       omițând în același timp „--hashlimit-mode”.

       --limit rata[/second|/minute|/hour|/day]
              Rata  medie  maximă de potrivire: specificată ca număr, cu un sufix opțional „/second”, „/minute”,
              „/hour” sau „/day”; valoarea implicită este 3/hour.

       --limit-burst număr
              Numărul inițial maxim de pachete care se potrivesc: acest număr se reîncarcă  cu  unu  de  fiecare
              dată  când limita specificată mai sus nu este atinsă, până la acest număr; valoarea implicită este
              5.

   mac
       [!] --mac-source adresa
              Potrivește adresa MAC sursă.  Aceasta trebuie să fie de forma XX:XX:XX:XX:XX:XX:XX.   Rețineți  că
              acest  lucru  are sens numai pentru pachetele care provin de la un dispozitiv Ethernet și intră în
              lanțurile PREROUTING, FORWARD sau INPUT.

   mark
       Acest modul corespunde câmpului de marcaj netfilter asociat unui pachet (care poate fi definit  utilizând
       ținta MARK de mai jos).

       [!] --mark valoare[/masca]
              Potrivește pachetele cu valoarea marcajului fără semn dată (dacă este specificată o mască, aceasta
              este logic AND corelată cu masca înainte de comparație).

   mh (specific IPv6)
       Această  extensie  este  încărcată  dacă se specifică „---protocol ipv6-mh” sau „---protocol mh”. Aceasta
       oferă următoarea opțiune:

       [!] --mh-type tip[:tip]
              Aceasta permite specificarea tipului de antet de mobilitate (MH), care poate fi un MH numeric tip,
              tip sau una dintre denumirile de tip MH afișate de comanda
               ip6tables -p mh -h

   multiport
       Acest modul se potrivește cu un set de porturi sursă sau  destinație.  Pot  fi  specificate  până  la  15
       porturi. Un interval de porturi (port:port) contează ca două porturi. Poate fi utilizat numai împreună cu
       unul dintre următoarele protocoale: tcp, udp, udplite, dccp și sctp.

       [!] --source-ports,--sports port[,port|,port:port]...
              Se  potrivește  dacă  portul  sursă  este unul dintre porturile date. Indicatorul --sports este un
              alias convenabil pentru această opțiune. Mai multe porturi sau intervale de porturi sunt  separate
              prin  virgulă,  iar  un  interval  de  porturi  este  specificat  prin  două  puncte. Prin urmare,
              53,1024:65535 ar corespunde porturilor 53 și tuturor porturilor de la 1024 la 65535.

       [!] --destination-ports,--dports port[,port|,port:port]...
              Se potrivește dacă portul de destinație este unul dintre porturile date. Indicatorul --dports este
              un alias convenabil pentru această opțiune.

       [!] --ports port[,port|,port:port]...
              Se potrivește dacă porturile sursă sau destinație sunt egale cu unul dintre porturile date.

   nfacct
       Potrivirea nfacct furnizează  infrastructura  de  contabilizare  extinsă  pentru  iptables.   Trebuie  să
       utilizați această potrivire împreună cu utilitatea autonomă din spațiul utilizatorului nfacct(8)

       Singura opțiune disponibilă pentru această potrivire este următoarea:

       --nfacct-name nume
              Aceasta  vă  permite  să  specificați  numele  obiectului  existent  care  va  fi  utilizat pentru
              contabilizarea traficului care corespunde acestui set de reguli.

       Pentru a utiliza această extensie, trebuie să creați un obiect contabil:

              nfacct add http-traffic

       Apoi, trebuie să îl atașați la obiectul contabil prin iptables:

              iptables -I INPUT -p tcp --sport 80 -m nfacct --nfacct-name http-traffic

              iptables -I OUTPUT -p tcp --dport 80 -m nfacct --nfacct-name http-traffic

       Apoi, puteți verifica cantitatea de trafic care corespunde regulilor:

              nfacct get http-traffic

              { pkts = 00000000000000000156, bytes = 00000000000000151786 } = http-traffic;

       Puteți obține nfacct(8) de la https://www.netfilter.org sau, alternativ, din depozitul git.netfilter.org.

   osf
       Modulul osf realizează amprentarea pasivă a sistemului de  operare.  Acest  modul  compară  anumite  date
       (dimensiunea  ferestrei,  MSS,  opțiunile  și  ordinea lor, TTL, DF și altele) din pachetele cu bitul SYN
       activat.

       [!] --genre șir
              Potrivește un gen de sistem de operare folosind o amprentă pasivă.

       --ttl nivel
              Efectuează verificări TTL suplimentare asupra pachetului pentru a determina sistemul  de  operare.
              nivel poate fi una dintre următoarele valori:

              0      Comparație  TTL reală între adresa IP și amprenta digitală. Aceasta funcționează în general
                     pentru LAN-uri.

              1      Verifică dacă TTL-ul antetului IP este mai mic decât cel al amprentei. Funcționează  pentru
                     adresele ce pot fi direcționate la nivel global.

              2      Nu compară deloc TTL--ul.

       --log nivel
              Înregistrează  genurile  determinate  în dmesg chiar dacă acestea nu corespund cu cel dorit. nivel
              poate fi una dintre următoarele valori:

              0      Înregistrează toate semnăturile care corespund sau necunoscute

              1      Înregistrează numai prima

              2      Înregistrează toate semnăturile cunoscute care corespund

       Este posibil să găsiți așa ceva în syslog:

       Windows [2000:SP3:Windows XP Pro  SP1,  2000  SP3]:  11.22.33.55:4024  ->  11.22.33.44:139  hops=3  Linux
       [2.5-2.6:] : 1.2.3.4:42624 -> 1.2.3.5:22 hops=4

       Amprentele  de  SO  pot fi încărcate cu ajutorul programului nfnl_osf. Pentru a încărca amprente digitale
       dintr-un fișier, utilizați:

       nfnl_osf -f /usr/share/xtables/pf.os

       Pentru a le elimina din nou,

       nfnl_osf -f /usr/share/xtables/pf.os -d

       Baza    de     date     privind     amprentele     digitale     poate     fi     descărcată     de     la
       http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os .

   owner
       Acest  modul  încearcă  să  corespundă  diferitelor  caracteristici  ale  creatorului  pachetului, pentru
       pachetele generate local. Această potrivire este valabilă  numai  în  lanțurile  OUTPUT  și  POSTROUTING.
       Pachetele  transmise  nu au niciun soclu asociat cu ele. Pachetele provenite de la firele de execuție ale
       nucleului au un soclu, dar de obicei nu au proprietar.

       [!] --uid-owner nume-utilizator

       [!] --uid-owner id-utilizator[-id-utilizator]
              Verifică dacă structura de fișiere  a  soclului  de  pachete  (dacă  are  una)  este  deținută  de
              utilizatorul dat. De asemenea, puteți specifica un UID numeric sau un interval UID.

       [!] --gid-owner nume-grup

       [!] --gid-owner id-grup[-id-gru]
              Verifică dacă structura de fișiere a soclului de pachete este deținută de grupul dat. De asemenea,
              puteți specifica un GID numeric sau un interval GID.

       --suppl-groups
              Face  ca  grupul  sau  grupurile  specificate  cu  --gid-owner  să  fie verificate și în grupurile
              suplimentare ale unui proces.

       [!] --socket-exists
              Verifică dacă pachetul este asociat cu un soclu.

   physdev
       Acest modul se potrivește cu dispozitivele de intrare și ieșire  ale  portului  de  punte  aservite  unui
       dispozitiv de punte. Acest modul face parte din infrastructura care permite un paravan de protecție IP cu
       punte transparentă și este util numai pentru versiunile de nucleu mai mari de versiunea 2.5.44.

       [!] --physdev-in nume
              Numele  unui  port  de punte prin care este primit un pachet (numai pentru pachetele care intră în
              lanțurile INPUT, FORWARD și PREROUTING). Dacă numele interfeței se termină cu un „+”, atunci se va
              potrivi orice interfață care începe cu acest nume. Dacă pachetul nu a ajuns  printr-un  dispozitiv
              punte,  acest  pachet  nu va corespunde acestei opțiuni, cu excepția cazului în care se utilizează
              „!”.

       [!] --physdev-out nume
              Numele unui port de punte prin care va fi trimis un pachet (pentru pachetele de punte  care  intră
              în  lanțurile  FORWARD  și POSTROUTING). Dacă numele interfeței se termină cu un „+”, atunci se va
              potrivi orice interfață care începe cu acest nume.

       [!] --physdev-is-in
              Se potrivește dacă pachetul a intrat printr-o interfață punte.

       [!] --physdev-is-out
              Se potrivește dacă pachetul va pleca printr-o interfață punte.

       [!] --physdev-is-bridged
              Verifică dacă pachetul este conectat prin punte și, prin urmare, nu este direcționat. Acest  lucru
              este util numai în lanțurile FORWARD și POSTROUTING.

   pkttype
       Acest modul corespunde tipului de pachet din stratul de legătură(conexiune).

       [!] --pkt-type {unicast|broadcast|multicast}

   policy
       Acest modul se potrivește cu politica utilizată de IPsec pentru gestionarea unui pachet.

       --dir {in|out}
              Utilizat  pentru  a  selecta  dacă  să  se  potrivească  politica utilizată pentru decapsulare sau
              politica care va fi utilizată pentru încapsulare.  in este valabil în lanțurile PREROUTING,  INPUT
              și FORWARD, out este valabil în lanțurile POSTROUTING, OUTPUT și FORWARD.

       --pol {none|ipsec}
              Verifică dacă pachetul este supus procesării IPsec. --pol none nu poate fi combinată cu --strict.

       --strict
              Selectează  dacă  să  se  potrivească cu politica exactă sau să se potrivească dacă orice regulă a
              politicii se potrivește cu politica dată.

       Pentru fiecare element de politică care urmează să fie descris, se pot utiliza una sau mai  multe  dintre
       următoarele opțiuni. Atunci când --strict este în vigoare, trebuie utilizată cel puțin una pentru fiecare
       element.

       [!] --reqid id
              Se  potrivește  cu  reqid-ul  regulii de politică. Reqid poate fi specificat cu setkey(8) folosind
              unique:id ca nivel.

       [!] --spi spi
              Se potrivește cu SPI al SA.

       [!] --proto {ah|esp|ipcomp}
              Potrivește protocolul de încapsulare.

       [!] --mode {tunnel|transport}
              Potrivește modul de încapsulare.

       [!] --tunnel-src adresa[/masca]
              Se potrivește cu adresa punctului final sursă al unui SA în mod tunel. Valabilă  numai  cu  --mode
              tunnel.

       [!] --tunnel-dst adresa[/masca]
              Se  potrivește  cu adresa punctului final de destinație al unui SA în mod tunel. Valabilă numai cu
              --mode tunnel.

       --next Începe următorul element din specificația politicii. Poate fi utilizată numai cu --strict.

   quota
       Implementează cotele de rețea prin decrementarea unui contor de octeți cu  fiecare  pachet.  Condiția  se
       potrivește  până  când  contorul de octeți ajunge la zero. Comportamentul este inversat în cazul negației
       (de exemplu, condiția nu corespunde până când contorul de octeți ajunge la zero).

       [!] --quota octeți
              Cota exprimată în octeți.

   rateest
       Estimatorul de rată se poate potrivi cu ratele estimate colectate de obiectivul RATEEST.  Acesta  acceptă
       potrivirea  pe  baza  valorilor  absolute bps/pps, compararea a două estimatoare de rată și potrivirea pe
       baza diferenței dintre două estimatoare de rată.

       Pentru o mai bună înțelegere a opțiunilor disponibile, acestea sunt toate combinațiile posibile:

       Absolută

       •   rateest operator rateest-bpsrateest operator rateest-pps

       Absolută + Delta:

       •   (rateest minus rateest-bps1) operator rateest-bps2

       •   (rateest minus rateest-pps1) operator rateest-pps2

       Relativă:

       •   rateest1 operator rateest2 rateest-bps(fără rată!)

       •   rateest1 operator rateest2 rateest-pps(fără rată!)

       Relativă + Delta:

       •   (rateest1 minus rateest-bps1) operator (rateest2 minus rateest-bps2)

       •   (rateest1 minus rateest-pps1) operator (rateest2 minus rateest-pps2)

       --rateest-delta
           Pentru fiecare estimator (în mod  absolut  sau  relativ),  se  calculează  diferența  dintre  debitul
           determinat  de  estimator și valoarea statică aleasă cu opțiunile BPS/PPS. Dacă debitul este mai mare
           decât BPS/PPS specificat, se va utiliza 0  în  loc  de  o  valoare  negativă.  Cu  alte  cuvinte,  se
           utilizează „max(0, rateest#_rate - rateest#_bps)”.

       [!] --rateest-lt
           Se potrivește dacă rata este mai mică decât rata/estimatorul dat.

       [!] --rateest-gt
           Se potrivește dacă rata este mai mare decât rata/estimatorul dat.

       [!] --rateest-eq
           Se potrivește dacă rata este egală cu rata/estimatorul dat.

       În  așa-numitul  „mod  absolut”,  se  utilizează  un  singur estimator de rată și se compară cu o valoare
       statică, în timp ce în „modul relativ”, doi estimatori de rată sunt comparați unul cu celălalt.

       --rateest nume
              Numele estimatorului cu o rată pentru modul absolut.

       --rateest1 nume

       --rateest2 nume
              Numele celor doi estimatori de rată pentru modul relativ.

       --rateest-bps [valoare]

       --rateest-pps [valoare]

       --rateest-bps1 [valoare]

       --rateest-bps2 [valoare]

       --rateest-pps1 [valoare]

       --rateest-pps2 [valoare]
              Compară estimatorul (estimatorii) pe octeți sau pachete pe secundă și compară cu valoarea  aleasă.
              Consultați lista de puncte de mai sus pentru a afla care opțiune trebuie utilizată în fiecare caz.
              Se  poate  utiliza  un  sufix de unitate - cele disponibile sunt: bit, [kmgt]bit, [KMGT]ibit, Bps,
              [KMGT]Bps, [KMGT]iBps.

       Exemplu: Acesta este modul în care pot fi direcționate conexiunile de date de ieșire de la un server  FTP
       pe  două linii, în funcție de lățimea de bandă disponibilă în momentul în care a fost inițiată conexiunea
       de date:

       # Estimarea ratelor de ieșire

       iptables -t mangle -A POSTROUTING  -o  eth0  -j  RATEEST  --rateest-name  eth0  --rateest-interval  250ms
       --rateest-ewma 0.5s

       iptables  -t  mangle  -A  POSTROUTING  -o  ppp0  -j  RATEEST --rateest-name ppp0 --rateest-interval 250ms
       --rateest-ewma 0.5s

       # Marcare bazată pe lățimea de bandă disponibilă

       iptables  -t  mangle  -A  balance  -m  conntrack  --ctstate  NEW  -m  helper  --helper  ftp  -m   rateest
       --rateest-delta  --rateest1 eth0 --rateest-bps1 2.5mbit --rateest-gt --rateest2 ppp0 --rateest-bps2 2mbit
       -j CONNMARK --set-mark 1

       iptables  -t  mangle  -A  balance  -m  conntrack  --ctstate  NEW  -m  helper  --helper  ftp  -m   rateest
       --rateest-delta  --rateest1 ppp0 --rateest-bps1 2mbit --rateest-gt --rateest2 eth0 --rateest-bps2 2.5mbit
       -j CONNMARK --set-mark 2

       iptables -t mangle -A balance -j CONNMARK --restore-mark

   realm (specific IPv4)
       Aceasta corespunde domeniului de direcționare. Domeniile de direcționare sunt utilizate  în  configurații
       de direcționare complexe care implică protocoale de direcționare dinamice precum BGP.

       [!] --realm valoare[/masca]
              Potrivește  un număr de domeniu dat (și, opțional, o mască). Dacă nu este un număr, valoarea poate
              fi un domeniu numit din „/etc/iproute2/rt_realms” (masca nu poate fi utilizată în acest caz). Atât
              valoarea, cât și masca sunt numere întregi fără semn de patru octeți  și  pot  fi  specificate  în
              zecimal, hexazecimal (prin prefixarea cu "0x") sau octal (dacă se indică un zero în față).

   recent
       Vă  permite  să creați în mod dinamic o listă de adrese IP și apoi să le comparați cu lista respectivă în
       mai multe moduri diferite.

       De exemplu, puteți crea o listă de „răufăcători” cu persoanele care încearcă să se  conecteze  la  portul
       139  din  paravanul dvs de protecție și apoi să ARUNCAȚI toate pachetele viitoare de la acestea fără a le
       lua în considerare.

       --set, --rcheck, --update și --remove se exclud reciproc.

       --name nume
              Specifică lista de utilizat pentru comenzi. Dacă nu este specificat  niciun  nume,  atunci  se  va
              utiliza DEFAULT.

       [!] --set
              Aceasta  va  adăuga  adresa  sursă a pachetului în listă. Dacă adresa sursă se află deja în listă,
              aceasta va actualiza intrarea existentă. Aceasta va returna întotdeauna un răspuns de succes  (sau
              de eșec dacă este specificat !).

       --rsource
              Potrivește/salvează  adresa  sursă  a  fiecărui  pachet  din  tabelul listei recente. Aceasta este
              valoarea implicită.

       --rdest
              Potrivește/salvează adresa de destinație a fiecărui pachet din tabelul listei recente.

       --mask mască-rețea
              Masca de rețea care va fi aplicată acestei liste recente.

       [!] --rcheck
              Verifică dacă adresa sursă a pachetului se află în prezent în listă.

       [!] --update
              La fel ca --rcheck, cu excepția faptului că va actualiza marca temporală „last seen” (văzut ultima
              dată) dacă se potrivește.

       [!] --remove
              Verifică dacă adresa sursă a pachetului se află în prezent în listă și, dacă da, adresa respectivă
              va fi eliminată din listă, iar regula va returna „true”. Dacă adresa nu este găsită, se returnează
              „false”.

       --seconds secunde
              Această opțiune trebuie utilizată împreună cu una dintre opțiunile --rcheck sau  --update.  Atunci
              când  este  utilizată, această opțiune va restrânge potrivirea pentru a avea loc numai atunci când
              adresa se află în listă și a fost văzută în ultimul număr dat de secunde.

       --reap Această opțiune poate fi utilizată numai  împreună  cu  --seconds.  Atunci  când  este  utilizată,
              aceasta va determina purjarea intrărilor mai vechi decât ultimul număr de secunde dat.

       --hitcount hits
              Această  opțiune  trebuie utilizată împreună cu una dintre opțiunile --rcheck sau --update. Atunci
              când este utilizată, această opțiune va restrânge potrivirea pentru a avea loc numai  atunci  când
              adresa  este  în  listă  și  au  fost primite pachete mai mari sau egale cu valoarea dată. Această
              opțiune poate fi utilizată împreună cu --seconds pentru a crea o potrivire  și  mai  îngustă  care
              necesită un anumit număr de rezultate într-un anumit interval de timp.

       --rttl Această  opțiune  poate fi utilizată numai împreună cu una dintre opțiunile --rcheck sau --update.
              Atunci când este utilizată, această opțiune va restrânge potrivirea pentru a avea loc numai atunci
              când adresa se află în listă și TTL-ul pachetului curent corespunde cu cel al  pachetului  care  a
              corespuns  reguii  --set.  Acest  lucru  poate  fi  util  dacă aveți probleme cu persoane care își
              falsifică adresa sursă pentru a vă face DoS prin intermediul acestui  modul,  interzicând  accesul
              altora la situl dumneavoastră prin trimiterea de pachete false către dumneavoastră.

       Exemple:

              iptables -A FORWARD -m recent --name badguy --rcheck --seconds 60 -j DROP

              iptables -A FORWARD -p tcp -i eth0 --dport 139 -m recent --name badguy --set -j DROP

       /proc/net/xt_recent/*  sunt  listele  actuale  de adrese și informații despre fiecare intrare din fiecare
       listă.

       Fiecare fișier din /proc/net/xt_recent/ poate fi citit pentru a vedea lista curentă  sau  scris  folosind
       următoarele comenzi pentru a modifica lista:

       echo +addr >/proc/net/xt_recent/DEFAULT
              pentru a adăuga adresa la lista DEFAULT

       echo -addr >/proc/net/xt_recent/DEFAULT
              pentru a elimina adresa din lista DEFAULT

       echo / >/proc/net/xt_recent/DEFAULT
              pentru a goli lista DEFAULT (a elimina toate intrările).

       Modulul în sine acceptă parametri, cu valorile implicite afișate:

       ip_list_tot=100
              Numărul de adrese memorate per tabel.

       ip_pkt_list_tot=0
              Numărul  de  pachete  pe  adresă  memorată.  Acest  parametru  este obsolet de la versiunea 3.19 a
              nucleului, care a început să calculeze dimensiunea tabelului pe baza parametrului --hitcount dat.

       ip_list_hash_size=0
              Dimensiunea tabelului  de  sume  de  control  (hash).  0  înseamnă  calcularea  acesteia  pe  baza
              ip_list_tot  prin  rotunjire  la  următoarea  putere  a  lui  doi (cu ip_list_tot implicit la 100,
              ip_list_hash_size va calcula implicit la 128).

       ip_list_perms=0644
              Permisiuni pentru fișierele „/proc/net/xt_recent/*”.

       ip_list_uid=0
              UID numeric pentru proprietarul fișierelor „/proc/net/xt_recent/*”.

       ip_list_gid=0
              GID numeric pentru proprietarul fișierelor „/proc/net/xt_recent/*”.

   rpfilter
       Efectuează un test de filtrare a rutei inverse pe un pachet.  Dacă un răspuns la pachet ar fi trimis prin
       aceeași interfață pe care a sosit pachetul, pachetul  va  corespunde.  Rețineți  că,  spre  deosebire  de
       rp_filter  din  nucleu,  pachetele protejate prin IPSec nu sunt tratate în mod special. Combinați această
       potrivire cu potrivirea de politică dacă doriți acest lucru. De  asemenea,  pachetele  care  sosesc  prin
       interfața  „loopback”  sunt  întotdeauna  permise.  Această  potrivire poate fi utilizată numai în lanțul
       PREROUTING din tabelul „raw” sau „mangle”.

       --loose
              Utilizat pentru a specifica faptul că testul filtrului de cale inversă trebuie să corespundă chiar
              dacă dispozitivul de ieșire selectat nu este cel așteptat.

       --validmark
              De asemenea, utilizează valoarea „nfmark” a pachetelor atunci când efectuează  căutarea  rutei  pe
              calea inversă.

       --accept-local
              Acest  lucru va permite pachetelor care sosesc din rețea cu o adresă sursă care este, de asemenea,
              atribuită calculatorului local.

       --invert
              Aceasta va inversa sensul potrivirii. În loc să se potrivească pachetele  care  au  trecut  testul
              filtrului de cale inversă, se potrivesc cele care nu l-au trecut.

       Exemplu de înregistrare și eliminare a pachetelor care nu trec testul filtrului de cale inversă:

       iptables -t raw -N RPFILTER

       iptables -t raw -A RPFILTER -m rpfilter -j RETURN

       iptables -t raw -A RPFILTER -m limit --limit 10/minute -j NFLOG --nflog-prefix "rpfilter drop"

       iptables -t raw -A RPFILTER -j DROP

       iptables -t raw -A PREROUTING -j RPFILTER

       Exemplu pentru a respinge pachetele eșuate, fără înregistrare în jurnal:

       iptables -t raw -A RPFILTER -m rpfilter --invert -j DROP

   rt (IPv6-specific)
       Potrivire pe antetul de direcționare IPv6

       [!] --rt-type tip
              Potrivește tipul (numeric).

       [!] --rt-segsleft număr[:număr]
              Potrivește câmpul „segmente din stânga” (interval).

       [!] --rt-len lungime
              Potrivește lungimea acestui antet.

       --rt-0-res
              Potrivește și câmpul rezervat (type=0)

       --rt-0-addrs adresa[,adresa...]
              Potrivește adresele de tip 0 „type=0” (listă).

       --rt-0-not-strict
              Lista de adrese de tip 0 „type=0” nu este o listă strictă.

   sctp
       Acest  modul  se potrivește cu antetele „Stream Control Transmission Protocol” (protocol de transmisie cu
       control al fluxului).

       [!] --source-port,--sport port[:port]

       [!] --destination-port,--dport port[:port]

       [!] --chunk-types {all|any|only} tip-bucată[:fanioane] [...]
              Literele fanionului în majuscule indică  faptul  că  fanionul  trebuie  să  corespundă  dacă  este
              activat, în minuscule indică faptul că trebuie să corespundă dacă nu este activat.

              Tipuri de potrivire:

       all    Se potrivește dacă toate tipurile de bucăți date sunt prezente și fanioanele corespund.

       any    Se potrivește dacă oricare dintre tipurile de bucăți date este prezent cu fanioanele date.

       only   Se  potrivește  dacă numai tipurile de bucăți date sunt prezente cu fanioanele date și niciunul nu
              lipsește.

              Tipuri de bucăți: DATA INIT INIT_ACK SACK  HEARTBEAT  HEARTBEAT_ACK  ABORT  SHUTDOWN  SHUTDOWN_ACK
              ERROR  COOKIE_ECHO  COOKIE_ACK  ECN_ECNE  ECN_CWR  SHUTDOWN_COMPLETE  I_DATA  RE_CONFIG PAD ASCONF
              ASCONF_ACK FORWARD_TSN I_FORWARD_TSN

              tip de bucată, fanioane disponibile
              DATA I U B E i u b e
              I_DATA I U B E i u b e
              ABORT T t
              SHUTDOWN_COMPLETE T t

              (minuscule înseamnă că steagul trebuie să fie „dezactivat”, majuscule înseamnă „activat”)

       Exemple:

       iptables -A INPUT -p sctp --dport 80 -j DROP

       iptables -A INPUT -p sctp --chunk-types any DATA,INIT -j DROP

       iptables -A INPUT -p sctp --chunk-types any DATA:Be -j ACCEPT

   set
       Acest modul corespunde seturilor IP care pot fi definite prin ipset(8).

       [!] --match-set nume-set fanion[,fanion]...
              unde fanioanele sunt lista de specificații src și/sau dst separate prin virgule și nu pot  fi  mai
              mult de șase. Prin urmare, comanda

               iptables -A FORWARD -m set --match-set test src,dst

              va  potrivi pachetele pentru care (dacă tipul de set este ipportmap) perechea adresă sursă și port
              destinație poate fi găsită în setul specificat. Dacă tipul setului specificat este  de  dimensiune
              unică  (de  exemplu, ipmap), atunci comanda va potrivi pachetele pentru care adresa sursă poate fi
              găsită în setul specificat.

       --return-nomatch
              Dacă este specificată opțiunea --return-nomatch și tipul de set acceptă fanionul  nomatch,  atunci
              potrivirea este inversată: o potrivire cu un element marcat cu nomatch returnează true, în timp ce
              o potrivire cu un element simplu returnează false.

       ! --update-counters
              Dacă  opțiunea  --update-counters  este  negată,  atunci  contoarele  de  pachete și de octeți ale
              elementului corespunzător din set nu vor fi actualizate. În mod implicit, contoarele de pachete și
              de octeți sunt actualizate.

       ! --update-subcounters
              Dacă opțiunea --update-subcounters este negată, atunci contoarele de  pachete  și  de  octeți  ale
              elementului  corespunzător din setul membru al unei liste de tip set nu vor fi actualizate. În mod
              implicit, contoarele de pachete și de octeți sunt actualizate.

       [!] --packets-eq valoare
              Dacă pachetul se potrivește cu un element din set, se potrivește numai dacă și contorul de pachete
              al elementului se potrivește cu valoarea dată.

       --packets-lt valoare
              Dacă pachetul se potrivește cu un element din set, se potrivește numai dacă și contorul de pachete
              al elementului este mai mic decât valoarea dată.

       --packets-gt valoare
              Dacă pachetul se potrivește cu un element din set, se potrivește numai dacă contorul de pachete al
              elementului este mai mare decât valoarea dată.

       [!] --bytes-eq valoare
              Dacă pachetul se potrivește cu un element din set, se potrivește numai dacă și contorul de  octeți
              al elementului se potrivește cu valoarea dată.

       --bytes-lt valoare
              Dacă  pachetul se potrivește cu un element din set, se potrivește numai dacă contorul de octeți al
              elementului este mai mic decât valoarea dată.

       --bytes-gt valoare
              Dacă pachetul se potrivește cu un element din set, se potrivește numai dacă contorul de octeți  al
              elementului este mai mare decât valoarea dată.

       Opțiunile  și  fanioanele  aferente contoarelor de pachete și de octeți sunt ignorate atunci când setul a
       fost definit fără suport pentru contoare.

       Opțiunea --match-set poate fi înlocuită cu --set dacă aceasta nu intră în conflict cu o opțiune  a  altor
       extensii.

       Utilizarea  lui -m set necesită ca suportul pentru nucleu ipset să fie furnizat, ceea ce, pentru nucleele
       standard, este cazul începând cu Linux 2.6.39.

   soclu
       Se potrivește dacă un soclu TCP/UDP deschis poate fi  găsit  prin  căutarea  unui  soclu  pe  pachet.  Se
       potrivește  în  cazul  în  care există un soclu de ascultare stabilit sau conectat în mod diferit de zero
       (eventual cu o adresă non-locală). Căutarea se efectuează utilizând tuplele packet ale pachetelor TCP/UDP
       sau antetul TCP/UDP original embedded dintr-un pachet de eroare ICMP/ICPMv6.

       --transparent
              Ignoră soclurile netransparente.

       --nowildcard
              Nu ignoră soclurile legate la adresa „oricare”. În  mod  implicit,  potrivirea  soclurilor  nu  va
              accepta ascultători legați de zero, deoarece astfel serviciile locale ar putea intercepta traficul
              care  altfel ar fi redirecționat. Prin urmare, această opțiune are implicații de securitate atunci
              când este utilizată pentru a potrivi  traficul  redirecționat  pentru  a  redirecționa  astfel  de
              pachete  către  mașina  locală  cu  politica de direcționare. Atunci când se utilizează potrivirea
              soclului pentru a implementa proxy-uri  complet  transparente  legate  la  adrese  non-locale,  se
              recomandă utilizarea opțiunii „--transparent”.

       Exemplu (presupunând că pachetele cu marcajul 1 sunt livrate local):

              -t mangle -A PREROUTING -m socket --transparent -j MARK --set-mark 1

       --restore-skmark
              Stabilește  marca  pachetului  la  marca  soclului  corespunzător. Poate fi combinată cu opțiunile
              --transparent și --nowildcard pentru a restricționa soclurile care trebuie  să  corespundă  atunci
              când se restabilește marca pachetului.

       Exemplu:  O  aplicație  deschide  2  socluri transparente (IP_TRANSPARENT) și le marchează cu opțiunea de
       soclu SO_MARK. Putem filtra pachetele corespunzătoare:

              -t mangle -I PREROUTING -m socket --transparent --restore-skmark -j action

              -t mangle -A action -m mark --mark 10 -j action2

              -t mangle -A action -m mark --mark 11 -j action3

   state
       Extensia „state” este un subset al modulului „conntrack”.  „state” permite accesul la starea de  urmărire
       a conexiunii pentru acest pachet.

       [!] --state starea
              Unde  „state” este o listă separată prin virgule a stărilor conexiunii care trebuie să corespundă.
              Numai un subset de stări înțelese de „conntrack”  sunt  recunoscute:  INVALID,  ESTABLISHED,  NEW,
              RELATED  sau  UNTRACKED.  Pentru  descrierea  acestora, consultați rubrica „conntrack” din această
              pagină de manual.

   statistic
       Acest modul potrivește pachetele  pe  baza  unor  condiții  statistice.  Acceptă  două  moduri  distincte
       stabilite cu opțiunea --mode.

       Opțiuni acceptate:

       --mode mod
              Stabilește modul de potrivire al regulii de potrivire, modurile acceptate sunt random și nth.

       [!] --probability p
              Definește  probabilitatea  ca  un  pachet  să  fie comparat aleatoriu. Funcționează numai cu modul
              random. p trebuie să fie între 0,0 și 1,0.  Gradul  de  finețe  acceptat  este  în  incremente  de
              1/2147483648.

       [!] --every n
              Potrivește  un  pachet  la fiecare al n-lea pachet. Funcționează numai cu modul nth (a se vedea și
              opțiunea --packet).

       --packet p
              Stabilește valoarea inițială a contorului (0 <= p <= n-1, implicit 0) pentru modul nth.

   string
       Acest modul potrivește un șir dat folosind o strategie de potrivire a modelelor. Necesită un nucleu linux
       >= 2.6.14.

       --algo {bm|kmp}
              Selectează strategia de potrivire a modelelor. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)

       --from poziția
              Stabilește poziția de la care începe  căutarea  oricărei  potriviri.  Dacă  nu  este  specificată,
              valoarea implicită este 0.

       --to poziția
              Stabilește  poziția  până la care trebuie scanat. Adică, octetul poziția-1 (numărând de la 0) este
              ultimul care este scanat și poziția maximă  a  ultimului  caracter  al  modelului.  Dacă  nu  este
              specificată, valoarea implicită este dimensiunea pachetului.

       [!] --string model
              Potrivește modelul dat.

       [!] --hex-string model
              Potrivește modelul dat.

       --icase
              Nu face distincție între majuscule și minuscule atunci când caută.

       Exemple:

              # Modelul de șir poate fi utilizat pentru caractere simple de text.
              iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string 'GET /index.html' -j LOG

              #  Modelul de șir hexazecimal poate fi utilizat pentru caractere neimprimabile, precum |0D 0A| sau
              |0D0A|.
              iptables  -p  udp  --dport  53  -m   string   --algo   bm   --from   40   --to   57   --hex-string
              '|03|www|09|netfilter|03|org|00|'

       Notă:  Deoarece  Boyer-Moore  (BM)  efectuează  căutări de potrivire de la dreapta la stânga, iar nucleul
       poate stoca un pachet în mai multe blocuri discontinue, este posibil ca o potrivire să fie răspândită  pe
       mai multe blocuri, caz în care acest algoritm nu o va găsi.

       Dacă  doriți  să  vă  asigurați  că  un  astfel de lucru nu se va întâmpla niciodată, utilizați în schimb
       algoritmul Knuth-Pratt-Morris (KMP). În concluzie, alegeți algoritmul adecvat de căutare a  șirurilor  de
       caractere în funcție de cazul dvs. de utilizare.

       De  exemplu,  dacă utilizați modulul pentru filtrare, NIDS sau orice alt scop similar axat pe securitate,
       atunci alegeți KMP. Pe de altă parte, dacă vă pasă cu adevărat de performanță - de  exemplu,  clasificați
       pachetele  pentru  a  aplica  politici  de calitate a serviciului (QoS) - și nu vă deranjează să pierdeți
       posibile potriviri răspândite pe mai multe fragmente, atunci alegeți BM.

   tcp
       Aceste extensii  pot  fi  utilizate  dacă  este  specificată  opțiunea  „--protocol  tcp”.  Acesta  oferă
       următoarele opțiuni:

       [!] --source-port,--sport port[:port]
              Specificarea  portului  sursă  sau  a  intervalului  de  porturi.  Acesta  poate fi fie un nume de
              serviciu, fie un număr de port. De asemenea, poate fi specificat un  interval  inclusiv,  folosind
              formatul primul:ultimul.  Dacă primul port este omis, se presupune „0”; dacă ultimul este omis, se
              presupune „65535”. Opțiunea --sport este un alias convenabil pentru această opțiune.

       [!] --destination-port,--dport port[:port]
              Specificarea  portului de destinație sau a intervalului de porturi. Opțiunea --dport este un alias
              convenabil pentru această opțiune.

       [!] --tcp-flags masca comp
              Se potrivește atunci când fanioanele TCP sunt cele specificate. Primul argument  masca  reprezintă
              fanioanele  pe care trebuie să le examinăm, scrise ca o listă separată prin virgule, iar al doilea
              argument comp este o listă separată prin  virgule  de  fanioane  care  trebuie  să  fie  activate.
              Fanioanele sunt: SYN ACK FIN RST URG PSH ALL NONE.  Prin urmare, comanda
               iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN
              se  va  potrivi  numai  pachetelor  cu  fanionul  SYN  activat,  iar  fanioanele  ACK,  FIN și RST
              dezactivate.

       [!] --syn
              Se potrivesc numai pachetele TCP cu bitul SYN activat și biții ACK, RST și FIN dezactivați. Aceste
              pachete sunt utilizate pentru a solicita  inițierea  unei  conexiuni  TCP;  de  exemplu,  blocarea
              acestor  pachete  care  intră  într-o  interfață  va  împiedica  conexiunile  TCP  de intrare, dar
              conexiunile TCP de ieșire nu vor fi afectate. Este echivalentă cu --tcp-flags SYN,RST,ACK,FIN SYN.
              Dacă fanionul „!” precede „--syn”, sensul opțiunii este inversat.

       [!] --tcp-option număr
              Se potrivește dacă opțiunea TCP este activată.

   tcpmss
       Aceasta corespunde câmpului TCP MSS (dimensiunea maximă a segmentului) din antetul  TCP.  Puteți  utiliza
       acest  parametru  numai  pe  pachetele  TCP  SYN  sau SYN/ACK, deoarece MSS este negociat numai în timpul
       protocolului TCP de negociere „handshake” la momentul inițierii conexiunii.

       [!] --mss valoare[:valoare]
              Potrivește o valoare sau un interval TCP MSS dat. Dacă  este  dat  un  interval,  a  doua  valoare
              trebuie să fie mai mare sau egală cu prima valoare.

   time
       Această  opțiune  se  potrivește  dacă data/ora de sosire a pachetului se încadrează într-un interval dat
       Toate opțiunile sunt opționale, dar sunt evaluate cu „AND” atunci când sunt specificate.Toate orele  sunt
       interpretate implicit ca UTC.

       --datestart AAAA[-LL[-ZZ[Thh[:mm[:ss]]]]]

       --datestop AAAA[-LL[-ZZ[Thh[:mm[:ss]]]]]
              Se potrivește numai în timpul dat, care trebuie să fie în notația ISO 8601 „T”. Intervalul de timp
              posibil este 1970-01-01T00:00:00 până la 2038-01-19T04:17:07.

              În  cazul  în care „--datestart” sau „--datestop” nu sunt specificate, se va alege în mod implicit
              1970-01-01 și, respectiv, 2038-01-19.

       --timestart hh:mm[:ss]

       --timestop hh:mm[:ss]
              Se potrivește numai în timpul zilei date. Intervalul de  timp  posibil  este  de  la  00:00:00  la
              23:59:59.  Zerourile  inițiale  sunt  permise (de exemplu, „06:03”) și sunt interpretate corect ca
              bază 10.

       [!] --monthdays ziua[,ziua...]
              Se potrivește numai în zilele lunii date. Valorile posibile sunt  de  la  1  la  31.  Rețineți  că
              specificarea  31  nu  se  va  potrivi, bineînțeles, lunilor care nu au ziua 31; același lucru este
              valabil și pentru luna februarie cu 28 sau 29 de zile.

       [!] --weekdays ziua[,ziua...]
              Se potrivește numai în zilele săptămânii date. Valorile posibile sunt Mon,  Tue,  Wed,  Thu,  Fri,
              Sat,  Sun sau valori de la 1 la 7, respectiv. Se pot utiliza și variante cu două caractere (Mo, Tu
              etc.).

       --contiguous
              Atunci când valoarea --timestop este mai mică decât  valoarea  --timestart,  se  potrivește  ca  o
              singură perioadă de timp în loc de intervale distincte.  A se vedea EXEMPLE.

       --kerneltz
              Utilizează  fusul  orar  al  nucleului  în  loc  de UTC pentru a determina dacă un pachet respectă
              reglementările temporale.

       Despre fusurile orare ale nucleului: Linux păstrează ora sistemului în UTC,  și  întotdeauna  face  acest
       lucru.  La pornire, ora sistemului este inițializată de la o sursă de timp referențială. În cazul în care
       această sursă de timp nu are informații privind fusul orar, cum ar fi RTC-ul CMOS x86,  se  va  presupune
       UTC.  În cazul în care sursa de timp nu este totuși în UTC, spațiul utilizatorului ar trebui să furnizeze
       nucleului ora corectă a sistemului și fusul orar, odată ce dispune de informații.

       Ora locală este o caracteristică a orei de sistem  (independentă  de  fusul  orar).  Fiecare  proces  are
       propria  sa  idee despre ora locală, specificată prin intermediul variabilei de mediu TZ. Nucleul are, de
       asemenea, propria sa variabilă de decalaj al fusului orar. Variabila de mediu userpace TZ specifică modul
       în care este afișată ora sistemului bazată pe UTC, de exemplu atunci când executați date(1) sau  ceea  ce
       vedeți  pe  ceasul  de pe birou. Șirul TZ se poate rezolva la diferite decalaje la date diferite, ceea ce
       permite saltul automat al orei în spațiul utilizatorilor. atunci când se schimbă ora de  vară.  Variabila
       de  decalare a fusului orar a nucleului este utilizată atunci când trebuie să convertească surse non-UTC,
       cum ar fi sistemele de fișiere FAT, în UTC  (deoarece  acesta  din  urmă  este  cel  utilizat  de  restul
       sistemului).

       Problema  cu  fusul orar al nucleului este că distribuțiile Linux pot ignora configurarea fusului orar al
       nucleului și, în schimb, pot configura doar ora sistemului. Chiar dacă o anumită distribuție configurează
       fusul orar la pornire, de obicei nu menține actualizat decalajul fusului orar al nucleului, care este cel
       care se modifică în funcție de ora de vară. ntpd nu va modifica fusul orar  al  nucleului,  astfel  încât
       rularea  sa  nu  va  rezolva  problema.  Astfel,  este  posibil  să  se întâlnească un fus orar care este
       întotdeauna +0000 sau unul care este greșit jumătate din timpul anului. Ca atare, utilizarea „--kerneltz”
       este foarte descurajată.

       EXEMPLE. Pentru a potrivi în „weekend”, utilizați:

              -m time --weekdays Sa,Su

       Sau, să se potrivească (o dată) pe un bloc de sărbătoare națională:

              -m time --datestart 2007-12-24 --datestop 2007-12-27

       Deoarece timpul de oprire este de fapt inclusiv, ar trebui ca următorul timp de oprire să nu coincidă  cu
       prima secundă a noii zile:

              -m time --datestart 2007-01-01T17:00 --datestop 2007-01-01T23:59:59

       În timpul prânzului:

              -m time --timestart 12:30 --timestop 13:30

       A patra zi de vineri din lună:

              -m time --weekdays Fr --monthdays 22,23,24,25,26,27,28

       Rețineți  că  acest  lucru  exploatează  o anumită proprietate matematică. Nu este posibil să se spună „a
       patra zi de joi SAU a patra zi de vineri” într-o singură regulă.  Este  posibil,  totuși,  cu  mai  multe
       reguli.

       Potrivirea între zile ar putea să nu aibă efectul scontat. De exemplu,

              „-m  time --weekdays Mo --timestart 23:00 --timestop 01:00”  Se va potrivi luni, timp de o oră, de
              la miezul nopții până la ora 1 a.m., și apoi din nou timp de încă o oră, de la ora  23:00  încolo.
              Dacă  acest  lucru  nu  este  dorit,  de  exemplu, dacă doriți „să se potrivească timp de două ore
              începând de luni de la ora 23:00”, trebuie să specificați și opțiunea „--contiguous”  în  exemplul
              de mai sus.

   tos
       Acest  modul  corespunde  câmpului  „Type  of  Service”  pe 8 biți din antetul IPv4 (adică inclusiv biții
       „Precedence”) sau câmpului „Priority” (tot pe 8 biți) din antetul IPv6.

       [!] --tos valoare[/masca]
              Potrivește pachetele cu valoarea indicatorului TOS dată. Dacă este specificată  o  mască,  aceasta
              este logic evaluată AND cu marcajul TOS înainte de comparație.

       [!] --tos simbol
              Puteți  specifica un nume simbolic atunci când utilizați potrivirea tos pentru IPv4. Lista de nume
              TOS recunoscute poate fi obținută apelând iptables cu -m tos -h.  Rețineți că acest lucru  implică
              o mască de 0x3F, adică toți biții, cu excepția celor ECN.

   ttl (specific IPv4)
       Acest modul se potrivește cu câmpul „time to live” din antetul IP.

       [!] --ttl-eq ttl
              Se potrivește cu valoarea TTL dată.

       --ttl-gt ttl
              Se potrivește dacă TTL este mai mare decât valoarea TTL dată.

       --ttl-lt ttl
              Se potrivește dacă TTL este mai mic decât valoarea TTL dată.

   u32
       U32  testează  dacă  cantități  de  până  la  4  octeți  extrase dintr-un pachet au valorile specificate.
       Specificarea a ceea ce trebuie extras este suficient de generală pentru a găsi date la  anumite  distanțe
       din antetele sau sarcinile utile tcp.

       [!] --u32 tests
              Argumentul reprezintă un program într-un mic limbaj descris mai jos.

              tests := location "=" value | tests "&&" location "=" value

              value := range | value "," range

              range := number | number ":" number

       un  singur  număr, n, este interpretat la fel ca n:n. n:m este interpretat ca intervalul de numere >=n și
       <=m.

           location := number | location operator number

           operator := "&" | "<<" | ">>" | "@"

       Operatorii &, <<, >> și && au același înțeles ca în C. = este de fapt un operator de  apartenență  la  un
       set,  iar  sintaxa valorii descrie un set. Operatorul @ este cel care permite trecerea la următorul antet
       și este descris mai jos.

       În prezent, există unele limite artificiale de implementare privind dimensiunea testelor:

           *  nu mai mult de 10 „=” (și 9 „&&”s) în argumentul u32

           *  nu mai mult de 10 intervale (și 9 virgule) pentru fiecare valoare

           *  nu mai mult de 10 numere (și 9 operatori) pe locație

       Pentru a descrie semnificația locației, imaginați-vă următoarea mașină care o interpretează. Există  trei
       registre:

              A este de tip char *, inițial adresa antetului IP

              B și C sunt numere întregi de 32 de biți fără semn, inițial zero

       Instrucțiunile sunt:

       number B = number;

              C = (*(A+B)<<24) + (*(A+B+1)<<16) + (*(A+B+2)<<8) + *(A+B+3)

       &number
              C = C & number

       << number
              C = C << number

       >> number
              C = C >> number

       @number
              A = A + C; apoi efectuează instrucțiunea „number”

       Orice  acces  la  memorie  în  afara  [skb->data,skb->end]  face ca potrivirea să eșueze. În caz contrar,
       rezultatul calculului este valoarea finală a lui C.

       Spațiul alb este permis, dar nu este obligatoriu în teste. Cu toate acestea, caracterele care apar  acolo
       sunt susceptibile de a necesita citarea folosită în shell, deci este o idee bună să includeți argumentele
       între ghilimele.

       Exemplu:

              se potrivesc pachetelor IP cu lungimea totală >= 256

              Antetul IP conține un câmp cu lungimea totală în octeți 2-3.

              --u32 "0 & 0xFFFF = 0x100:0xFFFF"

              citește octeții 0-3

              AND logic cu 0xFFFF (furnizează octeți 2-3) și verifică dacă această valoare se află în intervalul
              permis [0x100: 0xffff]

       Exemplu: (mai realist, așadar mai complicat)

              potrivește pachetele ICMP cu tipul icmp 0

              Mai întâi se testează dacă este un pachet ICMP, adevărat dacă octetul 9 (protocol) = 1

              --u32 "6 & 0xFF = 1 && ...

              citește  octeții  6-9,  folosește & pentru a înlătura octeții 6-8 și compară rezultatul cu 1. Apoi
              verifică dacă nu este un fragment; (dacă este, ar putea face parte dintr-un astfel de pachet,  dar
              nu  ne  putem  da  seama  întotdeauna.)  N.B.:  Acest  test este în general necesar dacă doriți să
              potriviți ceva dincolo de antetul IP. Ultimii 6 biți din octetul 6 și toți cei din octetul 7  sunt
              0  dacă  acesta  este  un  pachet  complet  (nu  un  fragment). Alternativ, puteți permite primele
              fragmente testând doar ultimii 5 biți ai octetului 6.

              ... 4 & 0x3FFF = 0 && ...

              Ultimul test: primul octet după antetul IP (tipul)  este  0.  Aici  trebuie  să  folosim  @syntax.
              Lungimea antetului IP (IHL) în cuvinte de 32 de biți este stocată în jumătatea dreaptă a octetului
              0 din antetul IP în sine.

              ... 0 >> 22 & 0x3C @ 0 >> 24 = 0"

              Primul  0  înseamnă  citirea  octeților 0-3, >>22 înseamnă deplasarea celor 22 de biți la dreapta.
              Deplasarea a 24 de biți ar da primul octet, deci numai 22 de biți înseamnă de patru ori  mai  mult
              decât  atât  plus  câțiva  biți.  &3C elimină apoi cei doi biți suplimentari din dreapta și primii
              patru biți ai primului octet. De exemplu, dacă IHL=5, atunci antetul IP are o lungime de 20  (4  x
              5)  de octeți. În acest caz, octeții 0-1 sunt (în binar) xxxx0101 yyzzzzzz, >>22 dă valoarea pe 10
              biți xxxx0101yy și &3C dă 010100. @ înseamnă să se utilizeze acest număr  ca  un  nou  decalaj  în
              pachet  și să se citească patru octeți începând de acolo. Aceștia sunt primii 4 octeți din sarcina
              utilă ICMP, din care octetul 0 este tipul ICMP. Prin urmare, pur și simplu deplasăm valoarea 24 la
              dreapta pentru a înlătura tot cu excepția primului octet și comparăm rezultatul cu 0.

       Exemplu:

              Octeții de sarcină utilă TCP 8-12 sunt oricare dintre 1, 2, 5 sau 8

              Mai întâi testăm dacă pachetul este un pachet tcp (similar cu ICMP).

              --u32 "6 & 0xFF = 6 && ...

              Apoi, se testează dacă nu este un fragment (la fel ca mai sus).

              ... 0 >> 22 & 0x3C @ 12 >> 26 & 0x3C @ 8 = 1,2,5,8"

              0>>22&3C calculează ca mai sus numărul de octeți din antetul IP. @ face din acesta noul decalaj în
              pachet, care este începutul antetului TCP. Lungimea antetului TCP (din nou în  cuvinte  de  32  de
              biți)  este  jumătatea stângă a octetului 12 din antetul TCP. 12>>26&3C calculează această lungime
              în octeți (similar cu antetul IP anterior). „@” face ca acesta să  fie  noul  decalaj,  care  este
              începutul  încărcăturii utile TCP. În cele din urmă, 8 citește octeții 8-12 din sarcina utilă și =
              verifică dacă rezultatul este oricare dintre 1, 2, 5 sau 8.

   udp
       Aceste extensii pot fi utilizate  dacă  este  specificat  „---protocol  udp”.  Acesta  oferă  următoarele
       opțiuni:

       [!] --source-port,--sport port[:port]
              Specificarea  portului sursă sau a intervalului de porturi.  Pentru detalii, consultați descrierea
              opțiunii --source-port a extensiei TCP.

       [!] --destination-port,--dport port[:port]
              Specificarea portului de destinație sau a intervalului  de  porturi.  Pentru  detalii,  consultați
              descrierea opțiunii --destination-port a extensiei TCP.

EXTENSII PENTRU ȚINTĂ

       iptables poate utiliza module țintă extinse: următoarele sunt incluse în distribuția standard.

   AUDIT
       Această  țintă  creează înregistrări de audit pentru pachetele care ating ținta. Acesta poate fi utilizat
       pentru a înregistra pachetele acceptate, abandonate și  respinse.  Consultați  auditd(8)  pentru  detalii
       suplimentare.

       --type {accept|drop|reject}
              Stabilește tipul înregistrării de audit. Începând cu linux-4.12, această opțiune nu mai are niciun
              efect  asupra  mesajelor  de  audit  generate.  Este  încă  acceptată  de  iptables  din motive de
              compatibilitate, dar este ignorată.

       Exemplu:

              iptables -N AUDIT_DROP

              iptables -A AUDIT_DROP -j AUDIT

              iptables -A AUDIT_DROP -j DROP

   CHECKSUM
       Această țintă funcționează selectiv în jurul aplicațiilor vechi/nefuncționale. Poate fi  utilizată  numai
       în tabelul de „mangle”.

       --checksum-fill
              Calculează  și  completează  suma  de  control într-un pachet care nu are o sumă de control. Acest
              lucru este deosebit de util în cazul în care trebuie să lucrați cu  aplicații  vechi,  cum  ar  fi
              clienții  dhcp,  care  nu  funcționează  bine  cu descărcarea sumelor de control, dar nu doriți să
              dezactivați descărcarea sumelor de control în dispozitivul dumneavoastră.

   CLASSIFY
       Acest modul vă permite să stabiliți valoarea skb->priority (și  astfel  să  clasificați  pachetul  într-o
       anumită clasă CBQ).

       --set-class major:minor
              Stabilește  valoarea  clasei  majore  și  minore.  Valorile sunt întotdeauna interpretate ca fiind
              hexazecimale, chiar dacă nu este dat prefixul 0x.

   CLUSTERIP (specific IPv4)
       Acest modul vă permite să configurați un cluster simplu de noduri care împart o anumită adresă IP și  MAC
       fără  a  avea  în fața lor un distribuitor de sarcină explicit. Conexiunile sunt distribuite static între
       nodurile din acest cluster.

       Vă rugăm să rețineți că obiectivul „CLUSTERIP” este considerat depreciat  în  favoarea  „cluster  match”,
       care este mai flexibil și nu este limitat la IPv4.

       --new  Creează  un  nou ClusterIP.  Întotdeauna trebuie să definiți acest lucru la prima regulă pentru un
              anumit ClusterIP.

       --hashmode mod
              Specifică modul de „hashing” (calculare  a  sumelor  de  control).  Trebuie  să  fie  unul  dintre
              sourceip, sourceip-sourceport, sourceip-sourceport-destport.

       --clustermac mac
              Specifică   adresa   MAC   ClusterIP.  Trebuie  să  fie  o  adresă  de  multicast  în  stratul  de
              legătură(conexiune)

       --total-nodes număr
              Numărul total de noduri din acest cluster.

       --local-node număr
              Numărul nodului local din cadrul acestui cluster.

       --hash-init rnd
              Specifică sămânța aleatorie utilizată pentru inițializarea calculării sumelor de controli.

   CONNMARK
       Acest modul stabilește valoarea marcajului netfilter asociat cu o conexiune. Marca are o lățime de 32  de
       biți.

       --set-xmark valoare[/masca]
              Anularea biților indicați de mască și XOR valoare în ctmark.

       --save-mark [--nfmask nfmask] [--ctmask ctmask]
              Copiază marca pachetului (nfmark) în marca conexiunii (ctmark) folosind măștile date. Noua valoare
              nfmark este determinată după cum urmează:

              ctmark = (ctmark & ~ctmask) ^ (nfmark & nfmask)

              adică  ctmask definește ce biți trebuie șterși și nfmask ce biți din nfmark trebuie XOR în ctmark.
              ctmask și nfmask au valoarea implicită 0xFFFFFFFF.

       --restore-mark [--nfmask nfmask] [--ctmask ctmask]
              Copiază marca de conexiune (ctmark) în marca  de  pachet  (nfmark)  folosind  măștile  date.  Noua
              valoare ctmark este determinată după cum urmează:

              nfmark = (nfmark & ~nfmask) ^ (ctmark & ctmask);

              adică  nfmask  definește ce biți se șterg și ctmask ce biți din ctmark se XOR în nfmark. ctmask și
              nfmask au valoarea implicită 0xFFFFFFFF.

              --restore-mark este valabilă numai în tabelul mangle.

       Următoarele mnemonice sunt disponibile pentru --set-xmark:

       --and-mark biți
              AND logic al ctmark-ului cu biți. Mnemonic pentru --set-xmark 0/invbiți, unde invbiți este negația
              binară a lui biți.

       --or-mark biți
              OR logic al ctmark-ului cu bits. Mnemonic pentru --set-xmark bits/bits.

       --xor-mark biți
              XOR logic al ctmark-ului cu bits. Mnemonic pentru --set-xmark bits/0.

       --set-mark valoare[/masca]
              Definește marcajul conexiunii. Dacă este specificată o mască, atunci sunt modificați  numai  biții
              definiți în mască.

       --save-mark [--mask masca]
              Copiază nfmark în ctmark. Dacă este specificată o mască, sunt copiați numai acei biți.

       --restore-mark [--mask masca]
              Copiază  marca  ct  în  marca nf. Dacă este specificată o mască, se copiază numai acei biți. Acest
              lucru este valabil numai în tabelul mangle.

   CONNSECMARK
       Acest modul copiază marcajele de securitate de la pachete la conexiuni (dacă nu sunt etichetate) și de la
       conexiuni înapoi la pachete (tot numai dacă nu sunt etichetate). Utilizat de obicei împreună cu  SECMARK,
       este  valabil  în  tabelul  security  (pentru  compatibilitate  cu nucleele mai vechi, este valabil și în
       tabelul mangle).

       --save Dacă pachetul are un marcaj de securitate,  îl  copiază  în  conexiune  dacă  conexiunea  nu  este
              marcată.

       --restore
              Dacă  pachetul  nu are un marcaj de securitate, iar conexiunea are, copiază marcajul de securitate
              de la conexiune la pachet.

   CT
       Ținta CT stabilește parametrii pentru un pachet sau pentru conexiunea asociată acestuia.  Ținta  atașează
       pachetului  o intrare „șablon” de urmărire a conexiunii, care este apoi utilizată de nucleul conntrack la
       inițializarea unei noi intrări ct. Prin urmare, această țintă este valabilă numai în tabelul „brut”.

       --notrack
              Dezactivează urmărirea conexiunii pentru acest pachet.

       --helper nume
              Utilizează auxiliarul identificat prin nume pentru conexiune. Acest lucru este mai flexibil  decât
              încărcarea modulelor „helper conntrack” cu porturi prestabilite.

       --ctevents eveniment[,...]
              Generează   numai  evenimentele  conntrack  specificate  pentru  această  conexiune.  Tipurile  de
              evenimente posibile sunt: new, related, destroy,  reply,  assured,  protoinfo,  helper,  mark  (se
              referă la ctmark, nu la nfmark), natseqinfo, secmark (ctsecmark).

       --expevents eveniment[,...]
              Generează  numai  evenimentele  de  așteptare  specificate  pentru  această conexiune. Tipurile de
              evenimente posibile sunt: new.

       --zone-orig {id|mark}
              Pentru traficul provenit din direcția ORIGINAL, se atribuie acest pachet zonei id și se efectuează
              căutări numai în acea zonă. Dacă se utilizează mark în loc de id, zona este derivată din  pachetul
              nfmark.

       --zone-reply {id|mark}
              Pentru  traficul  provenit  din direcția REPLY, se atribuie acest pachet zonei id și se efectuează
              căutări numai în acea zonă. Dacă se utilizează mark în loc de id, zona este derivată din  pachetul
              nfmark.

       --zone {id|mark}
              Atribuie  acest  pachet zonei id și efectuează căutări numai în acea zonă. Dacă se utilizează mark
              în loc de id, zona este derivată din pachetul nfmark.  În  mod  implicit,  pachetele  au  zona  0.
              Această opțiune se aplică în ambele direcții.

       --timeout nume
              Utilizează  politica  de  timp de așteptare identificată de nume pentru conexiune. Aceasta oferă o
              definiție mai flexibilă a politicii de timp  de  așteptare  decât  valorile  globale  de  timp  de
              așteptare disponibile la /proc/sys/net/netfilter/nf_conntrack_*_timeout_*.

   DNAT
       Această  țintă  este  valabilă  numai  în  tabelul nat, în lanțurile PREROUTING și OUTPUT și în lanțurile
       definite de utilizator care sunt apelate numai din aceste lanțuri. Aceasta specifică faptul că adresa  de
       destinație  a pachetului trebuie modificată (și toate pachetele viitoare din această conexiune vor fi, de
       asemenea, modificate), iar regulile trebuie  să  înceteze  să  mai  fie  examinate.  Acceptă  următoarele
       opțiuni:

       --to-destination [adresa-ip[-adresa-ip]][:port[-port[/port-bază]]]
              care  poate  specifica  o singură adresă IP de destinație nouă, un interval inclusiv de adrese IP.
              Opțional, un interval de porturi, dacă regula specifică și  unul  dintre  următoarele  protocoale:
              tcp,  udp,  dccp  sau  sctp.  Dacă nu este specificat niciun interval de porturi, atunci portul de
              destinație nu va fi niciodată modificat. Dacă nu este specificată nicio adresă  IP,  atunci  numai
              portul  de  destinație  va  fi  modificat.  Dacă  se  indică port-bază, diferența dintre portul de
              destinație inițial și valoarea acestuia este utilizată ca decalaj  în  intervalul  de  porturi  de
              alocare. Acest lucru permite crearea de intervale de portmap deplasate și este disponibil începând
              cu  versiunea  4.18  a nucleului. Pentru un singur port sau port-bază, se poate utiliza un nume de
              serviciu așa cum este listat în /etc/services.

       --random
              Alocarea aleatorie a porturilor sursă (nucleu >= 2.6.22).

       --persistent
              Oferă unui client aceeași adresă sursă/destinație pentru fiecare  conexiune.  Aceasta  înlocuiește
              ținta SAME. Suportul pentru corespondențe persistente este disponibil de la versiunea 2.6.29-rc2.

       Suport IPv6 disponibil de la nucleele Linux >= 3.7.

   DNPT (specific IPv6)
       Asigură  traducerea  prefixelor  de  rețea  IPv6  la IPv6 de destinație fără păstrarea stării „stateless”
       (conform descrierii RFC 6296).

       Trebuie să utilizați această țintă în tabelul mangle, nu în tabelul nat. Are următoarele opțiuni:

       --src-pfx [prefix/lungime]
              Definește prefixul sursă pe care doriți să îl traduceți și lungimea

       --dst-pfx [prefix/lungime]
              Definește prefixul destinație pe care doriți să îl traduceți și lungimea

       Trebuie să utilizați ținta SNPT pentru a anula traducerea. Exemplu:

              ip6tables -t mangle -I POSTROUTING  -s  fd00::/64  !  -o  vboxnet0  -j  SNPT  --src-pfx  fd00::/64
              --dst-pfx 2001:e20:2000:40f::/64

              ip6tables   -t  mangle  -I  PREROUTING  -i  wlan0  -d  2001:e20:2000:40f::/64  -j  DNPT  --src-pfx
              2001:e20:2000:40f::/64 --dst-pfx fd00::/64

       Este posibil să fie necesar să activați un server proxy IPv6 învecinat:

              sysctl -w net.ipv6.conf.all.proxy_ndp=1

       De asemenea, trebuie să  utilizați  ținta  NOTRACK  pentru  a  dezactiva  urmărirea  conexiunilor  pentru
       fluxurile traduse.

   DSCP
       Această  țintă  modifică valoarea biților DSCP din antetul TOS al pachetului IPv4. Deoarece această țintă
       manipulează un pachet, ea poate fi utilizată numai în tabelul „mangle”.

       --set-dscp valoare
              Definește câmpul DSCP la o valoare numerică (poate fi zecimală sau hexazecimală)

       --set-dscp-class clasa
              Definește câmpul DSCP la o clasă DiffServ.

   ECN (specific IPv4)
       Această țintă funcționează selectiv în jurul găurilor negre ECN cunoscute.  Aceasta  poate  fi  utilizată
       numai în tabelul „mangle”.

       --ecn-tcp-remove
              Elimină  toți  biții ECN din antetul TCP. Desigur, aceasta poate fi utilizată numai împreună cu -p
              tcp.

   HL (specific IPv6)
       Aceasta este utilizată pentru a modifica câmpul Hop Limit din antetul IPv6. Câmpul Hop Limit este similar
       cu ceea ce este cunoscut sub numele de valoare TTL în IPv4.  Stabilirea sau  incrementarea  câmpului  Hop
       Limit  poate  fi  foarte  periculoasă,  astfel  încât ar trebui evitată cu orice preț. Această țintă este
       valabilă numai în tabelul mangle.

       Nu stabiliți sau nu incrementați niciodată valoarea pe pachetele care părăsesc rețeaua locală!

       --hl-set valoare
              Stabilește limita de salt (Hop Limit) la „valoare”.

       --hl-dec valoare
              Reduce limita de salt de „valoare” de ori.

       --hl-inc valoare
              Incrementează limita de salt de „valoare” de ori.

   HMARK
       La fel ca MARK, adică stabilește fwmark, dar marca este calculată din selectorul de  pachete  hashing  la
       alegere.  De asemenea, trebuie să specificați intervalul de marcare și, opțional, decalajul de la care să
       se înceapă. Mesajele de eroare ICMP sunt inspectate și utilizate pentru a calcula hashing-ul.

       Existing options are:

       --hmark-tuple tuple
              Membrii tuplelor posibile sunt: src înseamnă adresa sursă (adresă IPv4, IPv6), dst înseamnă adresa
              destinație (adresă IPv4, IPv6), sport înseamnă portul sursă (TCP, UDP, UDPlite, SCTP, DCCP), dport
              înseamnă portul destinație (TCP, UDP, UDPlite, SCTP, DCCP), spi înseamnă indicele parametrului  de
              securitate  (AH,  ESP)  și  ct  înseamnă  utilizarea tuple-ului conntrack în locul selectorilor de
              pachete.

       --hmark-mod valoare (trebuie  fie > 0)
              Modul pentru calculul hash (pentru a limita gama de marcaje posibile)

       --hmark-offset valoare
              Decalaj de la care să se înceapă marcajele.

       Pentru utilizare avansată, în loc să utilizați „--hmark-tuple”, puteți specifica personalizat
              prefixe și măști:

       --hmark-src-prefix cidr
              Masca adresei sursă în notație CIDR.

       --hmark-dst-prefix cidr
              Masca adresei de destinație în notație CIDR.

       --hmark-sport-mask valoare
              O mască a portului sursă de 16 biți în hexazecimal.

       --hmark-dport-mask valoare
              O mască a portului de destinație de 16 biți în hexazecimal.

       --hmark-spi-mask valoare
              Un câmp de 32 de biți cu mască spi.

       --hmark-proto-mask valoare
              Un câmp de 8 biți cu numărul protocolului de nivel(strat) 4.

       --hmark-rnd valoare
              O valoare personalizată aleatorie de 32 de biți pentru a alimenta calculul hash.

       Exemple:

       iptables -t mangle -A PREROUTING -m conntrack --ctstate NEW
        -j HMARK --hmark-tuple ct,src,dst,proto --hmark-offset 10000 --hmark-mod 10 --hmark-rnd 0xfeedcafe

       iptables -t mangle -A PREROUTING -j HMARK --hmark-offset 10000 --hmark-tuple src,dst,proto --hmark-mod 10
       --hmark-rnd 0xdeafbeef

   IDLETIMER
       Această țintă poate fi utilizată pentru a identifica momentul în care interfețele au fost inactive pentru
       o anumită perioadă de timp. Temporizatoarele sunt identificate prin etichete și sunt create atunci când o
       regulă este definită cu o etichetă nouă. Regulile preiau, de  asemenea,  o  valoare  de  temporizare  (în
       secunde) ca opțiune. Dacă mai multe reguli utilizează aceeași etichetă de temporizator, temporizatorul va
       fi  repornit ori de câte ori oricare dintre reguli primește un rezultat pozitiv. O intrare pentru fiecare
       cronometru este creată în sysfs. Acest atribut conține timpul rămas până la  expirarea  temporizatorului.
       Atributele sunt localizate sub clasa xt_idletimer:

       /sys/class/xt_idletimer/timers/<label>

       Când  cronometrul  expiră,  modulul  țintă  trimite o notificare sysfs către spațiul utilizatorului, care
       poate decide apoi ce să facă (de exemplu, deconectarea pentru a economisi energie).

       --timeout timp
              Acesta este timpul în secunde care va declanșa notificarea.

       --label șir
              Acesta este un identificator unic pentru temporizator.  Lungimea maximă pentru șirul  de  etichete
              este de 27 de caractere.

   LED
       Acest  lucru  creează  un  declanșator  LED  care  poate  fi  atașat  apoi la indicatoarele luminoase ale
       sistemului, pentru a clipi sau a le aprinde atunci când anumite pachete trec prin sistem. Un  exemplu  ar
       putea  fi aprinderea unui LED timp de câteva minute de fiecare dată când se realizează o conexiune SSH la
       mașina locală. Următoarele opțiuni controlează comportamentul declanșatorului:

       --led-trigger-id nume
              Acesta este numele dat declanșatorului LED. Numele real  al  declanșatorului  va  fi  prefixat  cu
              „netfilter-”.

       --led-delay ms
              Aceasta  indică  cât  timp  (în  milisecunde) ar trebui lăsat LED-ul aprins atunci când sosește un
              pachet înainte de a fi stins din nou. Valoarea implicită este 0 (clipește cât mai repede posibil.)
              Valoarea specială inf poate fi dată pentru a lăsa LED-ul aprins permanent odată activat; (în acest
              caz, declanșatorul va trebui să fie manual detașat și reatașat de dispozitivul LED pentru a-l opri
              din nou).

       --led-always-blink
              Face ca întotdeauna LED-ul să clipească la sosirea pachetului, chiar dacă LED-ul este deja aprins.
              Acest lucru permite notificarea pachetelor noi chiar și cu valori de întârziere mari (care  altfel
              ar duce la o prelungire silențioasă a timpului de întârziere).

       Exemplu:

       Creați un declanșator LED pentru traficul SSH de intrare:
              iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh

       Apoi atașați noul declanșator la un LED:
              echo netfilter-ssh >/sys/class/leds/ledname/trigger

   LOG
       Activează înregistrarea în nucleu a pachetelor corespunzătoare. Atunci când această opțiune este definită
       pentru o regulă, nucleul Linux va afișa anumite informații despre toate pachetele corespunzătoare (cum ar
       fi majoritatea câmpurilor antetului IP/IPv6) prin intermediul jurnalului nucleului (unde pot fi citite cu
       dmesg(1) sau citite în syslog).

       Aceasta  este  o  „țintă  non-terminantă”,  adică parcurgerea regulii continuă la următoarea regulă. Prin
       urmare, dacă doriți să înregistrați pachetele pe care le refuzați,  utilizați  două  reguli  separate  cu
       aceleași criterii de potrivire, folosind mai întâi obiectivul LOG, apoi DROP (sau REJECT).

       --log-level nivel
              Nivelul  de  jurnalizare,  care  poate  fi  (specific  sistemului)  numeric sau mnemonic. Valorile
              posibile sunt (în ordinea descrescătoare a  priorității):  emerg,  alert,  crit,  error,  warning,
              notice, info sau debug.

       --log-prefix prefix
              Prefixează  mesajele  din  jurnal cu prefixul specificat; are o lungime de până la 29 de litere și
              este util pentru a distinge mesajele din jurnale.

       --log-tcp-sequence
              Înregistează numerele de secvență TCP. Acesta este un risc de securitate dacă  jurnalul  poate  fi
              citit de utilizatori.

       --log-tcp-options
              Înregistrează opțiunile din antetul pachetului TCP.

       --log-ip-options
              Înregistrează opțiunile din antetul pachetului IP/IPv6.

       --log-uid
              Înregistrează ID-ul de utilizator al procesului care a generat pachetul.

       --log-macdecode
              Înregistrează adresele MAC și protocolul.

   MARK
       Această  țintă  este utilizată pentru a stabili valoarea marcajului Netfilter asociat pachetului. Aceasta
       poate fi utilizată, de exemplu, împreună cu direcționarea bazată  pe  fwmark  (necesită  iproute2).  Dacă
       intenționați  să  faceți acest lucru, rețineți că marca trebuie să fie definită fie în lanțul PREROUTING,
       fie în lanțul OUTPUT al tabelului „mangle” pentru a afecta direcționarea.  Câmpul  mărcii  „mark”  are  o
       lățime de 32 de biți.

       --set-xmark valoare[/masca]
              Reduce  la  zero  biții  indicați  de mască și XOR valoare în marcajul pachetului („nfmark”). Dacă
              masca este omisă, se presupune 0xFFFFFFFF.

       --set-mark valoare[/masca]
              Reduce la zero biții indicați de mască și face OR cu valoare în marcajul  pachetului.  Dacă  masca
              este omis, se presupune 0xFFFFFFFF.

       Sunt disponibile următoarele mnemonice:

       --and-mark biți
              Evaluează  AND  logic al nfmark-ului cu biți; (mnemonic pentru --set-xmark 0/invbiți, unde invbiți
              este negația binară a lui biți).

       --or-mark biți
              Evaluează OR logic al nfmark-ului cu biți; (mnemonic pentru --set-xmark biți/biți.)

       --xor-mark biți
              Evaluează XOR logic al nfmark-ului cu biți; (mnemonic pentru --set-xmark biți/0.)

   MASQUERADE
       Această țintă este valabilă numai în tabelul nat, în lanțul POSTROUTING.  Aceasta trebuie utilizată numai
       în cazul conexiunilor IP alocate dinamic (dialup): dacă aveți o adresă IP statică, trebuie  să  utilizați
       ținta  SNAT.   Mascarea  este echivalentă cu specificarea unei corespondențe cu adresa IP a interfeței pe
       care pleacă pachetul, dar are, de asemenea, efectul că conexiunile  sunt  uitate  atunci  când  interfața
       cade.   Acesta  este  comportamentul  corect  atunci când este puțin probabil ca următorul dialup să aibă
       aceeași adresă de interfață (și, prin urmare, orice conexiune stabilită este oricum pierdută).

       --to-ports port[-port]
              Aceasta specifică un interval de porturi sursă care urmează să fie utilizate, înlocuind  euristica
              implicită  de  selectare  a  porturilor  sursă SNAT (a se vedea mai sus). Acest lucru este valabil
              numai dacă regula specifică de asemenea unul dintre următoarele protocoale:  tcp,  udp,  dccp  sau
              sctp.

       --random
              Face  aleatorie  cartografierea  porturilor  sursă  (nucleu  >=  2.6.21). Începând cu nucleul 5.0,
              --random este identică cu --random-fully.

       --random-fully
              Face complet aleatorie cartografierea porturilor sursă (nucleu >= 3.13).

       Suport IPv6 disponibil de la nucleele Linux >= 3.7.

   NETMAP
       Această țintă vă permite cartografierea statică a unei întregi rețele  de  adrese  pe  o  altă  rețea  de
       adrese. Aceasta poate fi utilizată numai din regulile din tabelul nat.

       --to adresa[/masca]
              Adresa  de  rețea  la  care  se  face  cartografierea.  Adresa rezultată va fi construită în felul
              următor: Toți biții „unu” din mască sunt introduși din noua „adresă”. Toți biții  zero  din  mască
              sunt introduși din adresa originală.

       Suport IPv6 disponibil de la nucleele Linux >= 3.7.

   NFLOG
       Această  țintă  asigură  înregistrarea  în jurnal a pachetelor corespunzătoare. Atunci când această țintă
       este definită pentru o regulă, nucleul Linux va transmite pachetul către sistemul de jurnalizare încărcat
       pentru a înregistra pachetul. Aceasta este de obicei utilizată în combinație cu nfnetlink_log  ca  sistem
       de  jurnalizare,  care  va  multidifuza  pachetul  printr-un  soclu netlink către grupul de multidifuzare
       specificat. Unul sau mai multe procese din spațiul utilizatorilor se pot abona la  grup  pentru  a  primi
       pachetele.  La  fel  ca LOG, acesta este un obiectiv non-terminant, adică parcurgerea regulii continuă la
       următoarea regulă.

       --nflog-group nlgroup
              Grupul netlink (0 - 2^16-1)  către  care  sunt  direcționate  pachetele  (aplicabil  numai  pentru
              nfnetlink_log). Valoarea implicită este 0.

       --nflog-prefix prefix
              Un  șir  de  prefixe  de  inclus  în mesajul jurnal, cu o lungime de până la 64 de caractere, util
              pentru a distinge mesajele din jurnale.

       --nflog-range dimensiune
              Această opțiune nu a funcționat niciodată, folosiți în schimb „--nflog-size”

       --nflog-size dimensiune
              Numărul de octeți care urmează să fie copiați în spațiul utilizatorului  (aplicabil  numai  pentru
              nfnetlink_log).  Instanțele  nfnetlink_log își pot specifica propriul interval, această opțiune îl
              înlocuiește.

       --nflog-threshold dimensiune
              Numărul de pachete care trebuie puse la coadă în interiorul nucleului  înainte  de  a  fi  trimise
              către  spațiul  utilizatorilor  (aplicabil  numai  pentru  nfnetlink_log). Valorile mai mari au ca
              rezultat mai puțină încărcare per pachet, dar cresc  întârzierea  până  când  pachetele  ajung  în
              spațiul utilizatorilor. Valoarea implicită este 1.

   NFQUEUE
       Această  țintă  transmite  pachetul  către  spațiul utilizatorilor utilizând gestionarul nfnetlink_queue.
       Pachetul este pus în coada identificată prin numărul său de coadă pe  16  biți.   Spațiul  utilizatorilor
       poate  inspecta și modifica pachetul, dacă se dorește. Spațiul utilizatorilor trebuie apoi să elimine sau
       să  reinjecteze  pachetul  în  nucleu.   Vă  rugăm  să  consultați  libnetfilter_queue  pentru   detalii.
       nfnetlink_queue  a  fost adăugat în Linux 2.6.14. Opțiunea queue-balance a fost adăugată în Linux 2.6.31,
       queue-bypass în 2.6.39.

       --queue-num valoare
              Specifică numărul de coadă care urmează să fie utilizat. Numerele de coadă valabile sunt de  la  0
              la 65535. Valoarea implicită este 0.

       --queue-balance valoare:valoare
              Aceasta  specifică o serie de cozi de așteptare care urmează să fie utilizate. Pachetele sunt apoi
              echilibrate între cozile date.  Acest lucru este util pentru sistemele multi-nucleu: pornește  mai
              multe  instanțe  ale  programului din spațiul utilizatorului pe cozile x, x+1, .. x+n și utilizați
              „--queue-balance x:x+n”.  Pachetele care aparțin  aceleiași  conexiuni  sunt  plasate  în  aceeași
              nfqueue.   Datorită detaliilor de implementare, o valoare inferioară a intervalului de 0 limitează
              valoarea superioară a intervalului la 65534, adică nu se poate  echilibra  decât  între  cel  mult
              65535 de cozi.

       --queue-bypass
              În  mod  implicit,  dacă  niciun  program din spațiul utilizatorului nu ascultă un NFQUEUE, atunci
              toate pachetele care urmează să fie puse în coadă  sunt  abandonate.  Atunci  când  se  utilizează
              această  opțiune,  regula  NFQUEUE  se  comportă  în  schimb  ca  ACCEPT, iar pachetul va trece la
              următorul tabel.

       --queue-cpu-fanout
              Disponibilă  începând  cu  nucleul  Linux  3.10.  Atunci   când   este   utilizată   împreună   cu
              --queue-balance,  aceasta  va utiliza ID-ul CPU ca index pentru alocarea pachetelor la cozi. Ideea
              este că vă puteți îmbunătăți performanța dacă există o coadă pentru fiecare  CPU.  Pentru  aceasta
              este necesar ca --queue-balance să fie specificată.

   NOTRACK
       Această  extensie  dezactivează  urmărirea  conexiunilor  pentru  toate  pachetele care corespund regulii
       respective. Este echivalentă cu „-j CT --notrack”. Ca și CT, NOTRACK poate fi utilizată numai în  tabelul
       raw.

   RATEEST
       Ținta  RATEEST  colectează  statistici,  efectuează  calculul de estimare a ratei și salvează rezultatele
       pentru o evaluare ulterioară utilizând corespondența rateest.

       --rateest-name nume
              Numără pachetele potrivite în grupul menționat de nume, care poate fi ales liber.

       --rateest-interval cantitatea-de-timp{s|ms|us}
              Intervalul de măsurare a ratei, în secunde, milisecunde sau microsecunde.

       --rateest-ewmalog valoare
              Constanta de timp a mediei de măsurare a ratei.

   REDIRECT
       Această țintă este valabilă numai în tabelul nat, în lanțurile  PREROUTING  și  OUTPUT  și  în  lanțurile
       definite de utilizator care sunt apelate numai din aceste lanțuri. Aceasta redirecționează pachetul către
       mașina în sine prin schimbarea IP-ului de destinație cu adresa primară a interfeței de intrare (pachetele
       generate  local  sunt mapate la adresa localhost, 127.0.0.1 pentru IPv4 și ::1 pentru IPv6, iar pachetele
       care sosesc pe interfețe care nu au o adresă IP configurată sunt abandonate).

       --to-ports port[-port]
              Specifică un port de destinație sau un interval de porturi de utilizat:  fără  această  indicație,
              portul  de  destinație  nu  este  modificat  niciodată. Acest lucru este valabil numai dacă regula
              specifică, de asemenea, unul dintre următoarele protocoale: tcp, udp, dccp sau  sctp.   Pentru  un
              singur port, se poate utiliza un nume de serviciu așa cum este listat în /etc/services.

       --random
              Alocarea aleatorie a porturilor sursă (nucleu >= 2.6.22).

       Suport IPv6 disponibil începând cu nucleele Linux >= 3.7.

   REJECT (specific IPv6)
       Aceasta  este utilizată pentru a trimite înapoi un pachet de eroare ca răspuns la pachetul corespunzător:
       în caz contrar, este echivalentă  cu  DROP,  deci  este  o  ȚINTĂ  terminală,  care  încheie  parcurgerea
       regulilor.  Această  țintă  este  valabilă  numai  în  lanțurile INPUT, FORWARD și OUTPUT și în lanțurile
       definite de utilizator care sunt apelate numai din aceste lanțuri. Următoarea opțiune controlează  natura
       pachetului de erori returnat:

       --reject-with tip
              Tipul    dat    poate   fi   icmp6-no-route,   no-route,   icmp6-adm-prohibited,   adm-prohibited,
              icmp6-addr-unreachable, addr-unreach,  sau  icmp6-port-unreachable,  care  returnează  mesajul  de
              eroare  ICMPv6  corespunzător  (icmp6-port-unreachable  este implicit). În cele din urmă, opțiunea
              tcp-reset poate fi utilizată  pentru  regulile  care  corespund  doar  protocolului  TCP:  aceasta
              determină  trimiterea înapoi a unui pachet TCP RST. Această opțiune este utilă în principal pentru
              blocarea sondajelor ident (113/tcp) care apar frecvent la trimiterea  de  e-mail  către  gazde  de
              e-mail  defecte  (care  altfel  nu vă vor accepta e-mailul).  tcp-reset poate fi utilizat numai cu
              versiunile de nucleu 2.6.14 sau mai recente.

       Avertisment: Nu trebuie să aplicați în mod nediscriminatoriu ținta REJECT pachetelor  a  căror  stare  de
       conexiune este clasificată ca INVALID; în schimb, trebuie să le înlăturați „DROP” numai pe acestea.

       Să luăm în considerare o gazdă sursă care transmite un pachet P, P înregistrând o întârziere atât de mare
       de-a  lungul  traseului  său  încât  gazda  sursă  emite  o  retransmisie,  P_2, P_2 reușind să ajungă la
       destinație și avansând în mod normal în  starea  conexiunii.  Se  poate  concepe  ca  P  care  ajunge  cu
       întârziere să fie considerat ca nefiind asociat cu nicio intrare de urmărire a conexiunii. Generarea unui
       răspuns de respingere pentru un pachet astfel clasificat ar pune capăt conexiunii „sănătoase”.

       Așadar, în loc de:

       -A INPUT ... -j REJECT

       luați în considerare utilizarea:

       -A INPUT ... -m conntrack --ctstate INVALID -j DROP
       -A INPUT ... -j REJECT

   REJECT (specific IPv4)
       Aceasta  este utilizată pentru a trimite înapoi un pachet de eroare ca răspuns la pachetul corespunzător:
       în caz contrar, este echivalentă  cu  DROP,  deci  este  o  ȚINTĂ  terminală,  care  încheie  parcurgerea
       regulilor.  Această  țintă  este  valabilă  numai  în  lanțurile INPUT, FORWARD și OUTPUT și în lanțurile
       definite de utilizator care sunt apelate numai din aceste lanțuri. Următoarea opțiune controlează  natura
       pachetului de erori returnat:

       --reject-with tip
              Tipul   dat   poate   fi   icmp-net-unreachable,   icmp-host-unreachable,   icmp-port-unreachable,
              icmp-proto-unreachable, icmp-net-prohibited, icmp-host-prohibited, sau icmp-admin-prohibited  (*),
              care  returnează  mesajul  de  eroare  ICMP  corespunzător  (icmp-port-unreachable este implicit).
              Opțiunea tcp-reset poate fi utilizată pentru  regulile  care  corespund  numai  protocolului  TCP:
              aceasta determină trimiterea înapoi a unui pachet TCP RST. Această opțiune este utilă în principal
              pentru  blocarea sondajelor ident (113/tcp) care apar frecvent la trimiterea de e-mail către gazde
              de e-mail defecte (care altfel nu vă acceptă e-mailul).

              (*) Utilizarea icmp-admin-prohibited cu nuclee care nu oferă suport pentru aceasta va duce  la  un
              simplu DROP în loc de REJECT

       Avertisment:  Nu  trebuie  să  aplicați în mod nediscriminatoriu ținta REJECT pachetelor a căror stare de
       conexiune este clasificată ca INVALID; în schimb, trebuie să le înlăturați „DROP” numai pe acestea.

       Să luăm în considerare o gazdă sursă care transmite un pachet P, P înregistrând o întârziere atât de mare
       de-a lungul traseului său încât gazda  sursă  emite  o  retransmisie,  P_2,  P_2  reușind  să  ajungă  la
       destinație  și  avansând  în  mod  normal  în  starea  conexiunii.  Se  poate concepe ca P care ajunge cu
       întârziere să fie considerat ca nefiind asociat cu nicio intrare de urmărire a conexiunii. Generarea unui
       răspuns de respingere pentru un pachet astfel clasificat ar pune capăt conexiunii „sănătoase”.

       Așadar, în loc de:

       -A INPUT ... -j REJECT

       luați în considerare utilizarea:

       -A INPUT ... -m conntrack --ctstate INVALID -j DROP
       -A INPUT ... -j REJECT

   SECMARK
       Se utilizează pentru a stabili valoarea marcajului de securitate asociat pachetului pentru a fi  utilizat
       de  subsistemele  de  securitate,  cum  ar  fi  SELinux.   Este  valabilă  în  tabelul  security  (pentru
       compatibilitatea cu nucleele mai vechi, este valabilă și în tabelul mangle). Marca are o lățime de 32  de
       biți.

       --selctx context-securitate

   SET
       Acest modul adaugă și/sau șterge intrări din seturile IP care pot fi definite prin ipset(8).

       --add-set nume-set fanion[,fanion...]
              adaugă adresa(adresele)/portul(porturile) pachetului la set

       --del-set nume-set fanion[,fanion...]
              șterge adresa(adresele)/portul(porturile) pachetului din set

       --map-set nume-set fanion[,fanion...]
              [--map-mark]  [--map-prio]  [--map-queue]  proprietățile pachetului de hartă (marca paravanului de
              protecție, prioritatea tc, coada hardware)

              unde fanioane sunt specificații src și/sau dst și nu pot fi mai mult de șase.

       --timeout valoare
              atunci când se adaugă o intrare, valoarea timpului de așteptare care trebuie  utilizată  în  locul
              celei implicite din definiția setului

       --exist
              atunci  când  se  adaugă o intrare, valoarea timpului de așteptare care trebuie utilizată în locul
              celei implicite din definiția setului

       --map-setnume-set
              nume-set trebuie  creat  cu  opțiunea  „--skbinfo”,  opțiunea  --map-mark  cartografiază  marcajul
              paravanului de protecție la pachet prin căutarea valorii în set, opțiunea --map-prio cartografiază
              prioritatea  controlului  traficului  la pachet prin căutarea valorii în set, opțiunea --map-queue
              cartografiază coada hardware NIC la pachet prin căutarea valorii în set

              Opțiunea --map-set  poate  fi  utilizată  numai  din  tabelul  mangle.  Fanioanele  --map-prio  și
              --map-queue pot fi utilizate în lanțurile OUTPUT, FORWARD și POSTROUTING.

       Utilizarea  opțiunii  „-j  SET”  necesită  existența  suportului  ipset oferit de nucleu, ceea ce, pentru
       nucleele standard, este cazul începând cu Linux 2.6.39.

   SNAT
       Această țintă este valabilă numai în tabelul nat, în lanțurile  POSTROUTING  și  INPUT  și  în  lanțurile
       definite  de  utilizator  care  sunt apelate numai din aceste lanțuri. Aceasta specifică faptul că adresa
       sursă a pachetului trebuie modificată (și toate pachetele viitoare  din  această  conexiune  vor  fi,  de
       asemenea,  modificate),  iar  regulile  trebuie  să  înceteze  să  mai fie examinate. Acceptă următoarele
       opțiuni:

       --to-source [adresa-ip[-adresa-ip]][:port[-port]]
              care poate specifica o singură adresă IP sursă nouă, un interval inclusiv de adrese IP.  Opțional,
              un  interval  de  porturi,  dacă regula specifică și unul dintre următoarele protocoale: tcp, udp,
              dccp sau sctp. Dacă nu este specificat niciun interval de porturi, atunci porturile sursă sub  512
              vor  fi  asociate  cu  alte  porturi  sub  512: cele între 512 și 1023 inclusiv vor fi asociate cu
              porturi sub 1024, iar alte porturi vor fi asociate cu porturi 1024 sau mai mari. Atunci când  este
              posibil, nu va avea loc nicio modificare a porturilor.

       --random
              Asociază  aleatoriu  porturile  sursă  prin  intermediul  unui  algoritm  bazat pe hash (nucleu >=
              2.6.21).

       --random-fully
              Asociază complet aleatoriu porturile sursă prin intermediul unui PRNG (nucleu >= 3.14).

       --persistent
              Oferă unui client aceeași adresă sursă/destinație pentru fiecare  conexiune.  Aceasta  înlocuiește
              ținta SAME. Suportul pentru corespondențe persistente este disponibil de la versiunea 2.6.29-rc2.

       Nucleele anterioare versiunii 2.6.36-rc1 nu au capacitatea de a SNAT în lanțul INPUT.

       Suport IPv6 disponibil de la nucleele Linux >= 3.7.

   SNPT (specific IPv6)
       Furnizează  traducerea  prefixelor  de  rețea de la sursă IPv6 la IPv6 fără stare (conform descrierii RFC
       6296).

       Trebuie să utilizați această țintă în tabelul mangle, nu în tabelul nat. Are următoarele opțiuni:

       --src-pfx [prefix/lungime]
              Definește prefixul sursă pe care doriți să îl traduceți și lungimea

       --dst-pfx [prefix/lungime]
              Definește prefixul destinație pe care doriți să îl traduceți și lungimea

       Trebuie să utilizați ținta DNPT pentru a anula traducerea. Exemplu:

              ip6tables -t mangle -I POSTROUTING  -s  fd00::/64  !  -o  vboxnet0  -j  SNPT  --src-pfx  fd00::/64
              --dst-pfx 2001:e20:2000:40f::/64

              ip6tables   -t  mangle  -I  PREROUTING  -i  wlan0  -d  2001:e20:2000:40f::/64  -j  DNPT  --src-pfx
              2001:e20:2000:40f::/64 --dst-pfx fd00::/64

       Este posibil să fie necesar să activați un server proxy IPv6 învecinat:

              sysctl -w net.ipv6.conf.all.proxy_ndp=1

       De asemenea, trebuie să  utilizați  ținta  NOTRACK  pentru  a  dezactiva  urmărirea  conexiunilor  pentru
       fluxurile traduse.

   SYNPROXY
       Această  țintă  va  procesa  negocierea  TCP  pe  trei  direcții  (TCP three-way-handshake) în paralel în
       contextul netfilter pentru a proteja sistemul local  sau  sistemul  serverului.  Această  țintă  necesită
       urmărirea  conexiunii  deoarece  numerele de secvență trebuie traduse. Capacitatea nucleelor de a absorbi
       SYNFLOOD a fost mult îmbunătățită începând cu Linux 4.4, astfel încât această țintă nu ar trebui  să  mai
       fie necesară pentru a proteja serverele Linux.

       --mss dimensiunea-maximă-a-segmentului
              Dimensiunea  maximă  a segmentului anunțată clienților. Aceasta trebuie să corespundă cu interfața
              internă.

       --wscale scala-ferestrei
              Scala ferestrei anunțată clienților. Aceasta trebuie să corespundă cu interfața internă.

       --sack-perm
              Transmite opțiunea de confirmare selectivă a clientului către interfața internă (va fi dezactivată
              dacă nu este prezentă).

       --timestamps
              Transmite opțiunea de marcă temporală „timestamp” a clientului  către  interfața  internă  (va  fi
              dezactivată  dacă  nu  este  prezentă,  necesară  și  pentru  confirmarea  selectivă  și  scalarea
              ferestrei).

       Exemplu:

       Determină opțiunile tcp utilizate de interfața internă, de la un sistem extern

              tcpdump -pni eth0 -c 1 'tcp[tcpflags] == (tcp-syn|tcp-ack)'
                  port 80 &
              telnet 192.0.2.42 80
              18:57:24.693307 IP 192.0.2.42.80 > 192.0.2.43.48757:
                  Flags [S.], seq 360414582, ack 788841994, win 14480,
                  options [mss 1460,sackOK,
                  TS val 1409056151 ecr 9690221,
                  nop,wscale 9],
                  length 0

       Dezactivează modul tcp_loose, astfel încât conntrack să marcheze pachetele în afara fluxului ca fiind  în
       starea INVALID.

              echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

       Face pachetele SYN să nu fie urmărite

              iptables -t raw -A PREROUTING -i eth0 -p tcp --dport 80
                  --syn -j CT --notrack

       Captează stările UNTRACKED (pachete SYN) și INVALID (pachete 3WHS ACK) și le trimite la SYNPROXY. Această
       regulă  va răspunde la pachetele SYN cu syncookies SYN+ACK, va crea ESTABLISHED pentru răspunsul valid al
       clientului (pachete 3WHS ACK) și va elimina cookie-urile incorecte. Combinațiile de fanioane care nu sunt
       așteptate în timpul 3WHS nu se vor potrivi și vor continua (de exemplu SYN+FIN, SYN+ACK).

              iptables -A INPUT -i eth0 -p tcp --dport 80
                  -m state --state UNTRACKED,INVALID -j SYNPROXY
                  --sack-perm --timestamp --mss 1460 --wscale 9

       Înlătură pachetele nevalide, acestea vor fi pachete în afara  fluxului  care  nu  au  fost  potrivite  de
       SYNPROXY.

              iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state INVALID -j DROP

   TCPMSS
       Această  țintă  modifică  valoarea  MSS  a  pachetelor  TCP  SYN,  pentru a controla dimensiunea maximă a
       conexiunii respective (limitând-o de obicei la MTU-ul interfeței de ieșire minus 40 pentru  IPv4  sau  60
       pentru IPv6, respectiv).  Desigur, aceasta poate fi utilizată numai în combinație cu -p tcp.

       Această  țintă  este utilizată pentru a depăși ISP-urile sau serverele criminale care blochează pachetele
       „ICMP Fragmentation Needed” sau „ICMPv6 Packet Too Big”.   Simptomele  acestei  probleme  sunt  că  totul
       funcționează  bine  din  paravanul de protecție/router-ul Linux, dar mașinile din spatele acestuia nu pot
       schimba niciodată pachete mari:

       1.  Navigatoarele web se conectează, apoi se blochează fără a primi date.

       2.  E-mailurile mici funcționează bine, dar e-mailurile mari se blochează.

       3.  ssh funcționează bine, dar scp se blochează după negocierea inițială.

       Soluție: activați această opțiune și adăugați o regulă la configurația paravanului de protecție,  cum  ar
       fi:

               iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN
                           -j TCPMSS --clamp-mss-to-pmtu

       --set-mss valoare
              Stabilește explicit opțiunea MSS la valoarea specificată. Dacă MSS al pachetului este deja mai mic
              decât  valoarea,  aceasta  nu  va  fi  mărită  (începând cu Linux 2.6.25) pentru a evita mai multe
              probleme cu gazdele care se bazează pe un MSS adecvat.

       --clamp-mss-to-pmtu
              Fixează automat valoarea MSS la (path_MTU - 40 pentru IPv4; -60  pentru  IPv6).  Este  posibil  ca
              această  opțiune  să  nu funcționeze așa cum se dorește în cazul în care există rute asimetrice cu
              MTU de rute diferite - nucleul utilizează MTU de rute  pe  care  l-ar  utiliza  pentru  a  trimite
              pachete  de  la  sine la adresele IP sursă și destinație. Înainte de Linux 2.6.25, această opțiune
              lua în considerare numai MTU-ul rutei către adresa IP de destinație; nucleele  ulterioare  iau  în
              considerare și MTU-ul rutei către adresa IP sursă.

       Aceste opțiuni se exclud reciproc.

   TCPOPTSTRIP
       Această țintă va elimina opțiunile TCP dintr-un pachet TCP; (de fapt, le va înlocui cu NO-OPs). Ca atare,
       va trebui să adăugați parametrii -p tcp.

       --strip-options opțiune[,opțiune...]
              Elimină  opțiunea  (opțiunile) dată (date). Opțiunile pot fi specificate prin numărul opțiunii TCP
              sau prin nume simbolic. Lista opțiunilor recunoscute poate fi  obținută  apelând  iptables  cu  -j
              TCPOPTSTRIP -h.

   TEE
       Ținta  TEE  va  clona  un  pachet și va redirecționa această clonă către o altă mașină de pe segmentul de
       rețea local. Cu alte cuvinte, nexthop-ul (saltul  următor)  trebuie  să  fie  ținta,  sau  va  trebui  să
       configurați nexthop-ul pentru a-l redirecționa mai departe, dacă doriți.

       --gateway adresa-ip
              Trimite  pachetul  clonat  către  gazda care poate fi atinsă la adresa IP dată. Utilizarea 0.0.0.0
              (pentru pachetele IPv4) sau :: (IPv6) nu este valabilă.

       Pentru a redirecționa tot traficul de intrare de pe eth0 către un  sistem  de  jurnalizare  la  nivel  de
       rețea:

       -t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8::1

   TOS
       Acest  modul  stabilește  câmpul  Type  of  Service  (tipul de serviciu) din antetul IPv4 (inclusiv biții
       „precedence”) sau câmpul Priority din antetul IPv6. Rețineți că TOS împarte aceiași biți ca DSCP și  ECN.
       Ținta TOS este valabilă numai în tabelul mangle.

       --set-tos valoare[/masca]
              Reduce  la  zero  biții  indicați  de masca (a se vedea NOTA de mai jos) și EVALUEAZĂ CU XOR LOGIC
              valoarea în câmpul TOS/Priority. Dacă masCA este omisă, se presupune 0xFF.

       --set-tos simbol
              Puteți specifica un nume simbolic atunci când utilizați ținta TOS pentru IPv4. Aceasta  implică  o
              mască  de  0xFF  (a  se  vedea  NOTA  de mai jos). Lista de nume TOS recunoscute poate fi obținută
              apelând iptables cu -j TOS -h.

       Sunt disponibile următoarele mnemonice:

       --and-tos biți
              Evaluează AND logic al valorii TOS cu biți; (mnemonic pentru  --set-tos  0/invbiți,  unde  invbiți
              este negația binară a lui biți. A se vedea NOTA de mai jos).

       --or-tos biți
              Evaluează  OR  logic al valorii TOS cu biți; (mnemonic pentru --set-tos biți/biți. A se vedea NOTA
              de mai jos).

       --xor-tos biți
              Evaluează XOR logic al valorii TOS cu biți; (mnemonic pentru --set-tos biți/0. A se vedea NOTA  de
              mai jos).

       NOTĂ:  În  nucleele  Linux  până  la  și  inclusiv  2.6.38, cu excepția versiunilor pe termen lung 2.6.32
       (>=.42), 2.6.33 (>=.15) și 2.6.35 (>=.14), există o eroare prin care manipularea TOS IPv6 nu se  comportă
       conform  documentației  și  diferă de versiunea IPv4. Masca TOS indică biții care trebuie eliminați, deci
       trebuie inversată înainte de a fi aplicată câmpului TOS original. Cu toate acestea,  nucleele  menționate
       anterior renunță la inversare, ceea ce rupe „--set-tos” și mnemonicele sale.

   TPROXY
       Această  țintă  este  valabilă  numai în tabelul mangle, în lanțul PREROUTING și în lanțurile definite de
       utilizator care sunt apelate numai din acest lanț. Aceasta redirecționează pachetul către un soclu  local
       fără  a modifica în niciun fel antetul pachetului. De asemenea, poate modifica valoarea mărcii care poate
       fi apoi utilizată în reguli avansate de direcționare. Acceptă trei opțiuni:

       --on-port port
              Specifică un port de destinație care urmează să  fie  utilizat.  Este  o  opțiune  obligatorie,  0
              înseamnă că noul port de destinație este același cu cel original. Aceasta este valabilă numai dacă
              regula specifică și -p tcp sau -p udp.

       --on-ip adresa
              Aceasta  specifică  o  adresă  de destinație de utilizat. În mod implicit, adresa este adresa IP a
              interfeței de intrare. Aceasta este valabilă numai dacă regula specifică și -p tcp sau -p udp.

       --tproxy-mark valoare[/masca]
              Marchează pachetele cu valoarea/masca dată. Valoarea fwmark definită aici poate  fi  utilizată  de
              direcționarea  avansată;  (necesar  pentru ca proxy-ul transparent să funcționeze: în caz contrar,
              aceste pachete vor fi redirecționate, ceea ce probabil nu este ceea ce doriți).

   TRACE
       Această țintă marchează pachetele astfel încât nucleul va înregistra fiecare regulă  care  se  potrivește
       pachetelor  pe  măsură ce acestea parcurg tabelele, lanțurile, regulile. Aceasta poate fi utilizată numai
       în tabelul raw.

       Cu iptables-legacy, trebuie încărcat un sistem de jurnalizare, cum ar fi  ip(6)t_LOG  sau  nfnetlink_log,
       pentru   ca   acest   lucru   să   fie   vizibil.   Pachetele  sunt  înregistrate  cu  prefixul:  „TRACE:
       tablename:chainname:type:rulenum” unde tipul poate fi «rule» pentru regula simplă, «return» pentru regula
       implicită de la sfârșitul unui  lanț  definit  de  utilizator  și  «policy»  pentru  politica  lanțurilor
       integrate.

       Cu  iptables-nft,  ținta  este  tradusă în expresia meta nftrace a nftables. Prin urmare, nucleul trimite
       evenimente de urmărire prin netlink către spațiul utilizatorului, unde acestea pot fi afișate cu ajutorul
       comenzii xtables-monitor --trace. Pentru detalii, consultați xtables-monitor(8).

   TTL (specific IPv4)
       Aceasta este utilizată pentru a modifica câmpul TTL al antetului IPv4.  Câmpul TTL determină câte salturi
       (routere) poate traversa un pachet până când timpul său de viață este depășit.

       Stabilirea sau incrementarea câmpului TTL poate fi foarte periculoasă, astfel încât ar trebui evitată  cu
       orice preț. Această țintă este valabilă numai în tabelul mangle.

       Nu stabiliți sau nu incrementați niciodată valoarea pe pachetele care părăsesc rețeaua locală!

       --ttl-set valoare
              Stabilește valoarea TTL la „valoare”.

       --ttl-dec valoare
              Reduce valoarea TTL de „valoare” ori.

       --ttl-inc valoare
              Crește valoarea TTL de „valoare” ori.

   ULOG (specific IPv4)
       Acesta  este  predecesorul  depreciat  ipv4-only al țintei NFLOG. Acesta asigură înregistrarea în spațiul
       utilizatorului a pachetelor corespunzătoare. Atunci când această țintă este  definită  pentru  o  regulă,
       nucleul Linux va multidifuza acest pachet prin intermediul unui soclu netlink. Unul sau mai multe procese
       din  spațiul utilizatorilor se pot abona apoi la diverse grupuri de multidifuzare și pot primi pachetele.
       Ca și LOG, aceasta este o „țintă  non-terminantă”,  adică  parcurgerea  regulii  continuă  la  următoarea
       regulă.

       --ulog-nlgroup nlgroup
              Specifică grupul netlink (1-32) către care este trimis pachetul. Valoarea implicită este 1.

       --ulog-prefix prefix
              Prefixează mesajele din jurnal cu prefixul specificat; are o lungime de până la 32 de caractere și
              este util pentru a distinge mesajele din jurnale.

       --ulog-cprange dimensiune
              Numărul  de  octeți  care urmează să fie copiați în spațiul utilizatorului. O valoare de 0 copiază
              întotdeauna întregul pachet, indiferent de dimensiunea acestuia. Valoarea implicită este 0.

       --ulog-qthreshold dimensiune
              Numărul de pachete de pus în coadă în interiorul  nucleului.  Stabilirea  acestei  valori  la,  de
              exemplu, 10 acumulează zece pachete în interiorul nucleului și le transmite ca un mesaj multiparte
              netlink   către   spațiul  utilizatorilor.  Valoarea  implicită  este  1  (pentru  compatibilitate
              retroactivă).

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-extensions(8)