OpenVPN-ի պրոֆիլը, որը աշխատում է այլ տեղ, հաղորդում է, որ AES-256-GCM չի գտնվել, կամ որ կողմերը ընդհանուր ծածկագիր չունեն, և առաջին միտքը պրոֆիլը խմբագրելն է։ Այս երկու հաղորդագրությունները նկարագրում են տարբեր ձախողումներ։ Մեկն ասում է, որ տեղական ծրագիրը նման ալգորիթմ չունի, մյուսը՝ որ երկու կողմերն էլ ալգորիթմներ ունեն, բայց ընդհանուր ընտրություն չկա։ Պրոֆիլը խմբագրելը ոչ մեկին չի լուծում, մինչև չիմանաք, թե որն ունեք։

Կարդացեք սխալի ստույգ տեքստը և այն ծրագիրը, որն առաջացրել է այն։

Որոշեք, թե որ սխալն ունեք

Չգտնված ծածկագրի մասին հաղորդագրությունը գալիս է տեղական մեքենայի ընտրանքների վերլուծությունից, նախքան որևէ փաթեթ ուղարկելը։ Դա նշանակում է, որ ձեր առջևի գործարկվող ֆայլը կամ այն գրադարանը, որին այն կապված է, չի առաջարկում այդ ալգորիթմը։ Ընդհանուր ծածկագրի բացակայության մասին հաղորդագրությունը գալիս է ավելի ուշ՝ բանակցության ընթացքում, և նշանակում է, որ երկու կողմերն աջակցում են ծածկագրերին, բայց չեն կարողանում համաձայնել մեկի շուրջ։

Տարբերությունը կարևոր է, որովհետև մեկը ծրագրային տարբերակի խնդիր է, մյուսը՝ կարգավորման։ Առաջինը լուծվում է տարբերակի համարով։ Երկրորդը լուծվում է երկու ցանկերի համեմատությամբ։

Տեղական հնարավորության բաց

Հին համայնքային կառուցվածքները նախորդում են ժամանակակից լռելյայն արժեքներին, և սեղանադիր հավելվածը կարող է բերել իր շարժիչը, որը տարբերվում է կողքին տեղադրված հրամանի տողի փաթեթից։ Ստուգումները կատարեք այն գործարկվող ֆայլի վրա, որը իսկապես սկսել է կապը, ապա ընտրեք աջակցվող կառուցվածք՝ հին ծրագրին նոր ալգորիթմ սովորեցնելու փոխարեն։

openvpn --version
openvpn --show-ciphers | grep -i gcm
openvpn --show-tls | head -5

Եթե AES-256-GCM-ը այդ ցանկում չկա, ոչ մի պրոֆիլի տող այն չի ավելացնի։ Լուծումը նոր հաճախորդն է կամ այլ կառուցվածքը, և ավելի հին կողմի սահմանափակումները դառնում են առանձին ձևավորման հարց։

OpenVPN 3-ի վրա հիմնված հաճախորդների դեպքում շարժիչը և ընդունելի հրահանգները տարբերվում են համայնքի 2.x գծից, ուստի նույն պրոֆիլի տեքստը կարող է ձախողվել պատճառներով, որոնք կապ չունեն ծածկագրերի ցանկի հետ։

Բանակցության բաց

Երբ երկու կողմերն էլ թվարկում են ալգորիթմը, մնում է հարցը, թե որ ցանկն է առաջարկում յուրաքանչյուր կողմ։ Համայնքային OpenVPN-ը վերանվանեց բանակցության հրահանգը՝ 2.4-ի ncp-ciphers-ը դարձավ data-ciphers 2.5-ում, իսկ 2.6-ում հին cipher տողը հիմնականում ծառայում է համատեղելիությանը և հետընթացին, ոչ թե բանակցված հավաքածուն սահմանելուն։

Այդ պատճառով միայն հին cipher տողը փոխելը կարող է անթերի թողնել բանակցության ցանկը։ Հին տողը դեռ կարևոր է հետընթացի համար, և դա առանձին աշխատանք է։ Երկուսը շփոթելը տալիս է փոփոխություններ, որոնք տեսանելի ոչինչ չեն փոխում։

openvpn --version | head -2
grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn

Համեմատեք երկու ծայրերի ցանկերը և սերվերի մերժման հաղորդագրությունը։ Եթե հատումը դատարկ է, ցանկերը համապատասխանեցրեք դիտավորյալ՝ այլ տարբերակի համար գրված հոդվածից արժեք պատճենելու փոխարեն։ Չափից լայն ցանկը լուռ թուլացնում է յուրաքանչյուր կապ։ Չափից նեղ ցանկը բացառում է այն կողմը, որը ցանկանում էիք պահել։

Համատեղելիությունը պահեք բացահայտ

Մեկ հին կողմի համար հետընթացը որոշում է գնով՝ ամբողջ տեղակայումն ընդունում է ավելի թույլ տարբերակ, որպեսզի մեկ սարք կարողանա միանալ։ Գրեք այդպես և սահմանափակեք այն կողմով, որն ունի դրա կարիքը։

Երկու պայման է որոշում արդյունքը։ Եթե սխալը տեղական է, փոխարինեք կառուցվածքը։ Եթե սխալը բանակցային է, համապատասխանեցրեք ցանկերը երկու ծայրերում և գրանցեք, թե որ տարբերակներն եք աջակցում։

Ապա հայտնեք ստույգ սխալը՝ կցելով տարբերակի և հնարավորությունների արտածումը։ Այդ զույգը տարանջատում է բացակայող ալգորիթմը տարաձայնությունից և կանգնեցնում է ենթադրական խմբագրումների հաջորդ փուլը նախքան այն կսկսվի։

Առնչվող հոդվածներ