Zwei Fehler erzeugen beim Nutzer denselben Satz: die Seite funktioniert nicht. Sie treten auf verschiedenen Ebenen auf, und der Unterschied entscheidet, was Sie ändern. Ein Fehler bei der Namensauflösung endet, bevor überhaupt eine Verbindung besteht. Ein Fehler bei der Paketgröße tritt auf, nachdem der Name aufgelöst und nachdem der Handshake abgeschlossen ist, weshalb die Seite zu laden beginnt und dann hängt. Finden Sie die Phase, bevor Sie die Einstellung finden.

Zwei Fehler auf verschiedenen Ebenen

Auflösung macht aus einem Namen eine Adresse, und nichts anderes in der Verbindung kann beginnen, bis das gelingt. Probleme mit der Pfad-MTU entstehen später, wenn ein Paket, das größer ist als die Grenze irgendeiner Strecke, verworfen wird und der Absender es nie erfährt. Das eine ist eine Abfrage; das andere ein Zustellfehler, der erst oberhalb einer bestimmten Größe auftritt.

Die Symptome unterscheiden sich auf eine Weise, die Sie ohne jedes Werkzeug beobachten können. Ein DNS-Fehler ist sofort und gleichbleibend: der Browser meldet, der Server sei nicht zu finden. Ein MTU-Fehler ist teilweise: die Seite beginnt, einige Ressourcen kommen an, und eine große Antwort oder ein Upload bleibt hängen.

Wenn Ihr Symptom teilweise ist, hören Sie auf, DNS zu betrachten.

Phase 1: Wird der Name überhaupt aufgelöst

Verwenden Sie die Nachschlagewerkzeuge der Plattform mit genau dem Hostnamen, den die Anwendung nutzt. Ein privater Name im Büro kann einen internen Resolver erfordern, und das eigene sichere DNS eines Browsers kann sich anders verhalten als der Resolver des Betriebssystems, sodass beide beim selben Namen uneinig sein können.

Fragen Sie den Resolver, den das Betriebssystem nutzen würde, und vergleichen Sie dann:

dig +short vpn.example.com
dig +short vpn.example.com @10.0.0.53

Scheitert die Auflösung, liegt das Problem in dieser Richtlinie und ihrer Erreichbarkeit. Senden Sie private Namen nicht an beliebige öffentliche Resolver, nur um einen Vergleich zu bekommen, denn der Vergleich selbst verrät die Namen, die Sie intern halten wollten.

Phase 2: Wo der Transfer stoppt

Löst der Name sich auf und beginnt die Verbindung, halten Sie fest, wo der Vorgang stoppt. Eine Seite, die rendert und dann bei einer Ressource hängt, ein Upload, der an einem gleichbleibenden Punkt stirbt, oder ein großer Download, der nie fertig wird, während kleine Anfragen funktionieren, sind alles Symptome der Größenform. Eine Antwort, die gar nicht beginnt, hat eine andere Form.

Halten Sie den Endpunkt und das Ziel der Anwendung beim Vergleichen fest, sonst messen Sie zwei Variablen gleichzeitig. Andere Ursachen bleiben in dieser Phase möglich: Dienstfehler, Verlust, Filterverhalten und Tunnel-Neuverbindungen erzeugen alle Stillstände.

Ein wiederholbarer Stillstand ist mehr wert als zehn anekdotische.

Warum MTU erst nach dem Handshake schadet

Ein TCP-Handshake nutzt kleine Pakete, deshalb gelingt er auf einem Pfad, der kein Segment voller Größe tragen kann. Der Fehler zeigt sich, wenn der Absender ein großes Paket mit gesetztem Do-not-fragment-Bit sendet, eine Strecke es verwirft und die ICMP-Nachricht, die die Grenze gemeldet hätte, nie ankommt, weil ein Filter sie gefressen hat. Der Absender versucht dann dieselbe Größe erneut, und der Transfer bleibt stehen.

Darum ist das Symptom größenabhängig und wiederholbar statt zufällig. Es erklärt auch, warum ein Ping auf den Host nichts beweist, weil ein kleines ICMP-Echo einen Pfad überqueren kann, der keine Nutzlast voller Größe trägt. Prüfen Sie die Größe von beiden Enden des Pfades, wenn Sie können. Eine Grenze, die nur in einer Richtung auftritt, ist eine Routing-Asymmetrie und keine Tunnel-MTU.

Prüfen Sie die Größe ausdrücklich, statt sie zu erschließen:

ping -M do -s 1472 203.0.113.20
tracepath 203.0.113.20

Ändern Sie eine Ebene, dann beweisen Sie es

Für Namen ändern Sie die Resolver-Richtlinie und führen dieselbe Abfrage erneut aus. Für die Größe nutzen Sie das MTU-Verfahren mit aufgezeichneten Ausgangswerten und bereitliegender Rücknahme, denn MSS zu begrenzen, ohne die echte MTU des Tunnels zu kennen, tauscht einen Stillstand gegen einen anderen.

Eine Seite, die nach mehreren geänderten Einstellungen einmal lädt, benennt die Reparatur nicht. Ändern Sie eine Sache, führen Sie denselben Test erneut aus und halten Sie das Ergebnis neben der ersten notierten Fehlphase fest.

Genau diese Aufzeichnung verhindert, dass DNS, Paketgröße und Authentifizierung zu einem Haufen dauerhafter Behelfslösungen werden, die niemand erklären kann. Das Testen über eine rohe IP ist ein gutes Beispiel für eine Abkürzung, die die TLS-Identität ändert, und die Zertifikatsprüfung abzuschalten, damit ein Vergleich gelingt, ist keine Diagnose.

Ähnliche Artikel