Një faqe ngarkohet, një ping kalon dhe një kopje skedari ngec gjithmonë në të njëjtën pikë. Ky model tregon madhësinë e paketës, jo gjerësinë e brezit ose kredencialet. Inkapsulimi shton bajt në çdo paketë, prandaj një ngarkesë që hynte në rrugën origjinale mund ta kalojë kufirin pasi kalon nëpër një tunel. Në këto biseda tre numra të ndryshëm quhen MTU, dhe ngatërrimi i tyre çon në një konfigurim që rregullon një aplikacion dhe prish një tjetër.

Tre numra që njerëzit i quajnë MTU

MTU e ndërfaqes është kufiri i konfiguruar për një paketë në atë lidhje. MTU e rrugës është kufiri më i vogël përgjatë rrugës, dhe zbulohet në vend që të konfigurohet. TCP MSS është madhësia e ngarkesës që një palë deklaron se mund të marrë, dhe rrjedh nga dy të tjerat, nuk është kufi fizik i veçantë.

Një tunel ka një pamje të brendshme dhe një të jashtme. Paketa e jashtme mbart të inkapsuluarën plus titujt që i duhen protokollit, prandaj madhësia e brendshme e përdorshme është më e vogël se sa lejon rruga e jashtme. Rruga deri te serveri VPN është gjithashtu e ndryshme nga rruga e serverit deri te destinacioni.

Zbulimi i MTU-së së rrugës lejon dërguesin të mësojë madhësinë që funksionon, por varet nga mbërritja e reagimit. Kur një pajisje e ndërmjetme filtron mesazhet përkatëse ICMP, dërguesi vazhdon të dërgojë paketa që nuk përfundojnë kurrë, dhe ky është vrima e zezë klasike. Simptoma është e dallueshme kur e njeh: shtrëngimi i duarve kalon, ngarkesa e parë me madhësi të plotë zhduket, dhe lidhja në fund rivendoset ose ngec. Asgjë në regjistrin e aplikacionit nuk duket si problem rrjeti.

Provoni rrugën me një ngarkesë që ju kontrolloni

Një provë është dëshmi për një rrugë dhe një madhësi, jo një konfigurim i rekomanduar. Përdorni një host që përgjigjet dhe ndryshoni vetëm madhësinë e ngarkesës.

ping -M do -s 1372 -c 2 203.0.113.20
ping -4 -f -l 1372 vpn.example

Komanda e parë dërgon një provë Linux me fragmentimin e fikur dhe një ngarkesë prej 1372 bajtësh, dhe e dyta bën të njëjtën gjë në Windows ku ngarkesa vendoset me -l. Një përgjigje do të thotë që kjo madhësi i mbijetoi rrugës. Një mesazh se nevojitet fragmentim është informativ, ndërsa një skadim kohe është i paqartë sepse hosti ose një pajisje e ndërmjetme mund ta hedhin thjesht ICMP-në.

Zbritni madhësinë në disa hapa në vend të një kërkimi binar deri në bajt. Po përpiqeni të përcaktoni nëse ekziston një tavan madhësie, jo të publikoni një numër për çdo rrjet. Numri që gjeni vlen për këtë rrugë, këtë protokoll dhe këtë familje adresash.

IPv4 dhe IPv6 fragmentohen ndryshe, prandaj rezultati i një familjeje nuk thotë asgjë për tjetrën. Provoni familjen që aplikacioni përdor në të vërtetë.

Shtrëngimi i MSS ndihmon vetëm TCP

Në TCP ngarkesa efektive negociohet gjatë shtrëngimit të duarve, dhe një ruter në rrugë mund ta rishkruajë atë vlerë poshtë që të dy skajet të dërgojnë segmente më të vogla. Këtë bën shtrëngimi i MSS, dhe funksionon pa e prekur klientin fare.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip link show tun0

Rregulli i parë e shtrëngon MSS-në e shpallur në MTU-në e rrugës për shtrëngimet e duarve TCP që përçohen, dhe i dyti tregon MTU-në e vetë ndërfaqes së tunelit që ta krahasoni me atë që lejon rruga. Shtrëngimi është rregullimi më pak invaziv për një aplikacion TCP që ngec pas shtrëngimit të duarve.

Për UDP nuk bën asgjë. Një klient zëri ose loje që dërgon datagrame të mëdha do ta injorojë plotësisht konfigurimin MSS, sepse nuk ka shtrëngim duarsh për t'u rishkruar. Nëse aplikacioni që dështon është UDP, shikoni në vend të kësaj opsionet e madhësisë së paketës të vetë klientit. Dy protokollet dështojnë ndryshe dhe rregullohen me mjete të ndryshme, prandaj protokolli i përket fjalisë së parë të tiketës.

OpenVPN ekspozon opsione si tun-mtu, mssfix dhe konfigurime të lidhura me fragmentimin, dhe sjellja e tyre varet nga versioni dhe nga fakti nëse kanali i të dhënave është AEAD. Lexoni manualin për versionin në përdorim dhe ndryshoni një opsion në një herë.

Ndryshoni një konfigurim të mbështetur dhe përsëritni të dy provat

Mbajeni profilin origjinal, ndryshoni një vlerë të mbështetur dhe përsëritni si kërkesën e vogël që funksiononte ashtu edhe transferimin e madh që dështonte. Nëse ndryshon vetëm ai i madhi, po ndiqnit madhësinë. Nëse ndryshojnë të dyja, diçka tjetër lëvizi bashkë me të.

Një vlerë më e ulët mund ta lehtësojë simptomën duke shtuar kosto, prandaj numri më i vogël i mundshëm nuk është qëllimi. Qëllimi është një madhësi që rruga e mbart me besueshmëri dhe me humbjen më të vogël. Shënoni vlerën, rrugën dhe versionin e klientit në tiketë, sepse i njëjti numër i zbatuar diku tjetër është hamendje.

Nëse i njëjti profil funksionon nga një rrjet tjetër i besuar, mbajeni atë ndryshim në diagnozë në vend që të shpallni klientin të rregulluar. Variabla që ndryshoi është rruga, dhe rruga është ajo që mati prova.

Artikuj të ngjashëm