Harjumus on MTU-d langetada niipea, kui WireGuard hakkab valesti käituma, ja see harjumus varjab teist riket. Lüüs, mis ei edasta, ja tee, mis ei kanna suuri pakette, annavad eristatavad mustrid: üks ebaõnnestub mõlemas suunas ja igal suurusel, teine elab väikeste päringutega üle ja sureb suurte peal. Tehke kindlaks, milline kuju teil on, enne kui muudate ükskõik millist arvu. Test on odav ja eemaldab poole võimalikest põhjustest.

Kaks riket, kaks erinevat kuju

Edastusprobleem ilmneb kohe pärast serverit. Kätlus õnnestub, tunneli aadress vastab ja lüüsi taga ei ole midagi kättesaadav isegi pisikese päringuga. Pakett jõudis serverini ja seda edasi ei antud, või vastusel ei olnud tagasiteed.

Suuruseprobleem ilmneb ainult üle lävendi. DNS, TCP kätlus ja väike API-kutse töötavad, samal ajal kui faili allalaadimine või suur vastus jääb rippuma. Paketid, mis mahtusid, läbisid tee otsast otsani, ja need, mis ei mahtunud, visati kuskil ilma kasuliku aruandeta kõrvale.

Need kirjeldused osutavad erinevatele inimestele ja erinevatele konfiguratsioonifailidele, seepärast on kuju mõõtmine väärtuslikum kui oletamine. Üks ping lüüsile ei suuda neid eristada.

Välistage edastus, enne kui midagi vähendate

Testige sihtkohta, mis on lüüsist kaugemal, mitte lüüsi ennast. Ping serveri tunneli aadressile tõestab ainult seda, et liides on üleval ja et jõuate masinani, mis tunnelit lõpetab. Laiema võrgu liiklus sõltub sellest, kas sellel masinal on IP-edastus lubatud, ja tulemüürist, mis lubab edastatud voogu. Mõlemad peavad paika, ja kui üks on vale, tekib sama vaikus.

Tagasitee marsruutimine on sama oluline. Kui sihtvõrk ei tea, kuidas kliendi tunneli aadressini jõuda, saabub päring ja vastus kaob, ning klient teatab ajapikendusest, mis näeb välja täpselt nagu kaotatud edastus.

Kus lahendus kasutab aadressitõlget, on tõlkereegel selle tagasitee osa. Selle eemaldamine MTU-probleemi tagaajamisel muudab ühe töötava lahenduse katkiseks, seega lugege olemasolevaid reegleid enne nende muutmist.

Mõõtke, kust katkestus algab

Lugege kõigepealt edastuse olekut ja filtrite reegleid. Need on ainult lugemiseks mõeldud kontrollid ja vastavad odavale küsimusele:

sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9

Seejärel testige suurusi don’t-fragment-bitiga, kliendist, lüüsist kaugemal asuva hosti poole:

ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9

Kui esimene proov töötab ja teine ebaõnnestub fragmenteerimisveaga, ütleb tee teile oma kasutatava suuruse. Kui kumbki ei tööta, vaatate edastust või marsruutimist, ja MTU ei ole muutuja, mida muuta.

ObservationPoints towardWhere to look
Nothing beyond the gateway worksForwarding or return routeForwarding flag, filter rules, routing table
Small works, large stallsPacket size on the pathTunnel MTU and the link underneath
Only names failDNS resolutionThe resolver configured for the tunnel
Works sometimesMultiple paths or state expiryFlow selection and NAT state

Parandage kiht, mille te tõestasite

Kui edastus on rike, on parandus edastusreegel või marsruut, väljendatud nii kitsalt, kui lahendus lubab. Kui suurus on rike, on parandus MTU, mis arvestab kapseldust just sellel teel, rakendatud liidesele, mis seda vajab, mitte igale adapterile pargis.

Ükskõik kuidas, korrake pärast sama ülesannet sama sihtkoha vastu. Kui algne suur ülekanne nüüd lõpule jõuab, käsitles muudatus seda kihti, mis ebaõnnestus. Kui paremaks läks ainult väike proov, ravisite sümptomit ja tegelik piir on endiselt paigas.

Kirjutage üles, millist kuju te enne muudatust nägite. See üks rida, paranduse kõrvale märgitud, on see, mis hoiab järgmist inimest langetamast MTU-d, mis ei olnud kunagi probleem.

Seotud artiklid