MSS-Clamping op enger VPN-Gateway: wat et reparéiert a wat net
Clamping schreift d'MSS an den TCP-Handshakes ëm, fir datt d'Segmenter an den Tunnel passen. Et reparéiert ni UDP oder eng futti path-MTU-Prüfung. Dräi Prüfungen, an der Rei.
Kleng Ufroe funktionéieren, grouss Downloads hänken, an een proposéiert MSS-Clamping. Dee Propositioun ass dacks genuch richteg, fir et an der riichter Reiefolleg ze probéieren, an dacks genuch falsch, fir en Nomëtteg ze verschwenden, wann een en blind applizéiert. Déi dräi Prüfungen hei drënner trennen e richtegt TCP-Gréisstproblem vun engem UDP-Problem, vun enger futtier path-MTU-Entdeckung a vun engem Clamp, deen den Handshake ni gesäit, deen en ëmschreiwe soll.
Fänkt mat der Form vum Feeler un
E Gréisstfeeler huet eng Ënnerschrëft: d'Verbindung gëtt opgebaut, d'Authentifikatioun an déi kleng Äntwerten geléngen, an duerno hänkt en Transfer onbestëmmt, soubal et e Segment a voller Gréisst brauch. Säiten, déi Text lueden, awer ni en Bild fäerdeg kréien, sinn dee selwechte Feeler a méi klengem Moossstab. Wann iwwerhaapt näischt verbënnt, läit de Problem méi fréi um Wee an d'Clamping hëlleft net. En Clamp kann en Handshake net reparéieren, deen ni ukomm ass.
D'Ënnerschrëft gëtt et well den Handshake dee Punkt ass, wou d'Segmentgréisst ausgemaach gëtt. All Säit annoncéiert eng maximal Segmentgréisst als TCP-Optioun, an d'Sender respektéieren d'Annonce vum Géigeniwwer. Wann de Wee sou e grousst Segment net droe kann, daucht de Feeler méi spéit op, wann den Sender endlech engem probéiert.
Halt den Transport am Bléck, wärend Dir dee Symptom liest. Clamping ass eng Ëmschreiwung vun enger TCP-Optioun, dofir ass en Uschloss oder Video-Call, deen ënner demselwen Tunnel stoe bleift, kee MSS-Problem an et gëtt doduerch net besser. Schreift den Transport op, ier Dir eng TCP-Optioun ufaasst.
Prisst de Wee, da vergläicht en mat dem Tunnel
Zwee Zuele spille Roll an se ginn dacks verwiesselt. D'path-MTU ass de gréisste Pak, deen de Wee ouni Fragmentéierung dréit, an d'annoncéiert MSS fir IPv4 ass dee Wäert minus déi 40 Byte IP- an TCP-Header, oder minus 60 fir IPv6. D'Tunnelvercapselung verbraucht en Deel vum Budget, ier de bannenzege Pak iwwerhaapt ufänkt.
ping -M do -s 1400 198.51.100.20
tracepath 198.51.100.20
De Ping mam do-not-fragment-Bit seet Iech, ob e Pak vun där Notzlaaschtgréisst iwwerlieft; justéiert d'Gréisst bis et feelt, an Dir hutt de Limite vum Wee empirisch fonnt. D'Ausgab vum tracepath mellt d'MTU, déi laanscht d'Route entdeckt gouf, wat méi séier ass wann et funktionéiert a manner zouverlässeg wann en Zwëschenhop d'Proben filtert.
Elo zitt den Overhead vum Tunnel of. En äusseren IP-Header, en UDP-Header an en tunnelspezifeschen Header kommen all aus deene selwechten 1500 Byte, dofir ass déi notzbar bannenzeg MTU op engem typeschen Ethernet-Ënnergrond méi niddereg wéi d'physesch Verbindung et unhëlt. Wann déi berechent bannenzeg MTU ënner deem läit, wat Är Géigeniwwer annoncéieren, da hutt Dir en echte Clamp-Kandidat fonnt an net eng Vermutung. Wann de berechente Wäert schonn iwwer der Annonce vun de Géigeniwwer läit, stoppt hei a kuckt soss anzwousch.
Setzt den Clamp do, wou den Handshake eriwwergeet
En Clamp funktionéiert andeems en d'MSS-Optioun an den SYN- an SYN-ACK-Päcke ëmschreift, wärend se d'Gateway passéieren. Wann d'Regel op enger Schnëttstell sëtzt, déi keng vun den zwou Richtungen jeemools duerchleet, ass d'Verhandlung onverännert fäerdeg an de Symptom bleift, dofir entscheet d'Plazéierung d'Resultat méi wéi de Wäert.
| Symptom | What it points to | Next check |
|---|---|---|
| Handshake completes, large transfer stalls | Segment size larger than the path can carry | Path MTU against the tunnel's effective MTU |
| Nothing connects, small or large | Routing, firewall or keying failure | Not MSS; look at the tunnel state |
| Only UDP applications stall | Datagram size or a dropped ICMP error | Platform-specific UDP handling, not clamping |
| Fixed after reconnect, returns later | Clamp applied to one direction or one interface | Rule placement and the handshake path |
D'Richtung ass déi aner Hallschent. Een eenzege Richtung clampen reparéiert d'Halschecht vun de Flëss a léisst de Rescht op eng Manéier feelen, déi ënnerbrach ausgesäit, dofir applizéiert en op béid Richtunge vum weidergeleetem Traffic. Déi klassesch Linux-Form fir eng Tunnel-Schnëttstell ass eng mangle-Regel, déi op SYN-Päck passt:
iptables -t mangle -A FORWARD -o tun0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Mierkt wat --clamp-mss-to-pmtu tatsächlech mécht: et leet de Wäert vun der MTU vun der Route of, wat net ëmmer dem Tunnel säin echte Notzlaaschtbudget ass. Op engem routebaséierten Tunnel, wou déi bannenzeg Route an de baussenzege Wee ënnerscheeden, ass en explizite Wäert, deen an der viregter Prüfung berechent gouf, méi viraussobar wéi en automateschen.
Verifizéiert mat enger neier Verbindung a haalt de Feedback lieweg
Eng opgebaut Verbindung behält d'MSS, déi se verhandelt huet, dofir beweise Tester an der selwechter Sitzung näischt. Maacht no der Ännerung eng frësch Verbindung op a liest de verhandelte Wäert direkt, amplaz en aus engem Transfer ofzeleeden, deen zoufälleg fäerdeg gëtt.
ss -tin dst 198.51.100.20
iptables -t mangle -S | grep TCPMSS
Déi éischt Kommando mellt d'MSS vum Socket zesumme mat sengem Stau-Zoustand, wat déi séierst Bestätegung ass, datt de Clamp gewierkt huet. Déi zweet bestätegt, datt d'Regel, déi Dir gegleeft hutt derbäigesat ze hunn, déi Regel ass déi existéiert, an der Tabell wou si agesat gouf.
Duerno schützt de Mechanismus, deen Dir net reparéiert hutt. D'path-MTU-Entdeckung hänkt dovun of, datt ICMP-fragmentation-needed-Messageen den Sender erreechen, dofir wäert eng Firewall, déi se verwërft, grouss Transfere weider futti maachen och mat engem korrekte Clamp. Erlaabt dës Message fir de Wee vum Tunnel, oder akzeptéiert, datt d'Clamping eng Politik kompenséiert, déi Dir gewielt hutt.
Schlussendlech widersetzt Iech der Versuchung, den Clamp als Justéierknäppchen ze behandelen. Et begrenzt d'Segmentgréisst, wat Duerchsetz op Weeër kascht, déi en ni gebraucht hunn. No den dräi Prüfungen ugewannt ass et eng gezilte Reparatur; als éischt ugewannt ass et eng Ännerung, déi den urspréngleche Feeler verstoppt an eng zweet Variabel zu all spéiderem Test bäisetzt. Dee Tausch ass et wäert bewosst ze maachen, net als Standard.
Schreift d'path-MTU op, déi Dir gemooss hutt, den Tunnel-Overhead, deen Dir ofgezunn hutt, d'Regel, déi Dir derbäigesat hutt, an d'MSS, déi Dir duerno gesinn hutt. Véier Zuele maachen den nächsten Tëschefall zu enger Nokuckstatt enger Enquête.