AES-256-GCM nije pronađen: mogućnost klijenta ili pregovaranje?
Dvije OpenVPN greške izgledaju isto: verzija bez algoritma i strane bez zajedničke šifre. Pročitajte --show-ciphers i data-ciphers prije izmjene profila.
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.