Traversarea tabelelor si a lanturilor | ||
---|---|---|
Prec | Urm |
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:
Pas | Tabel | Lant | Comentariu |
1 | Pe fir (ex: Internet). | ||
2 | Intra pe interfata (ex: eth0, ppp0). | ||
3 | mangle | PREROUTING | Aici se schimba valoarea din campul TOS si multe altele. |
4 | nat | PREROUTING | Acest lant este folosit pentru translatarea adresei destinatie de retea (DNAT). |
5 | Decizia de routare. | ||
6 | filter | FORWARD | Daca doriti sa faceti filtrare, aici este cazul. |
7 | nat | POSTROUTING | Acest lant se foloseste pentru translatarea adresei sursa. |
8 | Iese pe interfata (ex: eth1, ppp1) | ||
9 | Pe fir din nou (ex: Internet) |
Daca un pachet, destinat pentu firewall (localhost), ajunge la acesta, trece prin urmatoarele etape:
Pas | Tabel | Lant | Comentariu |
1 | Pe fir (ex: Internet). | ||
2 | Intra pe interfata (ex: eth0, ppp0). | ||
3 | mangle | PREROUTING | Aici se schimba valoarea din campul TOS si multe altele. |
4 | nat | PREROUTING | Acest lant este folosit pentru translatarea adresei destinatie de retea (DNAT). |
5 | Decizia de routare. | ||
6 | filter | INPUT | Aici 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. |
7 | Proces local/Aplicatie locala (ex: program client/server). |
Pachetele ce au ca sursa firewalul trec prin urmatoarele etape:
Pas | Tabel | Lant | Comentariu |
1 | Proces local/Aplicatie locala (ex: progral client/server). | ||
2 | mangle | OUTPUT | Aici se face schimbarea valorii TOS. |
3 | nat | filterOUTPUT | Aici se face filtrarea pachetelor. |
4 | Decizia de routare. | ||
5 | nat | POSTROUTING | Aici se face translatarea adresei sursa de retea (SNAT). |
6 | Iese pe o interfata (ex: eth0, ppp0). | ||
7 | Pe fir (ex: Internet). |
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:
TOSTinta 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.
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:
DNATDNAT-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.
Tabelul filter, este folosit desigur pentru filtrarea de pachete. Are mai multe tine, dar cele mai importante sunt:
ACCEPTTinta 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.
Prec | Continut | Urm |
Bazele | Exemple |