Профіль 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 перайменаваў дырэктыву перамоваў: ncp-ciphers у 2.4 стаў 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

Параўнайце спісы абодвух канцоў і паведамленне сервера пра адмову. Калі перасячэнне пустое, узгадніце спісы свядома, а не капіруйце значэнне з артыкула для іншай версіі. Занадта шчодры спіс ціха паслабляе кожнае злучэнне. Занадта вузкі спіс выключае бок, які вы хацелі пакінуць.

Трымайце сумяшчальнасць яўнай

Запасны варыянт для аднаго старога боку — рашэнне з цаной: усё разгортванне прымае слабейшы варыянт, каб адна прылада магла падключыцца. Запішыце гэта як ёсць і абмяжуйце тым бокам, якому гэта патрэбна.

Вынік вызначаюць дзве ўмовы. Калі памылка мясцовая, замяніце зборку. Калі памылка ў перамовах, узгадніце спісы на абодвух канцах і запішыце, якія версіі вы падтрымліваеце.

Потым паведаміце дакладную памылку, далучыўшы вывад версіі і магчымасцей. Гэтая пара аддзяляе адсутны алгарытм ад нязгоды і спыняе наступны круг меркаваных праўдак да яго пачатку.

Падобныя артыкулы