ConnMan OpenConnect குக்கி காலாவதியாதல், சான்றிதழ் சிக்கல் அல்ல
பதிவில் இரண்டு தோல்விகள் ஒரே மாதிரி தெரிகின்றன. பின் செய்யப்பட்ட விரல்ரேகையை அமர்வு குக்கியுடன் ஒப்பிடுங்கள், காலாவதியான புலத்தைப் புதுப்பிக்கவும், பின்னர் டீமனை மீண்டும் தொடங்கவும்.
ConnMan ஒரு பிற்பகல் வேலை செய்து பின்னர் மறுக்கிறது, மேலும் இதழின் வரி சான்றிதழ் சரிபார்ப்பைக் குறிப்பிடுகிறது. அந்த வரி மக்களை ஒருபோதும் உடைந்திராத CA தொகுப்புகளுக்கு அனுப்புகிறது. இரண்டு வெவ்வேறு தோல்விகள் கிட்டத்தட்ட ஒரே வடிவ தோல்வியை உருவாக்குகின்றன: அமர்வு குக்கி காலாவதியாகிறது, அல்லது சேவையகத்தின் சான்றிதழ் உண்மையில் மாறிவிட்டது. அவற்றை ஏறக்குறைய ஒரு நிமிடத்தில் பிரிக்கலாம், மேலும் அவற்றில் ஒன்று மட்டுமே விரல்ரேகையுடன் தொடர்புடையது.
இரண்டு தோல்விகள், ஒரு குழப்பமான பதிவு வரி
அவை இரண்டு கவனிப்புகளால் பிரிகின்றன, எதற்கும் இரண்டாவது வாசிப்பு தேவையில்லை. முதலாவது தோல்வி எப்போது தொடங்கியது என்பது: காலாவதியான குக்கி மணிநேரம் அல்லது நாட்கள் வேலைக்குப் பிறகு வருகிறது, மேலும் மாற்றப்பட்ட சான்றிதழ் நுழைவாயில் மாற்றத்திற்குப் பின் உடனே வருகிறது.
| Signal | Expired cookie | Changed certificate |
|---|---|---|
| When it started | after hours or days of working | right after a gateway change |
| Fingerprint from a fresh authenticate | unchanged | different value |
| Usual log tail | HTTP CONNECT 401 / unauthorized | signer not found / verify failed |
| Repair | replace the cookie, restart | re-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 முறையை இயக்கி, குக்கி வரியை மட்டும் மீண்டும் எழுதுகிறது. சான்றுகளை ஸ்கிரிப்ட்டுக்கு வெளியே வைத்து அதை இயக்கும் கணக்கிற்கு மட்டும் படிக்கக்கூடியதாக ஆக்குங்கள், மீண்டும் எழுதுவதை அணுவாக்குங்கள், தோல்வியடைந்த ஓட்டம் பாதி எழுதப்பட்ட கோப்பை விட்டுச் செல்லாதிருக்க.
ஒவ்வொரு சில மணிநேரத்திற்கும் புதுப்பித்தல் தேவைப்பட்டால், இடைவெளியை எழுதி வையுங்கள். அது நுழைவாயிலின் அமர்வுக் கொள்கையின் பண்பு, மேலும் புதுப்பித்தலை தானியங்கியாக்கலாமா அல்லது நீண்ட அமர்வைக் கேட்கலாமா என்பதை அது தீர்மானிக்கிறது.