AES-256-GCM મળ્યું નહીં: ક્લાયન્ટની ક્ષમતા કે વાટાઘાટ?
OpenVPNની બે ભૂલો સરખી દેખાય છે: અલ્ગોરિધમ વગરનું બિલ્ડ અને સામાન્ય સાઇફર વગરના પીઅર. પ્રોફાઇલ બદલતા પહેલાં --show-ciphers અને data-ciphers વાંચો.
બીજે કામ કરતી OpenVPN પ્રોફાઇલ જણાવે છે કે AES-256-GCM મળતું નથી, અથવા પીઅર પાસે સામાન્ય સાઇફર નથી, અને પહેલી વૃત્તિ પ્રોફાઇલ સંપાદિત કરવાની હોય છે. એ બે સંદેશા જુદી જુદી નિષ્ફળતા વર્ણવે છે. એક કહે છે કે સ્થાનિક પ્રોગ્રામમાં એવું અલ્ગોરિધમ નથી; બીજો કહે છે કે બંને બાજુ અલ્ગોરિધમ છે પણ સામાન્ય પસંદ નથી. કઈ છે તે જાણ્યા પહેલાં પ્રોફાઇલ સંપાદન બંનેમાંથી એકેય સુધારતું નથી.
ચોક્કસ ભૂલનો લખાણ અને તેને બનાવનાર પ્રોગ્રામ વાંચો.
તમારી પાસે કઈ ભૂલ છે તે નક્કી કરો
ન મળતા સાઇફર વિશેનો સંદેશ સ્થાનિક મશીન પર કોઈ પેકેટ મોકલાય તે પહેલાં વિકલ્પ વિશ્લેષણમાંથી આવે છે. એટલે કે તમારી સામેની એક્ઝિક્યુટેબલ ફાઇલ કે તે જે લાઇબ્રેરી સાથે જોડાયેલી છે તે એ અલ્ગોરિધમ આપતી નથી. સામાન્ય સાઇફર ન હોવાનો સંદેશ પછી, વાટાઘાટ દરમિયાન આવે છે, અને એમ કહે છે કે બંને પક્ષ સાઇફરને સમર્થન આપે છે પણ એક પર સહમત થઈ શકતા નથી.
ફરક મહત્વનો છે કારણ કે એક સોફ્ટવેર આવૃત્તિની સમસ્યા છે અને બીજી ગોઠવણીની. પહેલી આવૃત્તિ નંબરથી નક્કી થાય છે. બીજી બે યાદી સરખાવીને નક્કી થાય છે.
સ્થાનિક ક્ષમતાની ખામી
જૂનાં સમુદાય બિલ્ડ આધુનિક ડિફોલ્ટ પહેલાંનાં છે, અને ડેસ્કટોપ એપ્લિકેશન પોતાનું એન્જિન સાથે લાવી શકે છે જે બાજુમાં ઇન્સ્ટોલ થયેલા કમાન્ડ-લાઇન પેકેજથી અલગ હોય છે. જે એક્ઝિક્યુટેબલ ખરેખર કનેક્શન શરૂ કરે તેના પર જ તપાસ કરો, પછી જૂના પ્રોગ્રામને નવું અલ્ગોરિધમ શીખવવાને બદલે સમર્થિત બિલ્ડ પસંદ કરો.
openvpn --version openvpn --show-ciphers | grep -i gcm openvpn --show-tls | head -5
જો એ યાદીમાં AES-256-GCM ન હોય, તો કોઈ પ્રોફાઇલ લાઇન તેને ઉમેરશે નહીં. ઉકેલ નવો ક્લાયન્ટ કે બીજું બિલ્ડ છે, અને જૂના પીઅરની મર્યાદાઓ અલગ ડિઝાઇન પ્રશ્ન બની જાય છે.
OpenVPN 3 આધારિત ક્લાયન્ટમાં એન્જિન અને સ્વીકારાયેલી સૂચનાઓ સમુદાયની 2.x લાઇનથી અલગ છે, તેથી એ જ પ્રોફાઇલ લખાણ સાઇફર યાદી સાથે કોઈ સંબંધ ન હોય એવા કારણોસર નિષ્ફળ થઈ શકે છે.
વાટાઘાટની ખામી
જ્યારે બંને પીઅર અલ્ગોરિધમની યાદી આપે છે, ત્યારે બાકી પ્રશ્ન એ છે કે કઈ બાજુ કઈ યાદી આપે છે. સમુદાયના OpenVPNએ વાટાઘાટની સૂચનાનું નામ બદલ્યું: 2.4માં ncp-ciphers 2.5માં data-ciphers બન્યું, અને 2.6માં જૂની cipher લાઇન મોટે ભાગે સુસંગતતા અને ફોલબેક માટે કામ કરે છે, વાટાઘાટ કરેલો સમૂહ નક્કી કરવા માટે નહીં.
તેથી ફક્ત જૂની cipher લાઇન બદલવાથી વાટાઘાટની યાદી અસ્પૃશ્ય રહી શકે છે. જૂની લાઇન ફોલબેક માટે હજી મહત્વની છે, અને એ અલગ કામ છે. બંનેને ભેગા કરવાથી એવાં સંપાદન થાય છે જે દેખીતું કંઈ બદલતાં નથી.
openvpn --version | head -2 grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn
બંને છેડાની યાદીઓ અને સર્વરનો અસ્વીકાર સંદેશ સરખાવો. જો છેદ ખાલી હોય, તો બીજી આવૃત્તિ માટે લખાયેલી પોસ્ટમાંથી મૂલ્ય નકલ કરવાને બદલે યાદીઓ જાણી જોઈને મેળવો. વધુ પડતી ઉદાર યાદી દરેક કનેક્શનને શાંતિથી નબળું બનાવે છે. વધુ પડતી સાંકડી યાદી તમે રાખવા માંગતા પીઅરને બહાર કાઢે છે.
સુસંગતતા સ્પષ્ટ રાખો
એક જૂના પીઅર માટે ફોલબેક એ ખર્ચ સાથેનો નિર્ણય છે: એક ઉપકરણ જોડાઈ શકે તે માટે આખું ડિપ્લોયમેન્ટ નબળો વિકલ્પ સ્વીકારે છે. એમ જ લખી રાખો, અને જે પીઅરને જરૂર હોય તેના સુધી મર્યાદિત રાખો.
બે શરતો પરિણામ નક્કી કરે છે. જો ભૂલ સ્થાનિક હોય, તો બિલ્ડ બદલો. જો ભૂલ વાટાઘાટની હોય, તો બંને છેડે યાદીઓ મેળવો અને કઈ આવૃત્તિઓને સમર્થન આપો છો તે લખો.
પછી આવૃત્તિ અને ક્ષમતાનું આઉટપુટ જોડીને ચોક્કસ ભૂલની જાણ કરો. એ જોડી ગુમ થયેલા અલ્ગોરિધમને મતભેદથી અલગ પાડે છે, અને આગળનો અનુમાનિત સંપાદનનો રાઉન્ડ શરૂ થાય તે પહેલાં અટકાવે છે.