Ինչու են OpenConnect-ի էջերը կախվում, քանի դեռ չեք իջեցրել թունելի MTU-ն
Փոքր պատասխանները հասնում են, մեծերը մահանում են։ Չափեք ուղու առաստաղը DF փորձարկումներով, սահմանեք չափը թունելի սարքում և արեք այնպես, որ արժեքը վերապրի վերամիացումը։
Մուտքը հաջողվում է, պորտալի գլխավոր էջը գծվում է, և հետո ինչ-որ վահանակի վիջեթ կամ հաշվետվություն մնում է waiting for host վիճակում, մինչև զննարկիչը հանձնվի։ Հանրային կայքերը ամբողջ ընթացքում նորմալ բեռնվում են, և ոչ մի հավատարմագրային տվյալ չի փոխվել։ Փոքր պատասխանների ժամանումը, մինչ մեծերը կանգ են առնում, փաթեթի չափի առաստաղի, այլ ոչ թե մուտքի կանոնի նշան է։ Հաստատեք այդ ընթերցումը, նախքան պրոֆիլում որևէ այլ բան փոխելը։
Առանձնացրեք չափի խնդիրը քաղաքականության խնդրից
Սկսեք մերժումը բացառելով։ Եթե դարպասը մերժեր ձեզ, կապը կխափանվեր անմիջապես՝ էջը կիսով չափ բեռնելու փոխարեն։ Այն թունելը, որը բարձրանում է, ապա կանգ է առնում միայն ավելի մեծ փոխանցումների ժամանակ, ասում է ձեզ, որ արտաքին ուղին չի կարող կրել ներքին փաթեթը։
Մեխանիզմը ինկապսուլյացիան է։ Յուրաքանչյուր ներքին փաթեթ ստանում է թունելի վերնագրեր, այնպես որ ֆիզիկական կապուղու մեջ տեղավորվող օգտակար բեռը դառնում է արտաքին փաթեթ, որը այլևս չի տեղավորվում, և այն ամենը, ինչ կրում է do-not-fragment բիտը, դեն է նետվում առանց պատասխանի, որը զննարկիչը կկարողանա մեկնաբանել։
Չափեք առաստաղը do-not-fragment փորձարկումներով
Չափեք առաստաղը՝ գուշակելու փոխարեն։ Ուղարկեք փորձարկումներ, որոնք մերժում են մասնատումը, և աստիճանաբար իջեցրեք օգտակար բեռը, մինչև պատասխան վերադառնա, սկսելով այնպիսի հրահանգից, ինչպիսին է ping -M do -s 1472 host։ Պատասխանը, որը բողոքում է, որ անհրաժեշտ է մասնատում, երբ DF-ը սահմանված է, նշանակում է, որ արժեքը դեռ չափից բարձր է։ Կրկնեք 1462-ի վրա, ապա 1452-ի վրա, և կանգ առեք առաջին չափի վրա, որը պատասխան է վերադարձնում։ Գրանցեք թիվը ձեր փորձարկած հոսթի հետ միասին, քանի որ պատասխանը պատկանում է այդ ուղուն, և ոչ թե արձանագրությանն ընդհանրապես։
Փորձարկեք այն հասցեն, ուր թունելն իրականում ուղարկում է երթևեկությունը։ Արտաքին փորձարկումը դարպասի հանրային անվան դեմ և ներքին փորձարկումը ներքին սերվերի դեմ չափում են տարբեր ցատկեր, և ICMP զտումը դրանցից որևէ մեկի վրա կարող է առողջ ուղին կոտրված ցույց տալ։
Կիրառեք արժեքը թունելի սարքի վրա
Կիրառեք արդյունքը այն ինտերֆեյսի վրա, որը ստեղծել է հաճախորդը, և ոչ Wi-Fi ադապտերի վրա։ Linux հաճախորդի վրա դա ip link set dev tun0 mtu 1300 և ապա ip link show tun0 է՝ հաստատելու, որ արժեքը կիրառվել է։ Օգտագործեք այն սարքի անունը, որը հաղորդում է հաճախորդը, քանի որ այն փոխվում է ըստ իրականացման և ըստ այն բանի, թե ինչպես է կառուցվել թունելը։
Թունելի MTU-ի իջեցումը փոքրացնում է յուրաքանչյուր փաթեթի կրած օգտակար բեռը, ուստի զանգվածային թողունակությունը փոքր-ինչ նվազում է, և դա այն գինն է, որ մեծ պատասխանները սև անցքի մեջ չնետվեն։ Ավելի փոքր թիվն ինքնաբերաբար ավելի ապահով չէ։ Փոխարենը ֆիզիկական ադապտերը փոխելը վնասը տարածում է այդ կապուղու բոլոր միացումների վրա, մինչ չափից մեծ ներքին փաթեթները մնում են նույնքան մեծ։
Նախ օգտագործեք հաճախորդի սեփական MTU հարցումները
Երբ դուք եք վերահսկում կանչը, հաճախորդը կարող է չափ խնդրել՝ հետագայում կարկատվելու փոխարեն։ --mtu թունելի MTU է խնդրում սերվերից, և --base-mtu հայտարարում է հիմքում ընկած ուղու MTU-ն, որպեսզի դարպասը կարողանա դուրս բերել թունելի թիվը։ Երկուսն էլ հարցումներ են, և հաճախորդի ձեռնարկը չի խոստանում, որ դարպասը կկատարի դրանցից որևէ մեկը։
Այդ տարբերությունը որոշում է ձեր աշխատանքի հերթականությունը։ Նախ փորձեք հարցումը և ստուգեք այն ինտերֆեյսը, որը այն ստեղծում է, ապա վերադարձեք սարքի տեղական սահմանմանը, եթե դարպասի ընտրած արժեքը դեռ կանգ է առնում։
Ստուգեք այն փոխանցմամբ, որը ձախողվել է, ապա դարձրեք այն մշտական
Տեղական ip link փոփոխությունը տևում է այնքան, մինչև հաճախորդը վերակառուցի թունելը, ինչը տեղի է ունենում հաջորդ վերամիացման կամ շարունակման ժամանակ։ Տեղադրեք արժեքը այնտեղ, որտեղ սկսվում է կապը՝ փաթաթան, որը գործարկում է հաճախորդին և ապա կարգավորում սարքը, systemd միավոր ExecStartPost քայլով, կամ հաճախորդի ընտրանքը, երբ դարպասն ընդունում է այն։ Պահեք այն պրոֆիլի կողքին տարբերակների կառավարման մեջ, որպեսզի հաջորդ մարդը տեսնի, թե ինչու է թիվը այնտեղ։
Փորձարկեք այն հարցումով, որը ձախողվել է, և ոչ գլխավոր էջով։ Բացեք հաշվետվությունը, ներբեռնեք կցվածը կամ գործարկեք այն պահոցի բեռնումը, որը կախվել էր, և նշեք ճշգրիտ, թե որտեղ է այն կանգ առնում, եթե դեռ կանգ է առնում։ Էջը, որը գծվում է փոփոխությունից հետո, քիչ բան է ապացուցում, քանի որ այն գծվում էր նաև առաջ։
Եթե նույն փոխանցումը կանգ է առնում նույն կետում, ապա MTU տեսությունը ապացուցված չէ։ Գրանցեք երթևեկությունը թունելի վրա և ստուգեք, թե որ կողմն է դադարում ուղարկել, նախքան թիվը կրկին փոխելը, և պահեք նախորդ արժեքը գրանցված, որպեսզի հետ գլորումը մնա մեկ հրահանգ։