AES-256-GCM ne trovita: kapablo de la kliento aŭ intertraktado?
Du OpenVPN-eraroj aspektas same: konstruo sen la algoritmo kaj partneroj sen komuna ĉifro. Legu --show-ciphers kaj data-ciphers antaŭ ol redakti la profilon.
OpenVPN-profilo, kiu funkcias aliloke, raportas, ke AES-256-GCM ne troveblas, aŭ ke la partneroj ne havas komunan ĉifron, kaj la unua instinkto estas redakti la profilon. Tiuj du mesaĝoj priskribas malsamajn fiaskojn. Unu diras, ke la loka programo ne havas tian algoritmon; la alia, ke ambaŭ flankoj havas algoritmojn sed ne komunan elekton. Redakti la profilon solvas nek unu nek la alian, ĝis vi scias, kiun vi havas.
Legu la precizan erartekston kaj la programon, kiu produktis ĝin.
Determinu, kiun eraron vi havas
La mesaĝo pri ĉifro, kiu ne troveblas, venas de analizo de opcioj sur la loka maŝino, antaŭ ol ajna paketo estas sendita. Ĝi signifas, ke la plenumebla dosiero antaŭ vi, aŭ la biblioteko al kiu ĝi ligiĝas, ne ofertas tiun algoritmon. La mesaĝo pri manko de komuna ĉifro venas poste, dum la intertraktado, kaj signifas, ke ambaŭ flankoj subtenas ĉifrojn sed ne povas interkonsenti pri unu.
La distingo gravas, ĉar unu estas problemo de programversio kaj la alia de agordo. La unuan solvas versinumero. La duan solvas komparo de du listoj.
Loka kapabla manko
Malnovaj komunumaj konstruoj antaŭas la modernajn defaŭltojn, kaj surtabla aplikaĵo povas kunporti propran motoron, kiu malsamas de la komandlinia pakaĵo instalita apude. Faru la kontrolojn sur la plenumebla dosiero, kiu efektive lanĉis la konekton, poste elektu subtenatan konstruon anstataŭ instrui al malnova programo novan algoritmon.
openvpn --version openvpn --show-ciphers | grep -i gcm openvpn --show-tls | head -5
Se AES-256-GCM ne aperas en tiu listo, neniu profillino aldonos ĝin. La solvo estas pli nova kliento aŭ alia konstruo, kaj la limigoj de la pli malnova flanko fariĝas aparta dezajna demando.
Ĉe klientoj bazitaj sur OpenVPN 3 la motoro kaj la akceptataj direktivoj malsamas de la komunuma linio 2.x, do la sama profila teksto povas fiaski pro kialoj tute ne ligitaj al la ĉifrolisto.
Intertraktada manko
Kiam ambaŭ partneroj listigas la algoritmon, restas la demando, kiun liston ĉiu flanko proponas. La komunuma OpenVPN renomis la intertraktadan direktivon: ncp-ciphers en 2.4 fariĝis data-ciphers en 2.5, kaj en 2.6 la pli malnova linio cipher servas ĉefe al kongrueco kaj rezerva funkciado, ne al difino de la intertraktita aro.
Tial ŝanĝo de nur malnova linio cipher povas lasi la intertraktadan liston netuŝita. La malnova linio ankoraŭ gravas por rezerva funkciado, kio estas aparta tasko. Konfuzi la du produktas redaktojn, kiuj ŝanĝas nenion videblan.
openvpn --version | head -2 grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn
Komparu la listojn de ambaŭ finoj kaj la malakceptan mesaĝon de la servilo. Se la komunaĵo estas malplena, vicigu la listojn intence anstataŭ kopii valoron el artikolo verkita por alia versio. Tro malavara listo silente malfortigas ĉiun konekton. Tro mallarĝa listo ekskludas la partneron, kiun vi volis teni.
Tenu kongruecon eksplicita
Rezerva funkciado por unu malnova partnero estas decido kun kosto: la tuta disfaldiĝo akceptas pli malfortan opcion, por ke unu aparato povu konektiĝi. Skribu ĝin tiel, kaj limigu ĝin al la partnero, kiu bezonas ĝin.
Du kondiĉoj decidas la rezulton. Se la eraro estas loka, anstataŭigu la konstruon. Se la eraro estas intertraktada, vicigu la listojn ĉe ambaŭ finoj kaj notu, kiujn versiojn vi subtenas.
Poste raportu la precizan eraron kun aldonita eligo de versio kaj kapabloj. Tiu paro apartigas mankan algoritmon de malkonsento kaj haltigas la sekvan raŭndon de konjektaj redaktoj antaŭ ol ĝi komenciĝas.