Omogućili ste okvire od 9000 bajtova na LAN-u i očekivali da će VPN postati brži. Postao je sporiji ili je potpuno prestao propuštati velike prenose. Jumbo okviri su lokalni sporazum o vezi; oni ne proširuju put kojim tunel prolazi.

Upotrebljivi budžet određuje najmanja granica na ruti, uključujući enkapsulaciju koju tunel dodaje.

Šta jumbo okviri zapravo mijenjaju

MTU je svojstvo jednog interfejsa. Podizanje na serveru i njegovom sviču znači da ta dva mogu razmjenjivati veće okvire bez fragmentacije. To ne govori ništa o ruteru iza sviča, o ISP-u ni o daljoj strani tunela. Ti uređaji imaju vlastita ograničenja, a paket koji premaši jedno od njih se odbacuje ili fragmentira po pravilima koja niste postavili.

Lokalni sporazum, globalne posljedice. To je cijela zbrka.

Porez na enkapsulaciju

Tunel umotava vaš paket unutar drugog. WireGuard preko IPv4 UDP-a dodaje otprilike 60 bajtova zaglavlja; OpenVPN-ov UDP režim je u istom rasponu, a IPsec varira s režimom i algoritmima. Ti bajtovi dolaze iz budžeta vanjskog puta, a ne niotkuda.

Zato vanjska veza od 1500 bajtova ne može nositi unutrašnji paket od 1500 bajtova kada se doda zaglavlje tunela.

Aritmetiku vrijedi uraditi jednom. Na putu od 1500 bajtova WireGuard interfejs želi MTU oko 1420 da bi enkapsulirani paket stao. Postavite unutrašnji interfejs na 9000 i svaki veliki paket će trebati fragmentaciju koju tunel ne može izvesti ili će biti odbačen.

Nađite najmanju vezu na putu

Prođite rutu i nađite najniži MTU. LAN je obično 1500 ili 9000, WAN je obično 1500, a mobilna ili PPP veza može biti još niža. Zatim oduzmite zaglavlje tunela. Ako je rezultat manji od MTU-a unutrašnjeg interfejsa, imate odgovor. Otkrivanje MTU-a puta može to naći automatski, ali samo kada su ICMP poruke od kojih zavisi propuštene.

Filtrirani ICMP je klasičan razlog zašto veliki prenos visi dok mali zahtjevi rade dobro.

Testirajte zavisnost od veličine bez širenja promjene

Koristite reprezentativan prenos i sačuvajte originalne vrijednosti da biste ih mogli vratiti. ping -M do -s 1472 testira paket od 1500 bajtova sa postavljenim DF bitom; smanjujte veličinu dok ne prođe. Ako samo veliki paketi ne uspijevaju, imate problem s veličinom, a ne s rutiranjem.

Čuvajte se offloada na strani hosta kada čitate snimke. Segmentacijski offload može prikazati okvire mnogo veće od onoga što je stvarno prošlo kroz žicu, zbog čega radni put izgleda pokvareno, a pokvaren ispravno.

Kada je veliki MTU ispravan dizajn

Kontrolisana privatna mreža može legitimno voditi veće okvire od kraja do kraja, pod uslovom da se svaki uređaj na putu slaže i da je zaglavlje tunela uračunato. To je koordinisan dizajn s dokumentovanom vrijednošću po vezi, a ne jedan veliki broj otkucan u klijentu.

Za običan javni izlaz pretpostavite 1500 ili manje i pustite tunel da izabere siguran unutrašnji MTU. RFC 8201 pokriva otkrivanje MTU-a puta za slučaj IPv6 i koristan je izvor o tome kako bi povratna informacija trebala raditi.

Povezani članci