AES-256-GCM није пронађен: могућност клијента или преговарање?
Две OpenVPN грешке изгледају исто: верзија без алгоритма и стране без заједничке шифре. Прочитајте --show-ciphers и data-ciphers пре измене профила.
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
Упоредите листе оба краја и поруку сервера о одбијању. Ако је пресек празан, ускладите листе намерно уместо да копирате вредност из текста писаног за другу верзију. Преширока листа тихо слаби сваку везу. Преуска листа искључује страну коју сте хтели да задржите.
Држите компатибилност експлицитном
Резерва за једну стару страну одлука је с ценом: цело постављање прихвата слабију опцију да би се један уређај могао повезати. Запишите то тако и ограничите на страну којој треба.
Два услова одлучују исход. Ако је грешка локална, замените верзију. Ако је грешка у преговарању, ускладите листе на оба краја и забележите које верзије подржавате.
Затим пријавите тачну грешку с приложеним излазом верзије и могућности. Тај пар раздваја алгоритам који недостаје од неспоразума и зауставља следећи круг нагађања пре него што почне.