ConnMan එක් දහවලක් වැඩ කර පසුව ප්‍රතික්ෂේප කරයි, සහ ජර්නල පේළිය සහතික සත්‍යාපනය සඳහන් කරයි. එම පේළිය මිනිසුන් කිසිදා කැඩී නොගිය CA බණ්ඩල වෙත යවයි. වෙනස් දෝෂ දෙකක් පාහේ එකම ආකාරයේ අසාර්ථකත්වයක් ඇති කරයි: සැසි කුකි කල් ඉකුත් වේ, නැතහොත් සේවාදායකයේ සහතිකය ඇත්තටම වෙනස් වී ඇත. ඒවා ආසන්න වශයෙන් විනාඩියකින් වෙන් කර හඳුනාගත හැකි අතර, ඉන් එකක් පමණක් ඇඟිලි සලකුණට අදාළ වේ.

දෝෂ දෙකක්, ව්‍යාකූල ලොග පේළියක්

ඒවා නිරීක්ෂණ දෙකකින් වෙන් වේ, සහ කිසිවකට දෙවන වර කියවීමක් අවශ්‍ය නොවේ. පළමුවැන්න අසාර්ථකත්වය ඇරඹුණේ කවදාද යන්නයි: කල් ඉකුත් වූ කුකි පැය හෝ දින ගණනක වැඩ කිරීමෙන් පසු පැමිණේ, සහ ප්‍රතිස්ථාපිත සහතිකය ගේට්වේ වෙනසකට පසු වහාම පැමිණේ.

SignalExpired cookieChanged certificate
When it startedafter hours or days of workingright after a gateway change
Fingerprint from a fresh authenticateunchangeddifferent value
Usual log tailHTTP CONNECT 401 / unauthorizedsigner not found / verify failed
Repairreplace the cookie, restartre-pin deliberately, then restart

විනාඩියක පරීක්ෂණය යනු පහත authenticate ධාවනයයි. එහි FINGERPRINT ගොනුවේ ඇති OpenConnect.ServerCert සමඟ සසඳන්න. එකම ඇඟිලි සලකුණ සහ වෙනස් COOKIE යන්නෙන් අදහස් වන්නේ කුකි පමණක් මාරු කරන්න. වෙනස් ඇඟිලි සලකුණ යන්නෙන් අදහස් වන්නේ සේවාදායකයේ සහතිකය ඇත්තටම වෙනස් වී ඇති බවයි, එබැවින් එය හිතාමතා නැවත පින් කර එය අනුමත කළේ කවුරුන්දැයි සටහන් කරන්න.

ටයිප් කරනවා වෙනුවට ද්‍රව්‍යය උත්පාදනය කරන්න

NetworkManager මෙන් නොව, ConnMan සතුව OpenConnect පැතිකඩක් සඳහා ආයාත පියවරක් නොමැත. අගයන් කලින් සකස් කළ යුතු සැපයුම් ගොනුවක් එය කියවයි, සහ ඒවා සකස් කිරීමේ සහාය දෙන ක්‍රමය OpenConnect හි authenticate මාදිලියයි.

sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
  --authenticate --user myuser vpn.example.com

ප්‍රතිදානය අගයන් හතරක් මුද්‍රණය කරයි: POST, COOKIE, HOST සහ FINGERPRINT. sha256: උපසර්ගය සහිත ඇඟිලි සලකුණ සේවාදායක පිනයයි. කුකි යනු ගේට්වේ තීරණය කරන ආයු කාලයක් සහිත සැසි කෘතියයි. ඒවා වෙනස් රහස් වර්ග ලෙස සලකන්න: ඒවා වෙනස් කාලසටහන් අනුව කල් ඉකුත් වන අතර, වෙනස් වනු ඇතැයි අපේක්ෂා කරන්නේ එකක් පමණි.

ගොනුව දෙකම දරයි, සහ ඒවා වෙනස් ලෙස වයස්ගත වේ

සැපයුම් ගොනුව /var/lib/connman-vpn/ යටතේ පවතින අතර සෑම සම්බන්ධතාවයක් සඳහාම VPN ඩීමන් එය කියවයි, ට්‍රේ යෙදුම නොවේ. සම්බන්ධතාවයේ නම ගෝලීය කොටසේ සහ ප්‍රොටෝකෝල විස්තර සපයන්නාගේ කොටසේ තබන්න.

[global]
Name = Company VPN

[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...

ද්වාරය ඇත්තටම සේවා කරන සත්කාරක නම භාවිත කරන්න. හිස් IP ලිපිනයක් සහතික පරීක්ෂාව සමත් වී එසේ වුවත් අසාර්ථක විය හැක, මන්ද උපාංගය අතථ්‍ය සත්කාරකය අනුව මාර්ගගත කර නම බලාපොරොත්තු වේ.

systemctl status connman-vpn --no-pager   # is the daemon even installed and running
sudo systemctl restart connman-vpn       # after the file edit
journalctl -u connman-vpn --since '1 hour ago'  # after the connection attempt

ජර්නලය ඇත්තටම පෙන්වන්නේ කුමක්ද

ට්‍රේ ඉඟිය ඔබට කුමන දෝෂයදැයි නොකියයි. පළමු අනතුරු ඇඟවීමේ පේළිය වෙනුවට අනුපිළිවෙල කියවන්නේ නම් ජර්නලය කියයි. පැරණි කුකියක් සාමාන්‍යයෙන් පෙන්වන්නේ TLS සාකච්ඡාව අවසන් වී පසුව HTTP ස්තරය ප්‍රතික්ෂේප කළ බවයි; එබැවින් සහතික පිළිබඳ වචන අවසර අසාර්ථකත්වයක් අසල තිබේ.

නව authenticate ධාවනයක් ගොනුවේ අගයන් සමඟ සසඳන්න. ඇඟිලි සලකුණ ගැලපේ නම් සහ කුකි පමණක් වෙනස් නම්, විශ්වාස සැකසුම් නොසලකා ඔබේ පිළිතුර ඔබට ඇත.

කල් ඉකුත් වූ ක්ෂේත්‍රය නැවුම් කරන්න

authenticate විධානය නැවත කරන්න, OpenConnect.Cookie ප්‍රතිස්ථාපනය කරන්න, සහ ඩීමන් නැවත අරඹන්න. නව ප්‍රතිදානය වෙනස් අගයක් නොපෙන්වන්නේ නම් ඇඟිලි සලකුණ එලෙසම තබන්න; එවැනි අවස්ථාවක සේවාදායකයේ සහතිකය ඇත්තටම ප්‍රතිස්ථාපනය කර ඇති අතර නැවත පින් කිරීම යනු යමෙකු සටහන් කළ යුතු තීරණයක් මිස දෝෂ පණිවිඩයකින් අලවන දෙයක් නොවේ.

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

සෑම පැය කිහිපයකටම නැවුම් කිරීම අවශ්‍ය නම්, පරතරය ලියා තබන්න. එය ගේට්වේගේ සැසි ප්‍රතිපත්තියේ ගුණාංගයක් වන අතර, නැවුම් කිරීම ස්වයංක්‍රීය කළ යුතුද නැතහොත් දිගු සැසියක් ඉල්ලා සිටිය යුතුද යන්න එය තීරණය කරයි.

අදාළ ලිපි