tc-new
Różnice
Różnice między wybraną wersją a wersją aktualną.
Poprzednia wersja | |||
— | tc-new [Nieznana data] (aktualna) – edycja zewnętrzna (Nieznana data) 127.0.0.1 | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
+ | ===6.2.11. Tc-new (HTB)=== | ||
+ | ==6.2.11.1. Opis== | ||
+ | |||
+ | Moduł generujący skrypt zawierający polecenia iptables i tc służące do ograniczania przepływności i limitowania połączeń klientom. Działa podobnie do modułu ' | ||
+ | |||
+ | ==6.2.11.2. Konfiguracja== | ||
+ | |||
+ | Wartości domyślne niektórych opcją są zgodne z modułem tc. | ||
+ | |||
+ | * file | ||
+ | |||
+ | Lokalizacja pliku wynikowego. Domyślnie: / | ||
+ | |||
+ | Przykład: file = /tmp/rc.htb | ||
+ | |||
+ | * command | ||
+ | |||
+ | Polecenie powłoki wykonywane po utworzeniu pliku. Domyślnie: "sh / | ||
+ | |||
+ | Przykład: command = "chmod 700 / | ||
+ | |||
+ | * begin | ||
+ | |||
+ | Nagłówek skryptu. Domyślnie: jak w module tc | ||
+ | |||
+ | Przykład: begin = "# | ||
+ | |||
+ | * end | ||
+ | |||
+ | Stopka skryptu. Domyślnie: jak w module tc | ||
+ | |||
+ | Przykład: end = "" | ||
+ | |||
+ | * class_up | ||
+ | |||
+ | Definicja klasy dla uploadu, w której możemy użyć następujących zmiennych: %cid - ID klienta, %cname - nazwa klienta, %h - numer uchwytu klasy %uprate, %upceil. Domyślnie: | ||
+ | |||
+ | < | ||
+ | # %cname (ID:%cid) | ||
+ | $TC class add dev $WAN parent 2:1 classid 2:%h htb rate %upratekbit ceil %upceilkbit $BURST prio 2 quantum 1500 | ||
+ | $TC qdisc add dev $WAN parent 2:%h esfq perturb 10 hash dst | ||
+ | </ | ||
+ | |||
+ | Przykład: class_up = "$TC class add dev $WAN parent 2:1 classid 2:%h htb rate %upratekbit ceil %upceilkbit $BURST prio 2 quantum 1500" | ||
+ | |||
+ | * class_down | ||
+ | |||
+ | Definicja klasy dla downloadu, w której możemy użyć następujących zmiennych: %cid - ID klienta, %cname - nazwa klienta, %h - numer uchwytu klasy, %downrate, %downceil. Domyślnie: | ||
+ | |||
+ | < | ||
+ | $TC class add dev $LAN parent 1:2 classid 1:%h htb rate %downratekbit ceil %downceilkbit $BURST prio 2 quantum 1500 | ||
+ | $TC qdisc add dev $LAN parent 1:%h esfq perturb 10 hash dst | ||
+ | </ | ||
+ | |||
+ | Przykład: class_up = "$TC class add dev $LAN parent 1:2 classid 1:%h htb rate %downratekbit ceil %ceilceilkbit $BURST prio 2 quantum 1500" | ||
+ | |||
+ | * filter_up | ||
+ | |||
+ | Definicja filtrów dla ruchu w kierunku od hosta. Dozwolone zmienne: %n - nazwa hosta, %if - nazwa interfejsu sieci, %i - adres, %m - mac, %ms - lista adresów MAC hosta (oddzielonych przecinkiem), | ||
+ | |||
+ | < | ||
+ | # %n | ||
+ | $IPT -t mangle -A LIMITS -s %i -j MARK --set-mark %x | ||
+ | $TC filter add dev $WAN parent 2:0 protocol ip prio 5 handle %x fw flowid 2:%h | ||
+ | </ | ||
+ | |||
+ | Przykład: class_up = " | ||
+ | |||
+ | * filter_down | ||
+ | |||
+ | Definicja filtrów dla ruchu w kierunku do hosta. Dozwolone zmienne: %n - nazwa hosta, %if - nazwa interfejsu sieci, %i - adres, %m - mac, %ms - lista adresów MAC hosta (oddzielonych przecinkiem), | ||
+ | |||
+ | < | ||
+ | $IPT -t mangle -A LIMITS -d %i -j MARK --set-mark %x | ||
+ | $TC filter add dev $LAN parent 1:0 protocol ip prio 5 handle %x fw flowid 1:%h | ||
+ | </ | ||
+ | |||
+ | Przykład: class_down = " | ||
+ | |||
+ | * climit | ||
+ | |||
+ | Definicja reguły dla limitu połączeń hosta. Dozwolone zmienne: %n - nazwa hosta, %if - nazwa interfejsu sieci, %i - adres, %m - mac, %ms - lista adresów MAC hosta (oddzielonych przecinkiem), | ||
+ | |||
+ | $IPT -t filter -I FORWARD -p tcp -s %i -m connlimit --connlimit-above %climit -j REJECT | ||
+ | |||
+ | Przykład: climit = "" | ||
+ | |||
+ | * plimit | ||
+ | |||
+ | Definicja reguły dla limitu pakietów dla hosta. Dozwolone zmienne: %n - nazwa hosta, %if - nazwa interfejsu sieci, %i - adres, %m - mac, %ms - lista adresów MAC hosta (oddzielonych przecinkiem), | ||
+ | |||
+ | < | ||
+ | $IPT -t filter -I FORWARD -d %i -m limit --limit %plimit/s -j ACCEPT | ||
+ | $IPT -t filter -I FORWARD -s %i -m limit --limit %plimit/s -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | Przykład: plimit = "" | ||
+ | |||
+ | * networks | ||
+ | |||
+ | Lista nazw sieci, które mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta (wszystkie sieci). | ||
+ | |||
+ | Przykład: networks = "lan1 lan2" | ||
+ | |||
+ | * customergroups | ||
+ | |||
+ | Lista nazw grup klientów, które mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta (wszystkie grupy). | ||
+ | |||
+ | Przykład: customergroups = " | ||
+ | |||
+ | * night_hours | ||
+ | |||
+ | Zakres godzin nocnych w formacie 24-godzinnym. Np. " | ||
+ | |||
+ | Przykład: night_hours = " | ||
+ | |||
+ | * night_no_debtors | ||
+ | |||
+ | Włączenie tej opcji spowoduje sprawdzenie czy klient posiada nierozliczone faktury przeterminowane. Jeśli tak, taryfa nocna nie zostanie zastosowana. Domyślnie: false. | ||
+ | |||
+ | Przykład: night_no_debtors = tak | ||
+ | |||
+ | * night_deadline | ||
+ | |||
+ | Dodatkowy czas (ilość dni) po terminie płatności, | ||
+ | |||
+ | Przykład: night_deadline = 7 | ||
+ | |||
+ | * multi_mac | ||
+ | |||
+ | Jeśli ustawiona na tak (yes, true) utworzony zostanie osobny rekord dla każdego adresu MAC. Tzn. jeśli komputer ma przypisanych kilka adresów MAC, będzie utworzone tyle wpisów ile tych adresów. Domyślnie: nie | ||
+ | |||
+ | Przykład: multi_mac = tak |
tc-new.txt · ostatnio zmienione: 2013/01/15 00:00 (edycja zewnętrzna)