MTU of MSS? Wat in VPN-feroaring echt oplost
MTU beheint wat in link ferfiert; MSS beheint de TCP-lading deryn. Behein de juste en wit hokker protokollen gjin fan beide dekt.
Pings slagje, grutte oerdrachten hingje, en de tunnel meldt himsels sûn. Imen ferleget de MTU fan de ynterface, in oar beheint de MSS, en soms ferdwynt it probleem om redenen dy't nimmen fêstleit. De twa getallen beskriuwe ferskillende objekten, dus it ferkearde feroarje jout in oplossing dy't op lok liket. Hjir is de proseduere: identifisearje de laach, pas de byhearrende oanpassing ta, en test dan op in nije ferbining.
Twa getallen, twa objekten
MTU heart by in link of in ynterface: it is it grutste pakket dat trochjûn wurde kin sûnder te wurden splitsen. MSS heart by TCP: it is de grutste hoemannichte TCP-lading dy't in segmint drage kin, en it slút sawol de TCP- as de IP-kop út. Op in gewoane Ethernet-link mei IPv4 jout in MTU fan 1500 bytes de bekende MSS fan 1460 bytes. Dy getallen beskriuwe ferskillende lagen en wurde troch ferskillende meganismen útwiksele. Se betiizje is maklik, want beide wurde yn bytes metten en beide lizze tichtby 1500.
De iene komt as in ynterface-ynstelling. De oare komt as in opsje binnen in SYN-segmint, ûnderhannele tusken einpunten dy't jo ynterface nea sjogge.
Wêr't de bûtenste oerhead belânet
In VPN stekt it binnenste pakket yn in oar, en it bûtenste pakket moat yn it fysike paad passe. Enkapsulaasjekoppen, de bûtenste IP-kop, de transportkop en elk autentikaasjelabel ferbrûke bytes dy't it binnenste pakket net brûke kin. Lit de tunnel-ynterface op 1500 en it bûtenste pakket giet geregeld oer wat it paad drage kin. Mei de bit 'net splitsje' oan set, smyt de router it fuort en soe in ICMP-flater werom stjoere moatte; as dy flater filtere wurdt, komt de ôfstjoerder it nea te witten.
Dêrom liket de mislearring selektryf. Lytse oanfragen wurde foltôge en alles wat in segmint fol makket, stûket, want allinnich de grutte pakketten wurde fuortsmitten. In tunnel dy't in ping trochlit, is gjin tunnel dy't data ferfiert.
MSS beheine, en wêr't it jildt
MSS-beheining skriuwt de wearde yn it SYN-segmint oer wylst it in keazen punt passearret, wêrtroch't beide einen in lytsere lading kieze sûnder dat ien fan harren wit wêrom. Op Linux is it in doel fan de mangle-tabel dat troch in eksplisite regel tapast wurdt, en it moat SYN-pakketten yn 'e rjochting dy't jo bedoele reitsje. Behein it ta de tunnel-ynterface en it adresberik, want in brede regel feroaret it gedrach fan ferkear dat nea yn 'e tunnel komt.
It effekt is allinnich foar TCP. In UDP-applikaasje, in QUIC-sesje en elk protokol dat syn eigen datagrammen bout, bliuwe ûnoantaaste.
Diagnostisearje mei in fêst paad
Hâld ien fariabele tagelyk. Test mei in pakket wêrfan't jo sels de grutte kieze, en set de flagge 'net splitsje' sadat de kernel it resultaat rapportearret ynstee fan it te ferbergjen.
Skriuw op wêr't de mislearring begjint: yn 'e tunnel, by de tunnel-ynterface of op it fysike paad nei enkapsulaasje. Feroarje dan ien getal en werhelje deselde test ynstee fan in oare. Besteande ferbiningen hâlde de MSS dy't se ûnderhannele hawwe, dus in beliedsferoaring is allinnich op in nije ferbining te sjen, en dêrom bewiist in cachede side neat yn 'e iene of oare rjochting. As ien grutte upload begjint te wurkjen, hawwe jo oer dat paad leard en net oer elk protokol derop.
Wat elke feroaring net oplost
It ferleegjen fan de MTU fan de ynterface feroaret de MSS fan in al oprjochte sesje net. MSS beheine helpt in UDP-stream net en reparearret in paad net dêr't ICMP-flaters allinnich yn ien rjochting filtere wurde. Elke feroaring lost ien klasse problemen op en lit de rest krekt sa't it wie.
Skriuw op hokker oanpassing jo tapast hawwe, wêr, en hokker test it ferskil sjen liet, want oars past de folgjende yngenieur beide ta en ferliest it fermogen om te sizzen hokker fan belang wie. As de beheining echt en permanint is, ferkies dan in tunnel-MTU dy't it wjerspegelet boppe in beheining dy't it ferberget. As jo beheine moatte, lit de regel dan beheind en fan kommentaar foarsjoen, want in net ferklearre mangle-regel wurdt standert permanint.