OpenVPN profil koji radi negdje drugdje javlja da AES-256-GCM nije pronađen ili da strane nemaju zajedničku šifru, a prva pomisao je izmijeniti profil. Te dvije poruke opisuju različite kvarove. Jedna kaže da lokalni program nema takav algoritam; druga da obje strane imaju algoritme, ali bez zajedničkog izbora. Izmjena profila ne rješava nijedno dok ne znate koje imate.

Pročitajte tačan tekst greške i program koji ju je proizveo.

Utvrdite koju grešku imate

Poruka o šifri koja nije pronađena dolazi iz raščlanjivanja opcija na lokalnom računaru prije nego što se pošalje bilo koji paket. To znači da izvršna datoteka pred vama ili biblioteka s kojom je povezana ne nudi taj algoritam. Poruka o nedostatku zajedničke šifre dolazi kasnije, tokom pregovaranja, i znači da obje strane podržavaju šifre, ali se ne mogu dogovoriti oko jedne.

Razlika je važna jer je jedno problem verzije softvera, a drugo problem konfiguracije. Prvo se rješava brojem verzije. Drugo se rješava poređenjem dvije liste.

Lokalni nedostatak mogućnosti

Stare zajedničke verzije starije su od savremenih zadanih vrijednosti, a stolna aplikacija može nositi vlastiti motor koji se razlikuje od paketa naredbenog retka instaliranog pored nje. Provjere izvodite na izvršnoj datoteci koja je stvarno pokrenula vezu, pa odaberite podržanu verziju umjesto da starom programu pokušavate podučiti novi algoritam.

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

Ako se AES-256-GCM ne pojavi na tom spisku, nijedan red profila ga neće dodati. Rješenje je noviji klijent ili druga verzija, a ograničenja starije strane postaju zasebno pitanje dizajna.

Kod klijenata zasnovanih na OpenVPN 3 motor i prihvaćene direktive razlikuju se od zajedničke linije 2.x, pa isti tekst profila može pasti iz razloga koji nemaju veze sa spiskom šifri.

Nedostatak u pregovaranju

Kada obje strane navedu algoritam, ostaje pitanje koju listu nudi koja strana. Zajednički OpenVPN preimenovao je direktivu pregovaranja: ncp-ciphers u 2.4 postao je data-ciphers u 2.5, a u 2.6 stari red cipher uglavnom služi kompatibilnosti i rezervi, a ne određivanju dogovorenog skupa.

Zato izmjena samo starog reda cipher može ostaviti listu pregovaranja netaknutom. Stari red je i dalje važan za rezervu, a to je zaseban posao. Miješanje dvoga daje izmjene koje ništa vidljivo ne mijenjaju.

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

Uporedite liste oba kraja i poruku servera o odbijanju. Ako je presjek prazan, uskladite liste namjerno umjesto da kopirate vrijednost iz teksta pisanog za drugu verziju. Preširoka lista tiho slabi svaku vezu. Preuska lista isključuje stranu koju ste htjeli zadržati.

Držite kompatibilnost eksplicitnom

Rezerva za jednu staru stranu odluka je s cijenom: cijelo postavljanje prihvata slabiju opciju da bi se jedan uređaj mogao povezati. Zapišite to tako i ograničite na stranu kojoj treba.

Dva uslova odlučuju ishod. Ako je greška lokalna, zamijenite verziju. Ako je greška u pregovaranju, uskladite liste na oba kraja i zabilježite koje verzije podržavate.

Zatim prijavite tačnu grešku s priloženim izlazom verzije i mogućnosti. Taj par razdvaja algoritam koji nedostaje od neslaganja i zaustavlja sljedeći krug nagađanja prije nego što počne.

Povezani članci