MTU për çdo rrugë në Linux: tre kontrolle madhësie, një rrugë
MTU e ndërfaqes, MTU e rrugës dhe kufiri MSS veprojnë në shtresa të ndryshme. Lidhni një buxhet me rrugën që fiton kërkimin dhe mbajeni ndryshimin të kthyeshëm.
Tre cilësime në një klient Linux tingëllojnë të gjitha si «bëji paketat më të vogla», dhe ato veprojnë në shtresa të ndryshme. MTU e ndërfaqes kufizon çdo paketë që pajisja dërgon. MTU e një rruge kufizon paketat që përdorin atë rrugë, që shpesh është pikërisht ajo që vërtet dëshironi për një destinacion VPN. Kufiri TCP MSS ndryshon atë për të cilën bien dakord dy skajet dhe nuk bën asgjë për UDP.
Tre kontrolle që duken si e njëjta dorezë
Vendosini krah për krah përpara se të zgjidhni, sepse zgjedhja e rreshtit të gabuar shpjegon shumicën e këshillave që nuk funksionojnë:
| Control | Scope | What it cannot fix |
|---|---|---|
| Interface MTU | Every packet the device sends | Nothing, but it over-constrains unrelated traffic |
| Route MTU | Packets using that route | A send that the lookup never routes there |
| MSS clamp | TCP handshake on that path | UDP payload sizes and ICMP |
Ulja e MTU-së së Ethernet për të gjithë makinën është versioni i ashpër i këtij rregullimi. Funksionon, dhe ndëshkon gjithashtu çdo aplikacion tjetër në host, përfshirë ato rrugët e të cilëve ishin në rregull. Një vlerë për rrugë shpreh të njëjtin qëllim pa koston anësore.
Krahasimi vlen vetëm për trafikun që gjeneron vetë host-i. Përcjellja e një pakete për një klient tjetër përfshin rrugën e tij dhe buxhetin e jashtëm të tunelit, dhe një metrikë rruge në këtë host nuk shkon përtej asaj kufiri.
Lidhni buxhetin me rrugën që fiton kërkimin
Një regjistrim ilustrues i rrugës IPv4 duket kështu:
ip -4 route get 10.60.0.20
ip -4 route add 10.60.0.0/16 dev tun-office src 10.90.0.2 mtu 1380
Lexoni regjistrimin si përshkrim të qëllimit, jo si vlerë për ta ngjitur. Prefiksi, pajisja dhe burimi i preferuar duhet të përputhen me konfigurimin e vërtetë, dhe numri duhet të vijë nga dëshmi për rrugën e inkapsuluar, jo nga një postim blogu. MTU e rrugës kufizon paketën e brendshme IP, që nuk është e njëjtë me një ngarkesë TCP prej 1380 bajtësh ose një paketë të jashtme të kriptuar prej 1380 bajtësh.
Shikoni ku zgjidhet vërtet kërkimi përpara se të shtoni gjë. Një host me rregulla politike mund ta drejtojë një destinacion të caktuar përmes një tabele tjetër përveç main, dhe një metrikë që ekziston vetëm në main është e padukshme për atë kërkesë. Krahasoni ip -4 route show table all me përgjigjen nga ip route get, duke përfshirë kontekstin e shenjës ose të hapësirës së emrave kur rregullat i përdorin. Nëse të dy nuk përputhen, tabela që u përgjigj është ajo që ka nevojë për metrikën, jo ajo që duket më e rregullt.
mtu nuk është mtu lock
Si parazgjedhje kernel-i mund të përditësojë ende MTU-në e rrugës nga reagimi ICMP, për këtë shërben zbulimi i MTU-së së rrugës. Shtimi i lock e ndalon këtë. Është një vendim tjetër, jo një mënyrë më e fortë për të ruajtur të njëjtin numër, dhe për IPv4 ndryshon trajtimin e dokumentuar të bitit «mos fragmento».
Bllokimi është i arsyeshëm kur e keni matur rrugën dhe dëshironi që vlera të mbetet e fiksuar pavarësisht se çfarë vjen. Është një parazgjedhje e dobët kur rrjeti dërgon reagime legjitime për madhësinë, sepse kernel-i nuk mund të rregullohet më dhe dështimi kalon në një simptomë tjetër.
Nëse ICMP filtrohet diku në rrugë, asnjë cilësim rruge nuk e rregullon. Rregullimi i takon filtrit, dhe një MTU më e vogël është një shmangie që fsheh defektin e vërtetë deri në ndryshimin e radhës të rrugës.
Programi i tunelit shton dorezat e tij të madhësisë
OpenVPN- mssfix rregullon madhësinë e segmentit TCP për rastin e tij të dokumentuar të tunelit UDP. Vepron në bisedën TCP, prandaj nuk është një shkrim tjetër i MTU-së së rrugës së sistemit operativ dhe nuk mund të ndihmojë një shërbim UDP që injoron negociatën.
Mos i grumbulloni MTU-në e rrugës, ndryshimin e MTU-së së ndërfaqes dhe kufirin MSS në të njëjtën dritare ndryshimesh. Nëse problemi zhduket, nuk do të dini cila kishte rëndësi, dhe ato që mbani do të kufizojnë trafikun për vite pa një arsye që dikush e mban mend.
Bëjeni të kthyeshëm, pastaj provojeni
Pronari i vërtetë i rrugës vendos nëse ndryshimi i mbijeton një rilidhjeje. Një klient VPN që e instalon rrugën në mënyrë dinamike zakonisht do ta rindërtojë pa metrikën tuaj, dhe një komandë ip route add manuale atëherë duket si një rregullim që dështoi një ditë më vonë. Vendosni vlerën në konfigurimin e menaxherit, dhe nëse ju nevojitet një eksperiment i përkohshëm, shënoni fillimisht rrugën origjinale.
Provojeni me një lidhje të re që kryen veprimin që ngeci, pastaj konfirmoni që rruga private e synuar fiton ende dhe destinacionet e palidhura nuk kanë ndryshuar. Rilidhni tunelin dhe lexoni rrugën përsëri, sepse një vlerë që zhduket në rilidhje nuk është rregullim.
Nëse dëshmitë nuk e mbështesin ndryshimin, hiqni anashkalimin përmes menaxherit të tij dhe rikthejini atributet origjinale të rrugës në vend që të fshini rrugën. Pastaj shënoni çfarë matët dhe në cilën rrugë, që personi tjetër të dallojë një përmirësim të vërtetë nga një eksperiment i lënë duke punuar.