So verwenden Sie iptables klassifizieren

So verwenden Sie iptables klassifizieren
Mit Iptables Classify können Administratoren den Netzwerkverkehr verwalten, indem die gewünschte Menge an Bandbreitenressourcen zugewiesen werden.
Durch die Implementierung von Iptables Classify können Sie einem bestimmten Typ von Paketen, Quellen/Zielen, Ports usw. spezifische Download-/Hochladen Bandbreite zuweisen, usw.

Durch die Implementierung von Iptables Classify können Sie Ihre Bandbreite für Zoomkonferenzen, Spiele usw. priorisieren., während die Bandbreite für soziale Netzwerke, Torrent usw. begrenzt.

Diese Iptables -Funktion ist nicht mit Sicherheit zusammenhängen, sondern mit QoS (Qualitätsqualität), was die Bandbreitenleistung ist, die die Erfahrung des Benutzers beeinflusst.

Iptables Classify können nur mit der Nachsturmkette angewendet werden. Wenn Sie nicht wissen, was Postinging ist, möchten Sie wahrscheinlich dieses Iptables -Tutorial lesen, bevor Sie diesen Artikel fortsetzen.

Warum können Sie iptables klassifizieren

Standardmäßig ist der Internetverkehr gemäß der allgemeinen Richtlinie von FIFO (zuerst in, zuerst aus) organisiert. FIFO bedeutet, dass das erste Paket, auf das eintrifft.

Wenn Sie beispielsweise fragmentierte Pakete erhalten, die gleichzeitig zu Videokonferenzen, Spielen, E -Mails und sozialen Netzwerken gehören, antwortet Ihr System gemäß der Ankunftsbestellung.
Dieses Verhalten ist fair und ermöglicht es dem Internet, ordnungsgemäß zu funktionieren, aber FIFO kann auf interner Ebene ein regelmäßiges Problem sein, und Sie können es mit Iptables regulieren. Sie können beispielsweise definieren, dass die Videokonferenz oder der Gaming -Verkehr Priorität über Mails oder P2P -Verkehr haben.

FIFO ist ein Beispiel für eine Basis Qdisc (Warteschlangendisziplin). Sie können QDISC als einen an ein Netzwerkgerät angeschlossenen Richtlinienimplementierer betrachten, um die Reihenfolge zu definieren, in der Pakete an das Netzwerkgerät übergeben werden. Unsere Befehle in diesem Tutorial werden zunächst die Warteschlangendisziplin (QSIC) ändern.

QoS (Servicequalität) kann vom Kernel mit dem verwaltet werden TC (Verkehrskontrolle oder fortgeschrittene Warteschlange) Dienstprogramm, diese Funktion ist jedoch zustandslos, während Iptables komplexe Zustandsfunktionen bieten können. In jedem Fall muss Iptables Classify mit TC und QDISC implementiert werden, wobei Sie die Bandbreite nach Ihren eigenen Kriterien verteilen oder begrenzen können.

So verwenden Sie iptables klassifizieren

Bevor wir mit iptables klassifiziert beginnen, müssen wir die erstellen Ebenen oder Verkehr Typen, die für Iptables klassifizieren.

Mit dem folgenden Befehl werden wir die Warteschlangendisziplin für das benannte Netzwerkgerät ändern ENP2S0. Dies gilt für ausgehende Verkehr (Root), aber da Ihr priorisierter Verkehr zuerst antwortet, werden sie zuerst antwort. Durch die Verzögerung bestimmter ausgehender Verkehr wird er langsamer heruntergeladen, da er spät zum Ziel ankommt.

TC Qdisc add Dev ENP2S0 Root -Handle 1: HTB Standard 13

Der obige Befehl erklärte:

  • TC Qdisc: Wir führen TC aus, um die Warteschlangendisziplin (QDISC) zu ändern.
  • add dev : Hier fügen wir das QDISC an ein bestimmtes Netzwerkgerät an. In diesem Fall ist meine Netzwerkkarte ENP2S0.
  • Wurzel: Ausgehender Verkehr.
  • Handle 1: Das Format dieses Abschnitts könnte sein “Handle 1:13Wo der Moll (1) die Klasse ist und 13 ist der Griff. Dadurch werden Klasse 1 und Stufe 13 erstellt, damit wir die Bandbreite im folgenden Schritt teilen können.
  • HTB: HTB (Hierarchical Token Bucket) wird verwendet, um die ausstehende Bandbreite zu kontrollieren, indem verschiedene langsamere Links anstelle Ihres realen und schnellen physischen Links simuliert werden. Mit dieser Option teilen wir dem System mit, dass wir unsere physische Verbindung zwischen mehreren simulierten Links teilen werden. Dann definieren wir die Teilungsparameter mit iptables.
  • Standard 13: Wie bereits erwähnt, die handhaben könnte als „Handle 1:13“ definiert werden, wir haben es nicht getan, weil wir es am Ende des Befehls der Stufe 13 als Standard festgelegt haben.

Die folgenden Zeilen fügen die Klasse, die Ebenen hinzu und definieren die Bandbreitenzuweisung für jeden.

Wie Sie sehen können, werden diese Pakete als 1:10 mit Iptables 50 über 50 Mbit -Bandbreite verfügbar sein.
Pakete, die als 1:11 klassifiziert sind.
1:12 Pakete können bei Verwendung des Datenverkehrs bis zu 10mbit verwenden. Wenn jedoch kein anderer Verkehr vorhanden ist, kann die Geschwindigkeit um bis zu 20 Mbit erhöhen.
Schließlich haben Pakete, die als 1:13 klassifiziert sind.

TC -Klasse add Dev ENP2S0 Eltern 1: ClassId 1: 1 HTB -Rate 50 Mbit Ceil 50mbit
TC -Klasse add Dev ENP2S0 Eltern 1: ClassId 1:10 HTB Rate 50mbit Ceil 50mbit Prio 0
TC -Klasse add Dev ENP2S0 Eltern 1: ClassId 1:11 HTB -Rate 30Mbit Ceil 50mbit Prio 1
TC -Klasse add Dev ENP2S0 Eltern 1: ClassId 1:12 HTB -Rate 10Mbit Ceil 20mbit Prio 2
TC -Klasse add Dev ENP2S0 Eltern 1: Klasside 1:13 HTB -Rate 5Mbit Ceil 5mbit Prio 3

Also haben wir einige Ebenen definiert, und jetzt müssen wir sie mit iptables durchsetzen. Die obigen Zeilen sollten als Skript gespeichert und ausgeführt werden, bevor Sie Ihre iptables Regeln ausführen.

Im ersten Beispiel werde ich Iptables verwenden, um SSH -Verbindungen und SCP -Dateiübertragungen zu priorisieren, indem ich Port 22 als 1:10 klassifizieren kann. Dies bedeutet, dass SSH- oder SCP -Verbindungen die zuvor definierte maximale Geschwindigkeit genießen (50/50).

sudo iptables -t mangle -a postrouting -o enp2s0 -p tcp --Sport 22 -j klassifizieren -Set -Klasse 1:10

Sagen wir nun, wenn Sie große SCP -Dateien übertragen, möchten Sie nicht, dass Webverkehr um die 50 -MB -Bandbreite konkurriert. Sie definieren, wenn der SCP -Verkehr vorhanden ist, hat der HTTP -Verkehr mit maximal 30 MB weniger Priorität. Es kann nur 50 MB erreichen, wenn es keinen anderen konkurrierenden Verkehr gibt. Die folgende Zeile erledigt dies, indem HTTP -Pakete als 1:11 klassifiziert werden.

iptables -t mangle -a poTrouting -o enp2s0 -p tcp - -ssport 80 -j klassifizieren -Set -Klasse 1:11

Und nun, für das folgende Beispiel nehmen wir aus irgendeinem Grund an, dass Sie nur bis zu 5 MB für den FTP -Verkehr zulassen möchten, unabhängig voneinander, wenn zusätzlichen Datenverkehr vorhanden sind, muss die Iptables -Regel lautet:

iptables -t mangle -a poTrouting -o enp2s0 -p tcp - -ssport 21 -J klassifizieren -Set -Klasse 1:13

Es gibt eine Netfilter -Erweiterung für Layer7, die Sie herunterladen und zu Ihrem Kernel hinzufügen können. L7 ermöglicht die Klassifizierung von Layer 7 -Verkehr, was bedeutet, dass Sie den Datenverkehr nach Anwendungen klassifizieren können.

Sie können L7 von https: // SourceForge herunterladen.net/projects/l7-filter/Dateien/.

Zum Beispiel ist der Befehl zur Begrenzung des Torrent -Verkehrs mit L7 der folgende.

iptables -t mangle -a poTrouting -m Layer7 -L7Proto BitTorrent -J Klassifizierung -Set -Klasse 1:13

Wie Sie sehen können, ist die Iptables -Klassifizierung eine großartige Funktion, die Ihre Lebensqualität verbessern kann, wenn Sie nur über begrenzte Ressourcen oder exklusive Bandbreitenbedarf verfügen.

Abschluss:

Iptables Classify ist eine hervorragende Methode, um Ihre Netzwerkleistung zu erhöhen. Es eignet sich hervorragend für Unternehmen und den Heimgebrauch. Inländische Benutzer können ihre Smart -TVs oder Spielekonsolen gegenüber Computern priorisieren oder umgekehrt. Es erscheint besonders nützlich für Netzwerke, die Gästen oder im Büro erlauben, unerwünschtes Verhalten zu verhindern. Auf technischer Ebene ist die Klassifizierung von Iptables -Syntax ziemlich einfach.

Ich hoffe. Folgen Sie uns weiter, um zusätzliche Linux -Tutorials und Tipps zu erhalten.