Një profil OpenVPN që funksionon diku tjetër raporton se AES-256-GCM nuk gjendet, ose se palët nuk ndajnë asnjë shifër, dhe shtysa e parë është të ndryshohet profili. Këto dy mesazhe përshkruajnë dështime të ndryshme. Njëri thotë se programi lokal nuk e ka atë algoritëm; tjetri se të dy skajet kanë algoritme, por jo një zgjedhje të përbashkët. Ndryshimi i profilit nuk rregullon asnjërin derisa të dini cilin keni.

Lexoni tekstin e saktë të gabimit dhe programin që e prodhoi.

Përcaktoni cilin gabim keni

Mesazhi për një shifër që nuk gjendet vjen nga analiza e opsioneve në makinën lokale, përpara se të dërgohet ndonjë paketë. Kjo do të thotë se skedari ekzekutues përpara jush, ose biblioteka me të cilën lidhet, nuk e ofron atë algoritëm. Mesazhi për mungesën e shifrës së përbashkët vjen më vonë, gjatë negocimit, dhe nënkupton se të dyja palët mbështesin shifra, por nuk bien dakord për një.

Dallimi ka rëndësi sepse njëri është problem i versionit të softuerit dhe tjetri problem i konfigurimit. I pari zgjidhet me një numër versioni. I dyti zgjidhet duke krahasuar dy lista.

Mungesë lokale e aftësisë

Ndërtimet e vjetra të komunitetit janë më të vjetra se vlerat e paracaktuara moderne, dhe një aplikacion desktop mund të sjellë motorin e vet, i ndryshëm nga paketa e rreshtit të komandës e instaluar pranë. Kryeni kontrollet në skedarin ekzekutues që e nisi vërtet lidhjen, pastaj zgjidhni një ndërtim të mbështetur në vend që t’i mësoni një programi të vjetër një algoritëm të ri.

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

Nëse AES-256-GCM nuk shfaqet në atë listë, asnjë rresht profili nuk e shton. Zgjidhja është një klient më i ri ose një ndërtim tjetër, dhe kufizimet e palës më të vjetër bëhen një çështje e veçantë projekti.

Tek klientët e bazuar në OpenVPN 3, motori dhe direktivat e pranuara ndryshojnë nga linja e komunitetit 2.x, kështu që i njëjti tekst profili mund të dështojë për arsye që nuk kanë lidhje me listën e shifrave.

Mungesë në negocim

Kur të dyja palët renditin algoritmin, pyetja që mbetet është cila listë ofron secila anë. OpenVPN i komunitetit e riemërtoi direktivën e negocimit: ncp-ciphers në 2.4 u bë data-ciphers në 2.5, dhe në 2.6 rreshti i vjetër cipher shërben kryesisht për përputhshmëri dhe kthim pas, jo për të përcaktuar grupin e negocuar.

Prandaj ndryshimi i vetëm një rreshti të vjetër cipher mund ta lërë listën e negocimit të paprekur. Rreshti i vjetër ka ende rëndësi për kthimin pas, dhe kjo është punë e veçantë. Përzierja e të dyjave prodhon ndryshime që nuk ndryshojnë asgjë të dukshme.

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

Krahasoni listat e të dy skajeve dhe mesazhin e refuzimit të serverit. Nëse prerja është bosh, rreshtoni listat me qëllim në vend që të kopjoni një vlerë nga një artikull i shkruar për një version tjetër. Një listë shumë e gjerë dobëson në heshtje çdo lidhje. Një listë shumë e ngushtë përjashton palën që donit të mbanit.

Mbani përputhshmërinë të qartë

Kthimi pas për një palë të vjetër është një vendim me kosto: gjithë vendosja pranon një opsion më të dobët që një pajisje të mund të lidhet. Shkruajeni si të tillë dhe kufizojeni te pala që ka nevojë.

Dy kushte vendosin rezultatin. Nëse gabimi është lokal, zëvendësoni ndërtimin. Nëse gabimi është i negocimit, rreshtoni listat në të dy skajet dhe shënoni cilat versione mbështesni.

Më pas raportoni gabimin e saktë me daljen e versionit dhe aftësive të bashkangjitur. Ai çift ndan një algoritëm që mungon nga një mospajtim dhe ndalon raundin tjetër të ndryshimeve spekulative para se të fillojë.

Artikuj të ngjashëm