Frage Was ist die Mangeltabelle in iptables?


Ich benutze iptable Regeln, um Pakete auf meinem Ubuntu Server zu filtern und zu manipulieren. aber ich kann den Mangeltisch nicht verstehen.

Zitat von Dieses Iptables Tutorial:

Diese Tabelle sollte, wie wir bereits festgestellt haben, hauptsächlich zum Mangeln von Paketen verwendet werden. Mit anderen Worten, Sie können die Mangle-Matches usw., die zum Ändern von TOS-Feldern (Type of Service) usw. verwendet werden, frei verwenden.

Es wird dringend empfohlen, diese Tabelle nicht zum Filtern zu verwenden. noch wird DNAT, SNAT oder Masquerading in dieser Tabelle funktionieren.

Kann mir jemand die Mangeltabelle beschreiben und einige Beispiele geben, um zu verstehen, wann ich es benutzen soll?


21
2018-01-14 04:49


Ursprung


Das iptables(8) Die man-Seite enthält alle gewünschten Informationen, einschließlich einiger schöner Beispiele für die Verwendung von Mangle-Tabellen. - Michael Hampton♦


Antworten:


Zusätzlich zu den anderen guten Antworten, ich hatte vor kurzem die mangle-Tabelle zu verwenden, für die MTU (Maximum Transmission Unit) Abweichungen durch den Verkehr anpassen wird gebracht durch PPPoE, PPP und ATM, von denen jedes Overhead hinzufügt, die die Nutzlast für IP reduziert von den üblichen 1500 Bytes eines Ethernet-Rahmens.

Systeme an jedem Ende der Pipe hätten wie üblich ihre MTU mit dem regulären Standardwert von 1500 und würden daher versuchen, so große IP-Frames zu senden. Da die tatsächliche verfügbare Nutzlastgröße kleiner war, hätte dies eine Paketfragmentierung verursacht, mit der Ausnahme, dass der Sender häufig anfordert, dass Pakete nicht fragmentiert werden, und als solche am Ende vollständig fallengelassen werden.

In einer idealen Welt hätte die Pfad-MTU-Erkennung den Endpunkten erlaubt, ihre MTU nach Bedarf anzupassen, aber diese Entdeckung hängt von ICMP ab, und Netzwerke außerhalb meiner Kontrolle wurden oft so konfiguriert, dass sie ICMP aus Sicherheitsgründen fallen lassen.

Die einzige Möglichkeit bestand darin, Paketmangel in meinem Router zu verwenden, um TCP-SYN-Pakete zu modifizieren, um die maximale Segmentgröße auf der Transportschicht zu verringern:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452

Diese Art von Sache ist chaotisch und sollte idealerweise vermieden werden, aber ich hatte keine anderen Möglichkeiten und das hat das Problem gelöst.

Hoffe, diese Beispiele helfen, sowie die Manpage.


18
2018-01-15 17:40





Ich habe kürzlich eine gute Erklärung gefunden Hier. Es wird im Wesentlichen verwendet, um bestimmte Header für IP-Pakete festzulegen, um die Weiterleitungsentscheidung zu beeinflussen. Wenn überhaupt, ist die TTL-Option wahrscheinlich die interessanteste:

Das TTL - Ziel wird verwendet, um das TTL - Feld (Time To Live) des   Paket. Wir könnten Pakete anweisen, nur eine bestimmte TTL zu haben und so weiter.   Ein guter Grund dafür könnte sein, dass wir uns nicht geben wollen   weg zu neugierigen Internet Service Providern. Irgendein Internet-Service   Anbieter mögen keine Benutzer, die mehrere Computer gleichzeitig ausführen   Verbindung, und es gibt einige Internet Service Provider bekannt   Suchen Sie nach einem einzelnen Host, der verschiedene TTL-Werte erzeugt, und nehmen Sie dies   als eines von vielen Zeichen von mehreren Computern mit einem einzigen verbunden   Verbindung.

Die anderen Ziele sind TOS, MARK, SECMARK, CONNSECMARK.


19
2018-01-14 05:08



Mangle wird auch in QOS verwendet, um die Markierung von Paketen oder die Verteilung von Datenlasten zu handhaben, um Pakete an verschiedene Routen zu verteilen. - TomTom


Als iptables noob würde ich sagen: Die Mangle-Tabelle erlaubt einige spezielle Einträge im Header von Paketen zu ändern. (wie: Art des Dienstes, Zeit zu leben) (es erlaubt auch, spezielle Markierungen und Sicherheitskontextmarkierungen zu setzen)


7
2018-05-05 08:25





Es gibt ein gutes Tieftauchen, aber nicht zu schwer zu verstehen Tutorial auf iptables Hier.

Die mangle-Tabelle wird verwendet, um die IP-Header des Pakets auf verschiedene Arten zu ändern. Sie können beispielsweise den TTL-Wert (Time to Live) eines Pakets anpassen, indem Sie die Anzahl der gültigen Netzwerk-Hops, die das Paket erhalten kann, verlängern oder verkürzen. Andere IP-Header können auf ähnliche Weise geändert werden.

Diese Tabelle kann auch einen internen Kernel "mark" auf das Paket für   Weiterverarbeitung in anderen Tabellen und anderen Netzwerkwerkzeugen. Diese   Marke berührt nicht das tatsächliche Paket, sondern fügt das Zeichen zu dem hinzu   Kernel-Darstellung des Pakets.

Hat mir sehr geholfen, weil es auch klar erklärt, wie alle Teile zusammenpassen und miteinander interagieren.


1
2018-06-27 10:03