Windows L2TP ielādē tikai dažas vietnes: notīriet DF bitu pfSense
L2TP klients, kas ielādē iekšējo tīklu, bet iestrēgst dažās publiskās vietnēs, saskaras ar MTU problēmu. Notīriet DF bitu vai ierobežojiet MSS, pēc tam apstipriniet ar ierakstu.
Klēpjdators pieslēdzas, iekšējais tīkls ielādējas, un dažas publiskās vietnes iestrēgst. Autentifikācija un maršrutēšana acīmredzami darbojas, tāpēc kā skaidrojums paliek paketes izmērs. L2TP/IPsec tunelī lietojamais MTU ir mazāks par to, ko adapteris vēl joprojām paziņo, un klients turpina sūtīt pilna izmēra paketes ar ieslēgtu «nesadrumstalot» bitu. pfSense vārtejai var likt notīrīt šo bitu, un tas ir ātrākais veids, kā apstiprināt diagnozi pirms pareizas labošanas.
Sāciet ar lapām, kas neizdodas
Pirms jebkura iestatījuma aiztikšanas pierakstiet, kuri galamērķi neizdodas un kuri izdodas. Rokasspiedieni, kas paliek zem tuneļa robežas, pabeidzas normāli, bet pārsūtījumi, kam vajadzīgs pilna izmēra segments, apstājas pusceļā. Šī šķirtne ir izmēra, nevis filtra problēmas pazīme, jo bloķēts galamērķis neizdodas savienojuma izveidē, nevis lapas vidū. Abi novērojumi neko nemaksā un uzreiz sašaurina meklēšanu.
Pārbaudiet ar ping, kas iestata bitu un kontrolē lietderīgās kravas izmēru. Lielākā krava, kas iztur, norāda īsto ceļa MTU, un adaptera paziņotā vērtība parāda, cik tālu abi atrodas.
Pierakstiet abus skaitļus. Labojums atkarīgs no tā, kurš ir nepareizs, un tieši pāri vēlāk apstiprinās ieraksts.
Ko DF bits dara izejā
Skaitļu atšķirības iemesls ir iekapsulēšana. IPsec pievieno ESP, L2TP pievieno vēl vienu galveni, tāpēc tunelis pārvadā mazāk lietderīgās kravas nekā fiziskā saite. Windows joprojām ziņo 1500 baitus adapterī un sūtāmajam uzliek «nesadrumstalot». Kad šāda pakete neiederas, pareizā vārtejas atbilde ir ICMP ziņojums, kas lūdz sūtītāju samazināties. Tāpēc tunelis, kas laiž cauri mazus ping, tomēr var neizdoties faila lejupielādē.
Šis ziņojums bieži nekad nenonāk. Kāds lēciens var filtrēt ICMP, vai nekas to neģenerē, un sūtītājs atkārto to pašu izmēru, līdz pārsūtīšana padodas.
Klusums šeit ir ierastā izpausme, tāpēc simptoms tiek lasīts kā selektīva bloķēšana. Klienta žurnālā nekas nefiksē trūkstošu ICMP ziņojumu.
pfSense opcija un tas, ko tā nedara
Opcija atrodas lapā Sistēma, Papildu, Ugunsmūris un NAT ar apzīmējumu «Notīrīt nederīgos DF bitus, nevis nomest paketes». Tā vietā, lai izmestu pārāk lielu paketi ar karodziņu, filtrs noņem karodziņu un ļauj paketei sadalīties tālāk. Pakete tiek uzskatīta par nederīgu, kad tā nevar šķērsot izejošo saskarni vienā gabalā.
Opcija atjauno savienojamību, neaiztiekot klientu, tāpēc tā ir populāra. Tā ir arī apietais risinājums: sadalīšana maksā CPU un padara katru zaudēto fragmentu dārgāku.
Tā attiecas tikai uz pārsūtīto datplūsmu, nevis uz to, ko ugunsmūris pats rada. Tajā pašā lapā tiek piedāvāts «Atspējot ugunsmūra tīrīšanu», kas pilnībā izslēdz normalizāciju, un tas ir daudz plašāks lēmums, nekā šai problēmai vajag.
Šaurāks labojums, kas saglabā TCP nesadrumstalotu
Gandrīz visi iestrēgušie plūsmas ir TCP, un TCP var vienoties par mazāku segmentu, nevis paļauties uz sadalīšanu. MSS ierobežošana tuneļa saskarnē pārraksta paziņoto vērtību rokasspiediena laikā, tāpēc katra puse sūta to, kas tiešām iederas. Ceļš tad uzvedas paredzami, un neviena pakete nav jāsadala.
Tas atstāj UDP atklāšanai vai DF opcijai. Kad neizdevušās vietnes ir parastas tīmekļa lapas, ierobežojums ir tas lēmums, kam dot priekšroku.
Klients var ziņot sava adaptera MTU, izmantojot netsh interface ipv4 show subinterfaces. Salīdziniet šo skaitli ar to, ko serveris uzskata par vienoto, jo abi ne vienmēr sakrīt. Tieši šo vērtību operētājsistēma faktiski izmantos, lai ko arī ziņotu sarunas.
Apstipriniet ar ierakstu, pēc tam atiestatiet stāvokli
Pirms lēmuma ierakstiet abās pusēs: vienu pēdu, kur iet tunelis, un otru, kur iet WAN saskarne. Paketes, kas iziet pilnā izmērā bez atgriezeniska ICMP, norāda uz ierobežojumu kā pareizo slāni. Atbildes, kas atnāk un pēc tam mirst atceļā, norāda uz tuneļa MTU.
Iztīriet stāvokļu tabulu pirms atkārtota mēģinājuma, jo esošās plūsmas patur savus vecos segmentu izmērus. Pēc tam ielādējiet neizdevušos lapu un lasiet stāvokļu skatu divvirzienu datplūsmai, nevis vienpusējiem skaitītājiem. Ja tā joprojām iestrēgst, ierakstiet vēlreiz, nevis izmēģiniet citu izvēles rūtiņu.