Nastny Poprzedni Spis Trei

6. Jak pakiety podróżują przez filtry

Kernel rozpoczyna pracê z trzema listami reguł w tabeli filtrującej; nazywane sa one łañcuchami ściany ogniowej, lub po prostu łañcuchami. Te trzy nazwane zostały INPUT (wejściowy), OUTPUT (wyjściowy) i FORWARD (przekazujący).

Dla fanów ASCII-art, łañcuchy ułożone są w nastêpujący sposób: (UWAGA: Wygląda to zupełnie inaczej niż w kernelach 2.0 i 2.2!

                          _____
Przychodzący             /     \         Wychodzący
       -->[Decyzja ]--->|FORWARD|------->
          [Rutingu ]     \_____/        ^
               |                        |
               v                       ____
              ___                     /    \
             /   \                       |OUTPUT|
            |INPUT|                       \____/
             \___/                       ^
               |                         |
                ----> Proces lokalny  ----

Trzy koła reprezentują trzy łañcuchy o których wspomniałem wyżej. Kiedy pakiet dociera do koła na diagramie, sprawdzany jest łañcuch reguł by zdecydowaæ o losie pakietu. Jeśli łañcuch mówi że należy odrzuciæ (DROP) pakiet, jest on odrzucany tutaj, ale jeśli łañcuch mówi by zaakceptowaæ pakiet (ACCEPT), kontynuuje on swoją podróż po diagramie.

Łañcuch to lista reguł. Każda reguła mówi 'jeśli nagłówek pakietu wygląda tak, to zrobimy z tym pakietem nastêpującą rzecz'. Jeśli reguła nie pasuje do pakietu, sprawdzana jest nastêpna. Na koniec, jeśli nie ma wiêcej reguł, kernel sprawdza politykê (ang. policy) danego łañcucha. W systemie w którym dba siê o bezpieczeñstwo, polityka mówi zwykle kernelowi by odrzuciæ (DROP) pakiet.

  1. Kiedy pakiet dociera do maszyny (powiedzmy, przez kartê Ethernetową), kernel sprawdza najpierw adres przeznaczenia pakietu: nazywa siê to routingiem.
  2. Jeśli pakiet przeznaczony jest do tego kompuera, pakiet zostaje przepuszczony do łañcucha INPUT (wejściowego). Jeśli przejdzie go, otrzymuje go proces do którego był adresowany.
  3. W innym przypadku, jeśli kernel nie ma włączonego przekazywania (ang. forwarding), lub nie wie jak przekazaæ pakiet, jest on odrzucany. Jeśli przekazywanie jest włączone i pakiet jest przeznaczony do innego interfejsu sieciowego (jeśli w ogóle masz jeszcze jeden), pakiet przechodzi w prawo na naszym diagramie do łañcucha FORWARD (przekazującego). Jeśli zostaje zaakceptowany (ACCEPT), zostanie wysłany dalej.
  4. Na koniec, program pracujący na tym komputerze może również wysyłaæ własne pakiety. Przejdą one od razu do łañcucha OUTPUT (wyjściowego): jeśli stwierdzi on że zaakceptuje pakiet (ACCEPT), pakiet przechodzi do właściwego interfejsu sieciowego.


Nastny Poprzedni Spis Trei