Tri nastavitve na odjemalcu Linux zvenijo kot »naredi pakete manjše« in delujejo na različnih plasteh. MTU vmesnika omejuje vsak paket, ki ga naprava pošlje. MTU poti omejuje pakete, ki uporabljajo to pot, in to je pogosto prav tisto, kar za en cilj VPN res želite. Omejitev TCP MSS spremeni, o čem se dogovorita oba konca, in za UDP ne naredi ničesar.

Trije krmilniki, ki izgledajo kot isti gumb

Pred izbiro jih postavite drugega ob drugega, ker napačna vrstica pojasni večino nasvetov, ki ne delujejo:

ControlScopeWhat it cannot fix
Interface MTUEvery packet the device sendsNothing, but it over-constrains unrelated traffic
Route MTUPackets using that routeA send that the lookup never routes there
MSS clampTCP handshake on that pathUDP payload sizes and ICMP

Znižanje MTU za Ethernet za cel stroj je groba različica tega popravka. Deluje, a kaznuje tudi vsako drugo aplikacijo na gostitelju, tudi tiste, katerih poti so bile v redu. Vrednost na pot izraža isti namen brez stranskih stroškov.

Primerjava velja le za promet, ki ga gostitelj ustvari sam. Posredovanje paketa za drugega odjemalca vključuje njegovo lastno pot in zunanji proračun tunela, metrika poti na tem gostitelju pa ne seže čez to mejo.

Pripnite proračun na pot, ki zmaga pri iskanju

Ponazoritveni zapis poti IPv4 izgleda takole:

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

Zapis berite kot opis namena, ne kot vrednost za lepljenje. Predpona, naprava in prednostni vir se morajo ujemati z resnično konfiguracijo in število mora priti iz dokazov o zaprti poti, ne iz bloga. MTU poti omejuje notranji paket IP, kar ni isto kot tovor TCP 1380 bajtov ali šifriran zunanji paket 1380 bajtov.

Preden kar koli dodate, poglejte, kje se iskanje res razreši. Gostitelj s pravili politike lahko dani cilj usmeri skozi drugo tabelo kot main, in metrika, ki obstaja le v main , je za to zahtevo nevidna. Primerjajte ip -4 route show table all z odgovorom iz ip route get, vključno s kontekstom oznake ali imenskega prostora, ko ga pravila uporabljajo. Če se oba ne ujemata, tabela, ki je odgovorila, potrebuje metriko, ne tista, ki izgleda bolj urejena.

mtu ni mtu lock

Privzeto lahko jedro še vedno posodobi MTU poti iz povratnih informacij ICMP, za to je odkrivanje MTU poti. Dodajanje lock to ustavi. To je druga odločitev, ne močnejši način za ohranitev iste številke, in za IPv4 spremeni dokumentirano obravnavo bita »ne združuj«.

Zaklepanje je smiselno, ko ste pot izmerili in želite, da vrednost ostane nespremenjena ne glede na to, kaj pride. To je slaba privzeta vrednost, ko omrežje pošilja legitimne povratne informacije o velikosti, ker se jedro ne more več prilagajati in napaka se preseli v drug simptom.

Če je ICMP nekje na poti filtriran, nobena nastavitev poti tega ne popravi. Popravek sodi k filtru, manjši MTU pa je obhod, ki skriva pravo napako do naslednje spremembe poti.

Programska oprema tunela doda svoje krmilnike velikosti

OpenVPN- mssfix prilagodi velikost segmenta TCP za svoj dokumentirani primer tunela UDP. Deluje na pogovoru TCP, zato ni drugačen zapis MTU poti operacijskega sistema in ne more pomagati storitvi UDP, ki ignorira pogajanja.

Ne nalagajte MTU poti, spremembe MTU vmesnika in omejitve MSS v isto okno sprememb. Če težava izgine, ne boste vedeli, katera je bila pomembna, in tiste, ki jih obdržite, bodo leta omejevale promet brez razloga, ki se ga kdo spomni.

Naredite to povratno, nato dokažite

Pravi lastnik poti odloči, ali sprememba preživi ponovno povezavo. Odjemalec VPN, ki pot namesti dinamično, jo običajno znova zgradi brez vaše metrike, in ročni ip route add potem izgleda kot popravek, ki je spodletel dan kasneje. Vrednost vstavite v konfiguracijo upravitelja in če potrebujete začasen poskus, najprej zabeležite prvotno pot.

Preizkusite z novo povezavo, ki izvede operacijo, ki se je zataknila, nato potrdite, da predvidena zasebna pot še vedno zmaga in da se nepovezani cilji niso spremenili. Ponovno povežite tunel in znova preberite pot, ker vrednost, ki ob ponovni povezavi izgine, ni popravek.

Če dokazi spremembe ne podpirajo, odstranite prepis prek njegovega upravitelja in obnovite prvotne atribute poti, namesto da bi pot izbrisali. Nato zabeležite, kaj ste izmerili in na kateri poti, da bo naslednja oseba ločila resnično izboljšavo od poskusa, ki je ostal v teku.

Sorodni članki