Profil OpenVPN, ki deluje drugje, sporoča, da AES-256-GCM ni najden, ali da strani nimata skupne šifre, in prva misel je urediti profil. Ti dve sporočili opisujeta različne okvare. Eno pravi, da lokalni program nima takega algoritma; drugo, da imata obe strani algoritme, a ne skupne izbire. Urejanje profila ne odpravi nobene, dokler ne veste, katero imate.

Preberite natančno besedilo napake in program, ki jo je ustvaril.

Ugotovite, katero napako imate

Sporočilo o šifri, ki je ni mogoče najti, prihaja iz razčlenjevanja možnosti na lokalnem računalniku, preden se pošlje kateri koli paket. To pomeni, da izvedljiva datoteka pred vami ali knjižnica, s katero je povezana, ne ponuja tega algoritma. Sporočilo o pomanjkanju skupne šifre pride pozneje, med pogajanjem, in pomeni, da obe strani podpirata šifre, a se ne moreta dogovoriti za eno.

Razlika je pomembna, ker je eno težava različice programske opreme, drugo pa težava konfiguracije. Prvo razreši številka različice. Drugo razreši primerjava dveh seznamov.

Lokalno pomanjkanje zmožnosti

Stare skupnostne gradnje so starejše od sodobnih privzetih vrednosti, namizna aplikacija pa lahko prinese svoj pogon, ki se razlikuje od paketa ukazne vrstice, nameščenega ob njej. Preverjanja izvedite na izvedljivi datoteki, ki je resnično začela povezavo, nato izberite podprto gradnjo, namesto da bi stari program učili novega algoritma.

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

Če AES-256-GCM ni na tem seznamu, ga nobena vrstica profila ne doda. Rešitev je novejši odjemalec ali druga gradnja, omejitve starejše strani pa postanejo ločeno vprašanje zasnove.

Pri odjemalcih, ki temeljijo na OpenVPN 3, se pogon in sprejete direktive razlikujejo od skupnostne linije 2.x, zato lahko isto besedilo profila spodleti iz razlogov, ki nimajo nič skupnega s seznamom šifer.

Vrzel pri pogajanju

Ko obe strani naštejeta algoritem, ostane vprašanje, kateri seznam ponuja katera stran. Skupnostni OpenVPN je preimenoval direktivo pogajanja: ncp-ciphers v 2.4 je postalo data-ciphers v 2.5, v 2.6 pa starejša vrstica cipher služi večinoma združljivosti in umiku, ne določanju pogajanega nabora.

Zato lahko sprememba samo stare vrstice cipher pusti seznam pogajanja nedotaknjen. Stara vrstica je za umik še vedno pomembna in to je ločeno delo. Zamenjava obojega vodi v popravke, ki vidno ničesar ne spremenijo.

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

Primerjajte seznama obeh koncev in sporočilo strežnika o zavrnitvi. Če je presek prazen, seznama uskladite namerno, namesto da kopirate vrednost iz članka, napisanega za drugo različico. Preširok seznam tiho oslabi vsako povezavo. Preozek seznam izloči stran, ki ste jo hoteli obdržati.

Ohranite združljivost izrecno

Umik za eno staro stran je odločitev s ceno: celotna namestitev sprejme šibkejšo možnost, da se ena naprava lahko poveže. Zapišite to tako in omejite na stran, ki to potrebuje.

O izidu odločata dva pogoja. Če je napaka lokalna, zamenjajte gradnjo. Če je napaka pri pogajanju, uskladite seznama na obeh koncih in zabeležite, katere različice podpirate.

Nato sporočite natančno napako s priloženim izhodom različice in zmožnosti. Ta par loči manjkajoči algoritem od nesoglasja in ustavi naslednji krog špekulativnih popravkov, preden se začne.

Sorodni članki