Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
|
sk2:tc [2023/01/08 15:30] jkonczak [prio + filtry] |
sk2:tc [2023/01/10 10:35] (aktualna) jkonczak [htb] |
||
|---|---|---|---|
| Linia 7: | Linia 7: | ||
| "Kolejka" domyślnie jest kolejką – system wyciąga pakiety z kolejki w kolejności w jakiej zostały dodane. | "Kolejka" domyślnie jest kolejką – system wyciąga pakiety z kolejki w kolejności w jakiej zostały dodane. | ||
| - | Można jednak zastąpić to zachowanie (dyscyplinę kolejkowania – Queueing DISCipline, qdisc) innym. | + | Można jednak zastąpić to zachowanie (dyscyplinę kolejkowania – Queueing DISCipline, qdisc) innym [[https://en.wikipedia.org/wiki/Network_scheduler|[2]]]. |
| Pozwala to kształtować ruch – ograniczać prędkość i priorytetyzować wybrane pakiety ([[https://en.wikipedia.org/wiki/Traffic_shaping|Traffic shaping]]). | Pozwala to kształtować ruch – ograniczać prędkość i priorytetyzować wybrane pakiety ([[https://en.wikipedia.org/wiki/Traffic_shaping|Traffic shaping]]). | ||
| Linia 203: | Linia 203: | ||
| ++++ Gotowa konfiguracja htb (do użycia na laboratoriach w przypadku braku czasu)| | ++++ Gotowa konfiguracja htb (do użycia na laboratoriach w przypadku braku czasu)| | ||
| - | <code>tc qdisc del dev p4p1 root | + | <code>tc qdisc del dev em1 root |
| - | tc qdisc add dev p4p1 root handle 1 htb default 32 | + | tc qdisc add dev em1 root handle 1 htb default 32 |
| - | tc class add dev p4p1 parent 1:0 classid 1:1 htb rate 100mbit | + | tc class add dev em1 parent 1:0 classid 1:1 htb rate 100mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:2 htb rate 60mbit | + | tc class add dev em1 parent 1:1 classid 1:2 htb rate 60mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:21 htb rate 20mbit ceil 60mbit | + | tc class add dev em1 parent 1:2 classid 1:21 htb rate 20mbit ceil 60mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:22 htb rate 40mbit ceil 60mbit | + | tc class add dev em1 parent 1:2 classid 1:22 htb rate 40mbit ceil 60mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:3 htb rate 40mbit ceil 100mbit | + | tc class add dev em1 parent 1:1 classid 1:3 htb rate 40mbit ceil 100mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:31 htb rate 30mbit ceil 100mbit | + | tc class add dev em1 parent 1:3 classid 1:31 htb rate 30mbit ceil 100mbit |
| - | tc class add dev p4p1 parent 1:1 classid 1:32 htb rate 10mbit ceil 50mbit | + | tc class add dev em1 parent 1:3 classid 1:32 htb rate 10mbit ceil 50mbit |
| - | tc filter add dev p4p1 parent 1:0 handle 0x21 fw flowid 1:21 | + | tc filter add dev em1 parent 1:0 handle 0x21 fw flowid 1:21 |
| - | tc filter add dev p4p1 parent 1:0 handle 0x22 fw flowid 1:22 | + | tc filter add dev em1 parent 1:0 handle 0x22 fw flowid 1:22 |
| - | tc filter add dev p4p1 parent 1:0 handle 0x31 fw flowid 1:31 | + | tc filter add dev em1 parent 1:0 handle 0x31 fw flowid 1:31 |
| - | tc filter add dev p4p1 parent 1:0 handle 0x32 fw flowid 1:32 | + | |
| iptables -F | iptables -F | ||
| - | iptables -A OUTPUT -d 10.0.0.0/30 -j MARK --set-mark 0x21 | + | iptables -A OUTPUT -d lab-net-X -j MARK --set-mark 0x21 |
| - | iptables -A OUTPUT -d 10.0.0.4/30 -j MARK --set-mark 0x22 | + | iptables -A OUTPUT -d lab-net-Y -j MARK --set-mark 0x22 |
| - | iptables -A OUTPUT -d 10.0.0.8/30 -j MARK --set-mark 0x31 | + | iptables -A OUTPUT -d lab-net-Z -j MARK --set-mark 0x31 |
| - | iptables -A OUTPUT -d 10.0.0.12/30 -j MARK --set-mark 0x32 | + | |
| </code> | </code> | ||
| ++++ | ++++ | ||
| Linia 242: | Linia 240: | ||
| W HTB zwykle tworzy się klasy tak, by bezpośrednio do qdisc była podpięta jedna klasa, definiująca tylko rate (maksymalny dla łącza), a pod nią były podpięte kolejne, definiujące rate i ceil (których sumaryczny rate ani pojedynczy ceil jest nie większy niż możliwości łącza). | W HTB zwykle tworzy się klasy tak, by bezpośrednio do qdisc była podpięta jedna klasa, definiująca tylko rate (maksymalny dla łącza), a pod nią były podpięte kolejne, definiujące rate i ceil (których sumaryczny rate ani pojedynczy ceil jest nie większy niż możliwości łącza). | ||
| - | Dodaj regułę wrzucającą wybrany ruch do klasy 1:3, sprawdź pożyczanie | ||
| Klasy w HTB mogą tworzyć dowolną hierarchię (drzewo) – można wpinać klasy do klas, np: | Klasy w HTB mogą tworzyć dowolną hierarchię (drzewo) – można wpinać klasy do klas, np: | ||
| Linia 257: | Linia 254: | ||
| * na pakiety idące do drugiego wybranego komputera było zagwarantowane 20mbit ruchu z możliwością pożyczania do 100mbit | * na pakiety idące do drugiego wybranego komputera było zagwarantowane 20mbit ruchu z możliwością pożyczania do 100mbit | ||
| * na pozostałe pakiety było zagwarantowane 70mbit ruchu z możliwością pożyczania do 100mbit | * na pozostałe pakiety było zagwarantowane 70mbit ruchu z możliwością pożyczania do 100mbit | ||
| + | |||
| //Zadanie 6b. // Dodaj odpowiednie filtry i przetestuj czy działają korzystając ze statystyk klas. | //Zadanie 6b. // Dodaj odpowiednie filtry i przetestuj czy działają korzystając ze statystyk klas. | ||
| - | //Zadanie 6c. // Sprawdź przestrzeganie limitów i działanie pożyczania używając programu netperf. | + | |
| + | //Zadanie 6c. // Sprawdź przestrzeganie limitów i działanie pożyczania używając programu netperf / iperf / nc+pv | ||
| ===== Dodawanie qdisc do klas ===== | ===== Dodawanie qdisc do klas ===== | ||