MTU eða MSS? Hvað VPN-breyting lagar í raun
MTU takmarkar hvað tenging flytur; MSS takmarkar TCP-hleðsluna inni í henni. Takmarkaðu þá réttu og vitið hvaða samskiptareglur hvorugt nær yfir.
Ping tekst, stórar flutningar hanga og göngin tilkynna sig heilbrigð. Einhver lækkar MTU viðmótsins, annar takmarkar MSS, og stundum hverfur vandinn af ástæðum sem enginn skráir. Tölurnar tvær lýsa mismunandi hlutum, þannig að að breyta þeirri röngu framleiðir lagfæringu sem lítur út eins og heppni. Hér er ferlið: greindu lagið, beittu samsvarandi aðlögun og prófaðu síðan á nýrri tengingu.
Tvær tölur, tveir hlutir
MTU tilheyrir tengingu eða viðmóti: það er stærsti pakkinn sem hægt er að afhenda án þess að skipta honum. MSS tilheyrir TCP: það er stærsta magn TCP-hleðslu sem hluti getur borið, og það útilokar bæði TCP- og IP-hausana. Á venjulegri Ethernet-tengingu með IPv4 gefur 1500 bæta MTU hið þekkta 1460 bæta MSS. Þessar tölur lýsa mismunandi lögum og eru skipt með mismunandi aðferðum. Auðvelt er að rugla þeim saman því báðar eru mældar í bætum og báðar liggja nálægt 1500.
Önnur kemur sem stilling viðmóts. Hin kemur sem valkostur inni í SYN-hluta, samið milli enda sem sjá aldrei viðmótið þitt.
Hvar ytra álagið lendir
VPN setur innri pakkann inn í annan, og ytri pakkinn verður að passa í líkamlegu leiðina. Umbúðahausar, ytri IP-hausinn, flutningshausinn og hvaða auðkenningamerki sem er eyða bætum sem innri pakkinn getur ekki notað. Láttu gönguviðmótið vera á 1500 og ytri pakkinn fer reglulega fram úr því sem leiðin getur flutt. Þegar 'ekki sundra' bitinn er stilltur hendir routerinn pakkanum og ætti að senda ICMP-villu til baka; ef sú villa er síuð fær sendandinn aldrei að vita það.
Þess vegna virðist bilunin sértæk. Litlar beiðnir klárast og allt sem fyllir hluta stöðvast, því aðeins stóru pakkarnir eru hent. Göng sem hleypa pingi í gegn eru ekki göng sem flytja gögn.
MSS-takmörkun, og hvar hún gildir
MSS-takmörkun endurskrifar gildið í SYN-hlutanum þegar hann fer yfir valinn punkt, sem gerir báðum endum kleift að velja minni hleðslu án þess að nokkur viti hvers vegna. Á Linux er það skotmark í mangle-töflunni sem er beitt með skýrri reglu, og það verður að hitta SYN-pakka í þá átt sem þú ætlar. Takmarkaðu það við gönguviðmótið og netfangið, því breið regla breytir hegðun umferðar sem fer aldrei inn í göngin.
Áhrifin eru aðeins á TCP. UDP-forrit, QUIC-lota og hvaða samskiptaregla sem byggir eigin gagnagramma eru ósnortin.
Greindu með föstum slóða
Haltu einni breytu í einu. Prófaðu með pakka sem þú velur stærð á, og stilltu 'ekki sundra' fánann svo kjarninn tilkynni niðurstöðuna í stað þess að fela hana.
Skráðu hvar bilunin byrjar: inni í göngunum, við gönguviðmótið eða á líkamlegu leiðinni eftir umbúðir. Breyttu síðan einni tölu og endurtaktu sama prófið frekar en annað. Núverandi tengingar halda því MSS sem samið var um, svo stefnubreyting sést aðeins á nýrri tengingu, og þess vegna sannar skyndiminnið síða ekkert í aðra hvora áttina. Ef ein stór upphleðsla fer að virka hefur þú lært um þá leið en ekki um hverja samskiptareglu á henni.
Hvað hver breyting lagar ekki
Að lækka MTU viðmótsins breytir ekki MSS lotu sem þegar er komin á. MSS-takmörkun hjálpar ekki UDP-straumi og lagar ekki leið þar sem ICMP-villum er síað í aðeins aðra átt. Sérhver breyting lagar einn flokk vandamála og lætur restina vera nákvæmlega eins og hún var.
Skráðu hvaða aðlögun þú beittir, hvar og hvaða próf sýndi muninn, því annars beitir næsti verkfræðingur báðum og missir getuna til að segja hvor skipti máli. Ef takmörkunin er raunveruleg og varanleg skaltu velja MTU ganga sem endurspeglar hana frekar en takmörkun sem felur hana. Ef þú verður að takmarka skaltu láta regluna vera þrönga og með athugasemd, því óútskýrð mangle-regla verður varanleg sjálfgefið.