[ Pobierz całość w formacie PDF ]
.Nie możemy ich w żaden sposób opózniać.Akcje do podjęcia przy przekroczeniu pasmaJeśli twój filtr wykryje taką sytuację, może wykonać jedną z `akcji'.Obecnie, dostępne są trzy:continueFiltr nie pasuje, ale być może inne będą.dropmr0vka.eu.org Bardzo surowa opcja, która po prostu odrzuci ruch wykraczający poza określoną wartość.Często używa się jej przy ruchu wchodzącym i przy ograniczonej liczbieużytkowników.Na przykład, możesz mieć serwer nazw, który nie daje sobie rady z ruchem powyżej 5mbit/s, więc filtr ustawiony na ruch przychodzący może zapewnić, żemaszyna nie będzie próbowała obsłużyć więcej.Pass/OKPrzepuszcza ruch.Może być użyteczne do wyłączenia skomplikowanego filtra, który przydaje się w innej sytuacji.reclassifyZwykle ogranicza się do sklasyfikowania jako najlepsza opcja (ang.best effort).Jest to domyślna akcja.PrzykładyJedynym prawdziwym przykładem jest wspomniany dotyczący ochrony hosta przed powodziamy SYN.FIXME: jeśli go używasz, podziel się z nami swoim doświadczeniem.13.4 Filtry mieszające i bardzo dużo szybkiego filtrowaniaJeśli potrzebujesz tysięcy reguł, na przykład w sytuacji gdy masz bardzo dużo klientów lub komputerów, dodatkowo różne specyfikacje co do jakości usług (ang.Quality of Service,QoS) może się okazać, że twój kernel spędza bardzo dużo czasu sprawdzając te reguły.Domyślnie, wszystkie reguły zapisane są w dużym łańcuchu, który sprawdzany jest w kolejności zmniejszających się priorytetów.Jeśli masz 1000 reguł, być może konieczne będzie1000 testów by określić co zrobić z pakietem.Sprawdzanie odbywałoby się szybciej, gdybyś miał 256 różnych łańcuchów i w każdym cztery reguły - jeśli podzieliłbyś pakiety pomiędzy te 256 łańcuchów, tak by regułyodpowiadały pakietom.1.2.0Tutaj przychodzi na pomoc mieszanie.Powiedzmy, że masz 1024 użytkowników w swojej sieci połączonych modemami kablowymi, z przydzielonymi adresami od do1.2.3.255.Każdy z nich należy do innej kategorii, np.`podstawowy', `standardowy' i `wyjątkowy'.Potrzebujesz 1024 reguł, takich jak te:# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.0 classid 1:1# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.1 classid 1:1.# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.3.254 classid 1:3mr0vka.eu.org # tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.3.255 classid 1:2By przyśpieszyć przetwarzanie, możemy użyć ostatniej części adresu IP jako `klucza mieszającego'.Dostajemy 256 tabel, z których pierwsze wyglądają tak:# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.0 classid 1:1# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.1.0 classid 1:1# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.2.0 classid 1:3# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.3.0 classid 1:2Następna zaś zaczyna się tak:# tc filter add dev eth1 parent 1:0 protocol ip prio 100 match ip src \1.2.1 classid 1:1.W ten sposób mamy tylko cztery testy w najgorszym wypadku a średnio dwa.Konfiguracja jest trochę skomplikowana, ale warta czasu który zyskasz.Najpierw tworzymy filtr-korzeń a następnie tabelę z 256 wpisami:# tc filter add dev eth1 parent 1:0 prio 5 protocol ip u32# tc filter add dev eth1 parent 1:0 prio 5 handle 2: u32 divisor 256Teraz dodajemy trochę reguł do wpisów w tabeli:# tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 ht 2:7b: \match ip src 1.2.123 flowid 1:1# tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 ht 2:7b: \match ip src 1.2.1.123 flowid 1:2# tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 ht 2:7b: \match ip src 1.2.3.123 flowid 1:3# tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 ht 2:7b: \match ip src 1.2.4.123 flowid 1:21.2.123 1.2.1.123 1.2.2.123 1.2.3 [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • centka.pev.pl
  •