Traversarea tabelelor si a lanturilor
PrecUrm

3. Traversarea tabelelor si a lanturilor

3.1 General

Cand un pachet intra in firewall, ajunge la hardware si intra pe driver-ul device-ului din kernel. Dupa care pachetul trece printr-o serie de pasi din kernel pana ce este trimis catre aplicatia corecta ( local ), sau este forward-at catre un alt host. Daca un pachet, destinat pentru o alta masina, ajunge la firewall, trece prin urmatoarele etape:

PasTabelLantComentariu
1Pe fir (ex: Internet).
2Intra pe interfata (ex: eth0, ppp0).
3manglePREROUTINGAici se schimba valoarea din campul TOS si multe altele.
4natPREROUTINGAcest lant este folosit pentru translatarea adresei destinatie de retea (DNAT).
5Decizia de routare.
6filterFORWARDDaca doriti sa faceti filtrare, aici este cazul.
7natPOSTROUTINGAcest lant se foloseste pentru translatarea adresei sursa.
8Iese pe interfata (ex: eth1, ppp1)
9Pe fir din nou (ex: Internet)

Daca un pachet, destinat pentu firewall (localhost), ajunge la acesta, trece prin urmatoarele etape:

PasTabelLantComentariu
1Pe fir (ex: Internet).
2Intra pe interfata (ex: eth0, ppp0).
3manglePREROUTINGAici se schimba valoarea din campul TOS si multe altele.
4natPREROUTINGAcest lant este folosit pentru translatarea adresei destinatie de retea (DNAT).
5Decizia de routare.
6filterINPUTAici se va face filtrarea pachetelor ce vin. Toate pachetele (destinate pentru firewall) ce vin, trec prin acest lant indiferent de interfata de pe care vin.
7Proces local/Aplicatie locala (ex: program client/server).

Pachetele ce au ca sursa firewalul trec prin urmatoarele etape:

filter
PasTabelLantComentariu
1Proces local/Aplicatie locala (ex: progral client/server).
2mangleOUTPUTAici se face schimbarea valorii TOS.
3natOUTPUTAici se face filtrarea pachetelor.
4Decizia de routare.
5natPOSTROUTINGAici se face translatarea adresei sursa de retea (SNAT).
6Iese pe o interfata (ex: eth0, ppp0).
7Pe fir (ex: Internet).

3.2 Tabelul "Mangle"

In acest tabel se pot schimba valorile TOS ( Type Of Service ), si multe altele. Nu faceti nici un fel de fitrare aici, si nici SNAT, DNAT sau mascaradare. Singurele tinte aici sunt:

TOS
TTL
MARK

Tinta TOS este folosita pentru a seta/schimba valoarea TOS. Acesta poate fi folosit pentru a seta regulile unei retele in functie de cum trebuie un pachet sa fie routat samd. Aceasta valoare nu se foloseste pe Internet, deci, nu schimbati aceasta valoare pentru pachetele ce pleaca spre Internet, decat daca faceti routare cu iproute2.

Tinta TTL este folosita pentru a schimba valoarea TTL-ului ( Time To Live ). Putem spune pachetelor sa aibe un TTL specific.

Tinta MARK este folosita pentru a seta valori speciale in campul MARK. Aceste insemnari ar putea fi recunoscute de catre programele lui iproute2 pentru a face diferite routari pe baza valorii mark. Putem face limitare de banda si CBQ cu aceasta tinta.

3.3 Tabelul "NAT"

Acest tabel este folosit numai pentru a face translatarea adresei de retea. Nu se va face nici un fel de filtrare. Numai primul pachet (dintr-o succesiune) va ajunge la acest lant, restul li se vor lua aceleasi masuri ca si primul. Tintele acestui lant sunt:

DNAT
SNAT
MASQUERADE

DNAT-ul este folosit in cazuri in care, avem un singur IP, si vrem ca orice conexiune pe portul 80 de pe acel IP, sa fie redirectionata la un computer din reteaua locala.

SNAT-ul este folosit pentru a ascunde reteaua locala. SNAT-ul consuma mai putin procesor, dar este necesar sa ai o adresa IP neroutabila fixa.

Tinta MASQUERADE, este la fel ca si SNAT-ul, numai ca nu este necesar sa stii adresa IP neroutabila. Consuma mai mult procesor, pentru ca, la fiecare pachet redirectioneaza adresa IP neroutabila.

3.4 Tabelul "FILTER"

Tabelul filter, este folosit desigur pentru filtrarea de pachete. Are mai multe tine, dar cele mai importante sunt:

ACCEPT
REJECT
DROP

Tinta ACCEPT ii spune kernel-ului sa accepte toate pachetele care intrunesc calitatile.

Tinta REJECT ii spune kernel-ului sa nu accepte nici un pachet care intruneste calitatile, si sa informeze sursa.

Tinta DROP ii spune kernel-ului sa nu accepte nici un pachet care intruneste calitatile, fara a mai informa sursa.


PrecContinutUrm
Bazele Exemple