Pings gelingen, große Übertragungen hängen, und der Tunnel meldet sich als gesund. Jemand senkt die MTU des Interfaces, ein anderer begrenzt die MSS, und gelegentlich verschwindet das Problem aus Gründen, die niemand notiert. Die beiden Zahlen beschreiben unterschiedliche Objekte, daher erzeugt die Änderung der falschen Zahl eine Lösung, die wie Glück aussieht. Hier ist das Vorgehen: die Ebene bestimmen, die passende Anpassung anwenden und dann auf einer neuen Verbindung testen.

Zwei Zahlen, zwei Objekte

Die MTU gehört zu einer Strecke oder einem Interface: Sie ist das größte Paket, das ohne Aufteilung übergeben werden kann. Die MSS gehört zu TCP: Sie ist die größte Menge an TCP-Nutzlast, die ein Segment tragen darf, und sie schließt sowohl den TCP- als auch den IP-Header aus. Auf einer gewöhnlichen Ethernet-Strecke mit IPv4 ergibt eine MTU von 1500 Bytes die bekannte MSS von 1460 Bytes. Diese Zahlen beschreiben unterschiedliche Schichten und werden durch unterschiedliche Mechanismen ausgetauscht. Sie zu verwechseln ist leicht, weil beide in Bytes gemessen werden und beide nahe bei 1500 liegen.

Die eine kommt als Interface-Einstellung. Die andere kommt als Option in einem SYN-Segment, ausgehandelt zwischen Endpunkten, die Ihr Interface nie sehen.

Wo der äußere Overhead landet

Ein VPN packt das innere Paket in ein anderes, und das äußere Paket muss in den physischen Pfad passen. Kapselungsheader, der äußere IP-Header, der Transportheader und jedes Authentifizierungs-Tag verbrauchen Bytes, die das innere Paket nicht nutzen kann. Lassen Sie das Tunnel-Interface auf 1500, und das äußere Paket überschreitet regelmäßig das, was der Pfad trägt. Ist das 'Don't-Fragment'-Bit gesetzt, verwirft der Router es und sollte einen ICMP-Fehler zurücksenden; wird dieser Fehler gefiltert, erfährt der Absender nie davon.

Deshalb wirkt der Fehler selektiv. Kleine Anfragen werden abgeschlossen, und alles, was ein Segment füllt, stockt, weil nur die großen Pakete verworfen werden. Ein Tunnel, der einen Ping durchlässt, ist kein Tunnel, der Daten trägt.

MSS begrenzen, und wo das gilt

Das MSS-Clamping schreibt den Wert im SYN-Segment um, während es einen gewählten Punkt passiert, wodurch beide Endpunkte eine kleinere Nutzlast wählen, ohne dass einer von ihnen weiß, warum. Unter Linux ist es ein Ziel in der mangle-Tabelle, das durch eine explizite Regel angewendet wird, und es muss SYN-Pakete in der gewünschten Richtung treffen. Beschränken Sie es auf das Tunnel-Interface und den Adressbereich, denn eine breite Regel ändert das Verhalten für Verkehr, der nie in den Tunnel gelangt.

Die Wirkung betrifft nur TCP. Eine UDP-Anwendung, eine QUIC-Sitzung und jedes Protokoll, das seine eigenen Datagramme baut, bleiben davon unberührt.

Mit einem festen Pfad diagnostizieren

Halten Sie jeweils eine Variable fest. Testen Sie mit einem Paket, dessen Größe Sie selbst wählen, und setzen Sie das Flag 'Don't-Fragment', damit der Kernel das Ergebnis meldet, statt es zu verbergen.

Notieren Sie, wo der Fehler beginnt: im Tunnel, am Tunnel-Interface oder auf dem physischen Pfad nach der Kapselung. Ändern Sie dann eine Zahl und wiederholen Sie denselben Test statt eines anderen. Bestehende Verbindungen behalten die ausgehandelte MSS, daher ist eine Richtlinienänderung nur auf einer neuen Verbindung sichtbar, weshalb eine zwischengespeicherte Seite in keine Richtung etwas beweist. Wenn ein großer Upload zu funktionieren beginnt, haben Sie etwas über diesen Pfad gelernt und nicht über jedes Protokoll darauf.

Was die einzelnen Änderungen nicht beheben

Eine niedrigere Interface-MTU ändert die MSS einer bereits aufgebauten Sitzung nicht. MSS-Clamping hilft einem UDP-Strom nicht und repariert keinen Pfad, auf dem ICMP-Fehler nur in eine Richtung gefiltert werden. Jede Änderung behebt eine Problemklasse und lässt den Rest genau so, wie er war.

Notieren Sie, welche Anpassung Sie wo angewendet haben und welcher Test den Unterschied gezeigt hat, denn sonst wendet der nächste Ingenieur beide an und verliert die Fähigkeit zu sagen, welche wichtig war. Ist die Einschränkung real und dauerhaft, bevorzugen Sie eine Tunnel-MTU, die sie widerspiegelt, gegenüber einem Clamp, der sie verdeckt. Wenn Sie clampen müssen, lassen Sie die Regel eng gefasst und kommentiert, denn eine unerklärte mangle-Regel wird standardmäßig dauerhaft.

Ähnliche Artikel