Control Stellen in der Reihe von Banda mit HTB-Tools
- Kontrolle von Banda unkompliziert mit HTB-Tools
- HTB-Tools: praktische Beispiele für die Konfiguration
Ursprünglich veröffentlicht in http://wasare.net am 12.08.2006 und SlackwareZine Ziffer 9
1. Einführung
Die HTB (Hierarchical Token Bucket) ist eine gute Alternative zu ersetzen, die cBq (Klasse Based Queuing), weil es genauer und einfach zu bedienen (wird? Für mich war es). Der Unterschied für die cBq ist, dass es stellt Bandbreite für ein oder mehrere Klassen ( "virtuelle Verbindungen") und nimmt die Band vorübergehend ausgeliehen zu einer anderen Klasse, die nicht in vollem Umfang verwendet werden. Auch im Gegensatz zu den cBq Sie können verschiedene Kunden in der gleichen Klasse. Für die Verwendung des HTB benötigen Sie einen Kernel 2.4.20 oder höher und Werkzeug tc (Traffic Control)-Paket im Lieferumfang enthalten iproute2, die beantragt wird iproute2> = 2.6.10-ss050124. Ich benutzte nur die Slackware 10.2 (oder Kernel 2.4.31 Kernel 2.6.13) mit dem Paket iproute2-2.6.11_050330 (n Reihe von Slackware) installiert.
So konfigurieren Sie den HTB haben wir grundsätzlich drei Alternativen:
- Erstellen Sie ein Skript mit allen Kommandos (falls Sie wissen, was das ist);
- Mit dem Dienstprogramm htb.init Skript ähnlich cbq.init und verlangt, dass eine Vielzahl von Einstellungen, und vertraut auf alle Personen, die das cBq, oder
- Mit dem Tool HTB-Tools. Wie zu vereinfachen, und ich habe keine Erfahrung mit dem cBq sich durch HTB-Tools erstellt innerhalb der Philosophie von Slackware.
Laden Sie sich die HTB-tools-0.2.7.tar.gz unter: http://htb-tools.arny.ro/download.php
Wenn Sie nicht gerne manuell installieren möchten, und überspringen Sie die Setup-Paket im Download-Format. Tgz auf dem gleichen Link oben oder unter: http://www.linuxpackages.net/pkg_details.php?id=8121
Entpacken Sie das Paket mit den Quellen und führen Sie Folgendes aus:
root @ Eis: ~ # cd HTB-tools-0.2.7, make, make install
, Um die Installation abzuschließen, führen Sie die folgenden Befehle:
HTB-tools-0.2.7 # mkdir -p /etc/htb root @ Eis: ~ / HTB-tools-0.2.7 # mkdir-p / etc / HTBHTB-tools-0.2.7 # cp sys/scripts/rc.htb /etc/rc.d/rc.htb root @ Eis: ~ / HTB-tools-0.2.7 sys # cp / scripts / rc.htb / etc / rc.d / rc.htbHTB-tools-0.2.7 # cp sys/cfg/eth0-qos.cfg /etc/htb/eth0-qos.cfg root @ Eis: ~ / HTB-tools-0.2.7 # cp sys/cfg/eth0-qos.cfg / etc/htb/eth0-qos.cfgHTB-tools-0.2.7 # cp sys/cfg/eth1-qos.cfg /etc/htb/eth1-qos.cfg root @ Eis: ~ / HTB-tools-0.2.7 # cp sys/cfg/eth1-qos.cfg / etc/htb/eth1-qos.cfg
Vor kopieren Sie die Konfigurations-Dateien als Beispiel für die Schnittstellen eth0 und eth1 und Start-up-Skript rc.htb.
Für das Format. Tgz, laufen nur:
root @ Eis: ~ # HTB-installpkg tools-0.2.7-i486-1wsa.tgz
3. Konfiguration
HTB-Tools installiert seine SuSE wird sich die ausführbare Datei:
- q_parser - liest die Konfigurationsdatei, wo Kunden, die
Klassen, und die zugewiesenen Band wird definiert und erzeugt ein Skript als
Einstellungen festgelegt; - q_show - zeigt Echtzeit-Bandbreite verwendet werden / für die einzelnen
Klasse / Client-Konfiguration; - q_checkcfg - Überprüfen Sie die Syntax der Konfigurationsdatei;
- HTB - Skript, führt Routinen mit den binären q_show,
q_parser, q_checkcfg; - htbgen - Nutzen zu generieren Konfigurationsdateien für
Klassen Netze C.
Die Konfigurationsdateien befinden sich im Verzeichnis / etc / HTB. Mit den Tools HTB wir vereinfachen die Konfiguration und Verfolgung der Zuteilung der Bandbreite für die beiden hoch-und runterladen.
Die großen Balkon der Schöpfer der HTB-Tools wurde eine Konfiguration ähnlich der Datei named.conf (die nie gab einen Blick?). Lassen Sie das Beispiel: Sie haben einen Link zu 512kpbs zwischen zwei Clients, jeder theoretisch sollte garantiert 256kpbs (QoS), aber lassen Sie das Ding verlieren, und ein Kunde beginnt sich zu beschweren, dass der Link ist sehr langsam und es kann nicht ausführen große Transaktionen. Es ist nicht notwendig zu sagen, alles andere, die anderen Client ist "missbrauchen" den Link. Der Fehler ist nicht sein, da Sie mit der linken, tun Sie? Um dieses Problem zu lösen werden wir in der Tat verteilen den Link wie folgt: jeden Kunden wird garantiert 192kpbs und bis zu 256kps upload / download.
Vorausgesetzt, dass Ihre LAN-Schnittstelle ist eth0 Wir werden den Upload / Download der Datei erstellen / etc/htb/eth0-qos.cfg mit folgendem Inhalt:
Wireless-Klasse ( Bandbreite 480; Grenze 512; Burst-2; Priorität 1; (Client cliente_1 Bandbreite 192; Grenze 256; Burst-2; Priorität 1; 24 ; } ; (192.168.1.2 src / 24;); 24 ; } ; dst (192.168.1.2 / 24;); ); (Client cliente_2 Bandbreite 192; Grenze 256; Burst-2; Priorität 1; 24 ; } ; src (192.168.2.2 / 24;); 24 ; } ; dst (192.168.2.2 / 24;); ); ); ; } ; (Klasse Standard-Bandbreite 8;);
Wie wir sehen können, das Setup ist selbsterklärend. Aber nicht zu verlassen Zweifel, dass die src sehen können, wie sollen wir vermuten, ist die Quelle oder die Quelle des Verkehrs, aus Gründen beschränken wir die Ausgabe (Upload). Im Falle der politischen Kontrolle dst das Schicksal oder der Eintragung (download). Die grundlegende Struktur kann in einer Haupt-Klasse, ist unterteilt in anderen sekundären Klassen. Wenn es eher eine Hauptklasse sie nicht teilen Bandbreite zwischen ihnen. Die sekundären Klassen (Kunden) können Bandbreite zwischen ihnen durch die Konfiguration (max. höher). Jede Klasse hat eine primäre oder sekundäre Klassen mehr (Kunden). Die besondere Klasse gibt eine Standard-Bandbreite für andere Kunden / Handel, die nicht in die Konfiguration. Die Übertragungsrate und in kbit pro Sekunde (kpbs).
Um zu steuern, den Download / Upload in eth1 Erstellen Sie einfach eine Datei ähnlich / etc/htb/eth0-qos.cfg in / etc/htb/eth1-qos.cfg gehe davon aus, daß seine Schnittstelle eth1 ist die andere LAN-oder WAN-den. In / etc/htb/eth1-qos.cfg schaffen, die wichtigsten Klasse und der Klasse Kunden wie nötig.
In komplexeren Einstellungen können Sie mehrere IP-Netze oder (Netzwerk / Maske) innerhalb der gleichen Klasse abgeleiteten unter den Schlüssel für den src dst oder, wenn a (a) pro Zeile und finalisiert durch ein Semikolon. Nun, wenn Sie wollen, die Band für einen bestimmten Dienst zum Beispiel FTP oder HTTP geben einen Raum und Ort der Tür des Service (oder in src dst), also:
... Dst ( ; 192.168.3.0 / 24 21; ; 192.168.4.0 / 24 80; ); ...
Warnung: Seien Sie vorsichtig bei der Erstellung der Klassen begrenzt sein werden, weil der gesamte Datenverkehr für diese Client / IP für alle Protokolle. Kombinieren verschiedener Klassen und Einstellungen, bis Sie erreichen die ideale Kontrolle.
Bevor ermöglicht die Kontrolle der Bandbreite ist ratsam zu prüfen, die Syntax der Konfiguration:
root @ Eis: ~ # q_checkcfg / etc/htb/eth0-qos.cfgroot @ Eis: ~ # q_checkcfg / etc/htb/eth1-qos.cfg
4. Aktivieren des HTB
Zur Erleichterung der Dinge, die rc.htb ausführbare:
root @ Eis: ~ # chmod + x / etc / rc.d / rc.htb
Mit diesem Skript nicht nötig, direkt aus den Binärdateien
HTB-Tools. Damit die HTB für eth0 Durchführung innerhalb
/ Etc / rc.d:
etc / rc.d # ./rc.htb start_eth0 root @ Eis: / etc / rc.d #. / rc.htb start_eth0
Mach dasselbe für eth1 natürlich tun, die notwendigen Ersatz von eth0 von eth1. Wenn Sie mehr als zwei Schnittstellen ändern Sie die rc.htb nach ihren Bedürfnissen. Da wir uns alles zu korrigieren, dass die HTB aktiviert ist jedes Boot, das Hinzufügen der oben genannten Befehle rc.local oder eine andere Start-up-Skript Ihrer Wahl.
Beispiel:
etc / rc.d # echo "/etc/rc.d/rc.htb start_eth0" >> /etc/rc.d/rc.local root @ Eis: / etc / rc.d # echo "/ etc / rc.d / rc.htb start_eth0">> / etc / rc.d / rc.local etc / rc.d # echo "/etc/rc.d/rc.htb start_eth1" >> /etc/rc.d/rc.local root @ Eis: / etc / rc.d # echo "/ etc / rc.d / rc.htb start_eth1">> / etc / rc.d / rc.local
5. Kontrolle der Kontrolle von Banda
Eröffnung des HTB, können Sie überwachen die Verwendung der Verbindung in Echtzeit zu verfolgen jeden Kunden individuell Hochladen oder Herunterladen,
jeweils folgendermaßen:
etc / rc.d # ./rc.htb show_eth0 root @ Eis: / etc / rc.d #. / rc.htb show_eth0etc / rc.d # ./rc.htb show_eth1 root @ Eis: / etc / rc.d #. / rc.htb show_eth1
Werfen Sie einen Blick auf HTB-Tools-Paket, und Sie können immer noch nutzen htbgen Utility, um die Konfigurationsdatei über Assistenten und eine Möglichkeit haben, zur Überwachung der Verwendung der Web-Band (q_show.php). Es ist weich oder was!
Ich hoffe, Sie können uncomplicate Kontrolle der Band mit HTB-Tools ebenso wie ich.









Sag uns Deine Meinung!