Windows L2TP-ը բեռնում է միայն որոշ կայքեր՝ մաքրեք DF բիթը pfSense-ում
L2TP հաճախորդը, որը բեռնում է ներքին ցանցը, բայց կախվում է որոշ հանրային կայքերում, ունի MTU խնդիր։ Մաքրեք DF բիթը կամ սահմանափակեք MSS-ը, ապա հաստատեք գրառմամբ։
Նոթբուքը միանում է, ներքին ցանցը բեռնվում է, և մի քանի հանրային կայքեր կախվում են։ Նույնականացումը և երթուղավորումը ակնհայտորեն աշխատում են, ինչը որպես բացատրություն թողնում է փաթեթի չափը։ L2TP/IPsec թունելում օգտագործելի MTU-ն ավելի փոքր է, քան ադապտերը դեռ հայտարարում է, և հաճախորդը շարունակում է ուղարկել լրիվ չափի փաթեթներ՝ միացված «մի մասնատիր» բիթով։ pfSense դարպասին կարելի է հրամայել մաքրել այդ բիթը, և դա ախտորոշումը հաստատելու ամենաարագ ճանապարհն է մինչև ճիշտ ուղղումը։
Սկսեք այն էջերից, որոնք ձախողվում են
Ցանկացած կարգավորում դիպչելուց առաջ գրի առեք, թե որ նպատակակետերն են ձախողվում, և որոնք՝ հաջողվում։ Թունելի սահմանից ներքև մնացող ձեռքսեղմումները ավարտվում են նորմալ, մինչդեռ լրիվ չափի սեգմենտ պահանջող փոխանցումները կանգ են առնում կես ճանապարհին։ Այդ բաժանումը չափի խնդրի, այլ ոչ թե զտիչի ստորագրությունն է, որովհետև արգելափակված նպատակակետը ձախողվում է կապի հաստատման պահին, ոչ թե էջի մեջտեղում։ Երկու դիտարկումներն էլ ոչինչ չարժեն և անմիջապես նեղացնում են որոնումը։
Փորձեք ping-ով, որը սահմանում է բիթը և կառավարում բեռնվածքի չափը։ Ամենամեծ բեռնվածքը, որը ողջ է մնում, ասում է ճանապարհի իրական MTU-ն, իսկ ադապտերի հայտարարված արժեքը ցույց է տալիս, թե որքան հեռու են երկուսը։
Գրեք երկու թվերը։ Ուղղումը կախված է նրանից, թե որն է սխալ, և հենց զույգն է, որ ավելի ուշ կհաստատի գրառումը։
Ինչ է անում DF բիթը ելքի ճանապարհին
Թվերի տարբերության պատճառը ինկապսուլյացիան է։ IPsec-ը ավելացնում է ESP, L2TP-ն՝ ևս մեկ վերնագիր, և այդ պատճառով թունելը ֆիզիկական կապից ավելի քիչ բեռնվածք է տեղափոխում։ Windows-ը դեռ հաղորդում է 1500 բայթ ադապտերի վրա և ուղարկվողի վրա դնում է «մի մասնատիր»։ Երբ նման փաթեթը չի տեղավորվում, դարպասի ճիշտ պատասխանը ICMP հաղորդագրությունն է, որը խնդրում է ուղարկողին փոքրանալ։ Այդ պատճառով փոքր ping-ներ անցկացնող թունելը դեռ կարող է ձախողել ֆայլի ներբեռնումը։
Այդ հաղորդագրությունը հաճախ երբեք չի հասնում։ Ինչ-որ թռիչք կարող է զտել ICMP-ն, կամ ոչինչ չի առաջացնում այն, և ուղարկողը կրկնում է նույն չափը, մինչև փոխանցումը հանձնվի։
Այստեղ լռությունը սովորական ներկայացումն է, դրա համար էլ ախտանիշը կարդացվում է որպես ընտրովի արգելափակում։ Հաճախորդի մատյանում ոչինչ չի գրանցում բացակայող ICMP հաղորդագրություն։
pfSense-ի տարբերակը, և ինչ այն չի անում
Տարբերակը գտնվում է Համակարգ, Ընդլայնված, Ֆայրվոլ և NAT էջում՝ «Մաքրել անվավեր DF բիթերը՝ փաթեթները գցելու փոխարեն» պիտակով։ Դրոշը կրող չափազանց մեծ փաթեթը դեն նետելու փոխարեն զտիչը հանում է դրոշը և թույլ տալիս, որ փաթեթը հետագայում բաժանվի։ Փաթեթը համարվում է անվավեր, երբ այն չի կարող մեկ կտորով անցնել ելքային ինտերֆեյսը։
Տարբերակը վերականգնում է կապը՝ չդիպչելով հաճախորդին, դրա համար էլ այն սիրված է։ Այն նաև շրջանցում է. մասնատումը ծախսում է պրոցեսոր և յուրաքանչյուր կորցրած մաս դարձնում ավելի թանկ։
Այն վերաբերում է միայն փոխանցվող երթևեկությանը, ոչ այն երթևեկությանը, որն ինքը ֆայրվոլն է ստեղծում։ Նույն էջը առաջարկում է «Անջատել ֆայրվոլի մաքրումը», ինչը լրիվ անջատում է նորմալացումը, և դա շատ ավելի լայն փոփոխություն է, քան այս խնդրին պետք է։
Ավելի նեղ ուղղում, որը TCP-ն թողնում է չմասնատված
Գրեթե բոլոր կախված հոսքերը TCP են, և TCP-ն կարող է պայմանավորվել ավելի փոքր սեգմենտի շուրջ՝ մասնատմանը ապավինելու փոխարեն։ Թունելի ինտերֆեյսի վրա MSS-ի սահմանափակումը ձեռքսեղմման ընթացքում վերագրում է հայտարարված արժեքը, այնպես որ յուրաքանչյուր կողմ ուղարկում է այն, ինչ իրոք տեղավորվում է։ Ճանապարհն այնուհետև վարվում է կանխատեսելի, և ոչ մի փաթեթ բաժանելու կարիք չկա։
Դա UDP-ն թողնում է հայտնաբերմանը կամ DF տարբերակին։ Երբ ձախողվող կայքերը սովորական վեբ էջեր են, սահմանափակումն այն փոփոխությունն է, որին պետք է նախապատվություն տալ։
Հաճախորդը կարող է հաղորդել իր ադապտերի MTU-ն netsh interface ipv4 show subinterfaces-ի միջոցով։ Համեմատեք այդ թիվը այն բանի հետ, ինչ սերվերը կարծում է, թե պայմանավորվել է, որովհետև երկուսը միշտ չէ, որ նույնն են։ Հենց այդ արժեքն է, որ օպերացիոն համակարգը իրականում կօգտագործի, ինչ էլ որ հաղորդեր բանակցությունը։
Հաստատեք գրառմամբ, ապա վերակայեք վիճակը
Որոշումից առաջ գրառեք երկու կողմերում՝ մեկ հետք այնտեղ, որտեղ անցնում է թունելը, և մյուսը՝ որտեղ անցնում է WAN ինտերֆեյսը։ Լրիվ չափով դուրս եկող և ICMP չվերադարձնող փաթեթները մատնանշում են սահմանափակումը որպես ճիշտ շերտ։ Եկող և հետդարձի ճանապարհին մահացող պատասխանները փոխարենը մատնանշում են թունելի MTU-ն։
Նորից փորձելուց առաջ մաքրեք վիճակների աղյուսակը, որովհետև գոյություն ունեցող հոսքերը պահում են իրենց հին սեգմենտի չափերը։ Ապա բեռնեք ձախողված էջը և կարդացեք վիճակների տեսքը երկկողմանի երթևեկության համար՝ միակողմանի հաշվիչների փոխարեն։ Եթե այն դեռ կախվում է, նորից գրառեք՝ մեկ այլ վանդակ փորձելու փոխարեն։