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 మోడ్ నడిపి, కుకీ లైన్ను మాత్రమే తిరిగి రాస్తుంది. ఆధారాలను స్క్రిప్ట్ వెలుపల ఉంచండి మరియు దాన్ని నడిపే ఖాతాకు మాత్రమే చదవగలిగేలా చేయండి, తిరిగి రాయడాన్ని అణువుగా చేయండి, విఫలమైన రన్ సగం రాసిన ఫైల్ను వదిలిపెట్టకుండా.
ప్రతి కొన్ని గంటలకు రిఫ్రెష్ అవసరమైతే, విరామాన్ని రాసి పెట్టుకోండి. అది గేట్వే సెషన్ విధానం యొక్క లక్షణం, మరియు రిఫ్రెష్ను ఆటోమేట్ చేయాలా లేదా పొడవైన సెషన్ అడగాలా అని అది నిర్ణయిస్తుంది.