පණිවිඩය කියන්නේ OpenVPN ට අභ්‍යන්තර සහතිකයක් පූරණය කළ නොහැකි බවයි, නමුත් ඔබේ හිතේ ඇති ගොනු නාමය ඊට වෙනස් දෙයක් කියයි. ෆයිල් පද්ධතියේ ඇති දෙයට වඩා වැදගත් වන්නේ විග්‍රහකයට ලැබුණු දෙයයි, මන්ද cert උපදෙස් සම්පූර්ණයෙන්ම වෙනස් අගය වර්ග දෙකක් පිළිගනී. එකක් එය විවෘත කරන මාර්ගයයි; අනෙක වින්‍යාසය තුළින් පැමිණි PEM පෙළයි. ක්‍රියාත්මක වන සේවාදායකයට ලැබුණු හැඩය කුමක්දැයි දන්නා තෙක් සෑම නිවැරදි කිරීමක්ම අනුමානයකි.

ගබඩා හැඩ දෙකක්, එකම උපදෙසක්

cert, key සහ ca උපදෙස් එකින් එක මාර්ගයක් හෝ අභ්‍යන්තර කොටසක් පිළිගනී. අගය මාර්ගයක් වූ විට, OpenVPN එම ගොනුව විවෘත කර තැටියෙන් වස්තුව කියවයි. වින්‍යාසයේ cert ටැග් මගින් සීමා කළ කොටසක් ඇත්නම්, එම උපදෙස් වෙනුවට එම ටැග් අතර ඇති අන්තර්ගතය භාවිතා කරයි, වෙනම ගොනුවක් සම්බන්ධ නොවේ.

හැඩ දෙකම අවසානයේ එකම ආකාරයේ වස්තුවක් නිපදවයි, එබැවින් ක්‍රියාකාරී ස්ථාපනයකට වෙනත් කිසිදු වෙනසක් නොමැතිව ඒවා අතර මාරු විය හැක. තමන් තුළම සේවාදායක සහතිකයක් සහ පුද්ගලික යතුරක් දරන පැතිකඩක් ස්වයංපෝෂිත වන අතර, එය වෙනත් යන්ත්‍රයකට පිටපත් කිරීම සහතික නාමාවලියද පිටපත් නොකර ක්‍රියා කරයි.

ප්‍රතිවිරුද්ධය සත්‍ය නොවේ. තමන්ගේම දත්ත ඇතුළත කාවද්දන පැතිකඩක් අසල client.crt තැබීමෙන් කිසිවක් වෙනස් නොවේ, මන්ද වින්‍යාසයේ කිසිවක් එම ගොනුවට යොමු නොවේ. පැහැදිලිවම පවතින ගොනුවක් නොසලකා හරිනු ලබන බව පෙනෙන වඩාත් පොදු හේතුව මෙයයි.

අභ්‍යන්තර කොටසක් වස්තුවක් වන්නේ කෙසේද

අභ්‍යන්තර අන්තර්ගතය වින්‍යාසයෙන් උපුටා ගෙන පෙළක් ලෙස PEM විග්‍රහකයට භාර දෙයි. එම විග්‍රහකය සාමාන්‍ය සීමා අපේක්ෂා කරයි: BEGIN පේළියක්, base64 ගෙවුමක් සහ ගැලපෙන END පේළියක්. කොටස අසාර්ථක පිටපතකින් කපා දැමුවේ නම්, බාගැනීම් පිටුවක් එය HTML තුළ ඔතා ඇත්නම්, හෝ ඉරි සාමාන්‍යකරණය කළ සංස්කාරකයක විවෘත කළේ නම්, විග්‍රහකය පවතින බව පෙනෙන අන්තර්ගතයේ අසාර්ථක වේ.

<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>

දෝෂයේ වචන සැකසුම අපහාසාත්මක වන්නේද එබැවිනි. අභ්‍යන්තර යන වචනය පූරකය බැලූ තැන විස්තර කරයි, එහි සොයාගත් දෙය නොවේ. වින්‍යාසයක නම් කළ ගොනුවක් සහ එහි කාවැද්දූ වස්තුවක්, මූලික බයිට භාවිත කළ නොහැකි විට එකම පැමිණිල්ල ඇති කළ හැක.

පූරණය කළ පැතිකඩ ඇත්තටම කුමන හැඩය භාවිතා කරන්නේදැයි පරීක්ෂා කරන්න, ඔබේ සංස්කාරකය අහම්බෙන් විවෘත කළ ගොනුව කුමක්දැයි නොව:

grep -nE '^(ca|cert|key) |^<(ca|cert|key)>' client.ovpn

මාර්ග යොමුවක් විසඳන්නේ කෙසේද

මාර්ග අගයක් විවෘත වන්නේ වින්‍යාසය අඩංගු නාමාවලියට නොව, සේවාදායකයේ කාර්ය නාමාවලියට සාපේක්ෂව ය. systemd යටතේ එම කාර්ය නාමාවලිය යනු ඒකකය නියම කරන දෙයයි, ඔබේ shell එකෙන් අන්තර්ක්‍රියාකාරී ධාවනයක් සම්පූර්ණයෙන්ම වෙනත් දෙයක් උරුම කර ගනී. එබැවින් එකම වින්‍යාස ගොනුව අතින් පරීක්ෂා කරන විට ක්‍රියා කර සේවාවක් ලෙස අසාර්ථක විය හැක.

සාපේක්ෂ මාර්ගද එම අපැහැදිලි බව උරුම කර ගනී. නිකම්ම ගොනු නාමයක් දුටු විට, ඔබේ පර්යන්තයට ගැලපෙන බව උපකල්පනය කරනවාට වඩා නිෂ්පාදනයේ ක්‍රියාවලියේ වත්මන් නාමාවලිය කුමක්දැයි අසන්න.

වෙනම ගබඩා කළ සහතිකයක් සඳහා, එහි ඉහළින් කිසිවක් නිදෝෂ කිරීමට පෙර අන්තර්ජාල රහිත විග්‍රහයක් වස්තුව තහවුරු කරයි:

openssl x509 -in client.crt -noout -subject -issuer -dates
openssl pkey -in client.key -noout -check

එම විධාන සනාථ කරන්නේ ගොනු කියවිය හැකි බවත් ව්‍යුහාත්මකව වලංගු බවත් පමණි. ඒවා සනාථ නොකරන්නේ සහකරු නිකුත් කරන්නා විශ්වාස කරන බව, සහතිකය තවමත් එහි වලංගු කාල සීමාව තුළ ඇති බව, හෝ යතුර එයට අයත් බවයි.

විග්‍රහක දෝෂයට කිය හැක්කේ කුමක්ද සහ කළ නොහැක්කේ කුමක්ද

විග්‍රහ අසාර්ථකත්වය ගැටලුව එක් ආදානයකට සහ එක් අදියරකට සීමා කරයි. එය සේවාදායකය ගබඩා හැඩ දෙකෙන් කුමක් භාවිතා කළේදැයි නොකියයි, වස්තුව පිළිගනු ලැබේවිද යන්නද නොකියයි. ඒවා වෙනම සාක්ෂි සහිත වෙනම ප්‍රශ්න වේ.

විග්‍රහය සාර්ථක වූ පසු, ඊළඟ අසාර්ථකත්වය පසු අදියරකට අයත් වේ. විශ්වාස ප්‍රතික්ෂේපය, අරමුණු නොගැලපීම හෝ යතුරු නොගැලපීම පූරකය නොව, සහකරු හෝ TLS ස්තරය වාර්තා කරයි. එම ගොනුවම නැවත නැවත ප්‍රතිස්ථාපනය කිරීමෙන් එම දෝෂය ගෙනයා නොහැක.

පරීක්ෂණය අතරතුර සංවේදී අඩක් පොදු වාර්තාවලින් පිටත තබන්න. උපදෙස් නාම, දෝෂ පෙළ සහ කොටසේ ව්‍යුහය බෙදාගන්න, යතුරු ද්‍රව්‍ය සහ හඳුනාගත හැකි ඕනෑම ගෙවුමක් ඉවත් කර. openvpn(8) අත්පොත ගොනු උපදෙස්වල හැඩ දෙකම සහ ඒවා පිටුපස ඇති කාර්ය නාමාවලි හැසිරීම ලේඛනගත කරයි.

අදාළ ලිපි