Windows L2TP įkelia tik kai kurias svetaines: išvalykite DF bitą pfSense
L2TP klientas, kuris įkelia intranetą, bet užstringa kai kuriose viešose svetainėse, turi MTU problemą. Išvalykite DF bitą arba apribokite MSS, tada patvirtinkite įrašu.
Nešiojamasis kompiuteris prisijungia, intranetas įkeliamas, o kelios viešos svetainės užstringa. Autentifikavimas ir maršrutizavimas akivaizdžiai veikia, todėl paaiškinimu lieka paketo dydis. L2TP/IPsec tunelyje naudingasis MTU yra mažesnis nei tas, kurį adapteris dar skelbia, ir klientas toliau siunčia viso dydžio paketus su įjungtu „neskaidyti“ bitu. pfSense tinklų sietuvui galima įsakyti išvalyti tą bitą, ir tai greičiausias būdas patvirtinti diagnozę prieš tinkamai ją ištaisant.
Pradėkite nuo puslapių, kurie nepavyksta
Prieš liesdami bet kokį nustatymą, užsirašykite, kurios paskirties vietos nepavyksta, o kurios pavyksta. Rankos paspaudimai, kurie lieka žemiau tunelio ribos, baigiasi normaliai, o perdavimai, kuriems reikia viso dydžio segmento, sustoja pusiaukelėje. Šis skirtumas yra dydžio, o ne filtro problemos požymis, nes užblokuota paskirties vieta nepavyksta nustatant ryšį, o ne puslapio viduryje. Abu stebėjimai nieko nekainuoja ir iš karto susiaurina paiešką.
Išbandykite ping, kuris nustato bitą ir valdo naudingosios apkrovos dydį. Didžiausia apkrova, kuri praeina, nurodo tikrąjį kelio MTU, o skelbiama adapterio vertė parodo, kiek jiedu skiriasi.
Užsirašykite abu skaičius. Pataisymas priklauso nuo to, kuris neteisingas, ir būtent porą vėliau patvirtins įrašas.
Ką DF bitas daro išvykstant
Skaičių skirtumo priežastis yra inkapsuliavimas. IPsec prideda ESP, L2TP prideda dar vieną antraštę, todėl tunelis neša mažiau naudingosios apkrovos nei fizinė jungtis. Windows vis dar praneša 1500 baitų adapteryje ir siunčiamam duomeniui nustato „neskaidyti“. Kai toks paketas netelpa, teisingas sietuvo atsakymas yra ICMP pranešimas, prašantis siuntėjo sumažėti. Todėl tunelis, kuris praleidžia mažus ping, vis tiek gali nepavykti atsiunčiant failą.
Šis pranešimas dažnai niekada neatvyksta. Koks nors šuolis gali filtruoti ICMP, arba niekas jo nesukuria, ir siuntėjas kartoja tą patį dydį, kol perdavimas pasiduoda.
Tyka čia yra įprasta išraiška, todėl simptomas skaitomas kaip selektyvus blokavimas. Kliento žurnale niekas neužfiksuoja trūkstamo ICMP pranešimo.
pfSense parinktis ir ko ji nedaro
Parinktis yra puslapyje Sistema, Išplėstinė, Užkarda ir NAT su žyme „Išvalyti negaliojančius DF bitus, o ne mesti paketus“. Užuot išmetusi per didelį paketą su vėliavėle, filtras pašalina vėliavėlę ir leidžia paketui suskaidyti toliau. Paketas laikomas negaliojančiu, kai negali vienu gabalu pereiti išėjimo sąsajos.
Parinktis atkuria ryšį neliesdama kliento, todėl ji populiari. Tai ir apeinamasis sprendimas: skaidymas kainuoja CPU ir kiekvieną prarastą fragmentą daro brangesnį.
Ji taikoma tik persiunčiamam srautui, o ne srautui, kurį sukuria pati užkarda. Tame pačiame puslapyje siūloma „Išjungti užkardos valymą“, kas visiškai išjungia normalizavimą, ir tai yra daug platesnis pakeitimas, nei šiai problemai reikia.
Siauresnis pataisymas, paliekantis TCP nesuskaidytą
Beveik visi įstrigę srautai yra TCP, o TCP gali susitarti dėl mažesnio segmento, o ne pasikliauti skaidymu. MSS apribojimas tunelio sąsajoje perrašo skelbiamą vertę rankos paspaudimo metu, todėl kiekviena pusė siunčia tai, kas iš tikrųjų telpa. Tada kelias elgiasi nuspėjamai ir jokio paketo nereikia skaidyti.
Tai palieka UDP atradimui arba DF parinkčiai. Kai nepavykstančios svetainės yra įprasti tinklalapiai, apribojimas yra tas pakeitimas, kuriam reikėtų teikti pirmenybę.
Klientas gali pranešti savo adapterio MTU per netsh interface ipv4 show subinterfaces. Palyginkite tą skaičių su tuo, ką serveris mano suderėjęs, nes jiedu ne visada sutampa. Būtent šią vertę operacinė sistema iš tikrųjų naudos, kad ir ką pranešė derybos.
Patvirtinkite įrašu, tada atkurkite būseną
Prieš nuspręsdami įrašykite abiejose pusėse: vienas pėdsakas ten, kur eina tunelis, kitas ten, kur eina WAN sąsaja. Viso dydžio išeinantys paketai be grįžtančio ICMP nurodo apribojimą kaip tinkamą sluoksnį. Atsakymai, kurie atvyksta ir tada miršta grįžtant, nurodo tunelio MTU.
Išvalykite būsenų lentelę prieš bandydami dar kartą, nes esami srautai laiko savo senus segmentų dydžius. Tada įkelkite nepavykusį puslapį ir skaitykite būsenų vaizdą dvipusiam srautui, o ne vienpusiams skaitikliams. Jei jis vis dar stringa, įrašykite dar kartą, o ne bandykite kitą žymės langelį.