స్లీప్ హుక్ ఒక్కటే VPN ను తిరిగి తీసుకురాదు
సున్నాతో బయటకు వచ్చే హుక్ స్క్రిప్ట్ నడిచిందని మాత్రమే నిరూపిస్తుంది. దాన్ని నెట్వర్క్ తర్వాత ఉంచండి, సరైన గుర్తింపును ఉపయోగించండి మరియు ప్రొఫైల్ అర్హత కలిగినదో లేదో తనిఖీ చేయండి.
స్లీప్ హుక్లో తిరిగి కనెక్ట్ కమాండ్ పెట్టండి, సమస్య పరిష్కరించబడినట్లు కనిపిస్తుంది. హుక్ నెట్వర్క్ ఉనికిలోకి వచ్చిన తర్వాత నడిస్తే, క్లయింట్ గుర్తించే గుర్తింపుగా, క్లయింట్ నిజంగా అమలు చేసే మార్గం ద్వారా మాత్రమే అది పరిష్కరమవుతుంది. పునఃప్రారంభం తర్వాత చాలా వైఫల్యాలు ఆ మూడింటిలో ఒకటి, మరియు వాటిలో ఏదీ హుక్లోనే లోపంగా కనిపించదు. హుక్ ఏ విధంగానైనా విజయాన్ని తిరిగి ఇస్తుంది.
సున్నాతో బయటకు వచ్చే స్క్రిప్ట్ టన్నెల్ తిరిగి వచ్చిందా అనే దాని గురించి మీకు ఏమీ చెప్పలేదు.
హుక్ నడుస్తుంది, ఆ తర్వాత?
#!/bin/sh
case "$1" in
pre)
vpn-client disconnect
;;
post)
vpn-client connect
;;
esac
ప్రతి సంఘటన హుక్ను రెండుసార్లు పిలుస్తుంది — మార్పు ముందు మరియు తర్వాత — మరియు దానికి దశ మరియు సంఘటన పేరును ఇస్తుంది. ఇది root గా కనీస పరిసరంలో నడుస్తుంది, కాబట్టి సంపూర్ణ మార్గాలు అవసరం మరియు డెస్క్టాప్ సెషన్ వేరియబుల్ ఆశించకూడదు. రెండు కాల్స్ త్వరగా తిరిగి రావడం స్క్రిప్ట్ నడిచిందని మాత్రమే చెబుతుంది. తర్వాత ప్రొఫైల్ పైకి వచ్చిందా అనేది ప్రత్యేక పరిశీలన మరియు లాగ్లో దానికి సొంత సాక్ష్యం కావాలి.
దశ వాదనను రూపకల్పనలో భాగంగా పరిగణించండి. pre దశలో తిరిగి కనెక్ట్ ప్రయత్నం యంత్రం అన్నింటినీ కోల్పోబోతున్న సమయంలో జరుగుతుంది, అది విజయవంతం కాలేదు.
Root, కనీస పరిసరం, తప్పు వినియోగదారు
క్లయింట్ ప్రతి వినియోగదారుకు లాగిన్ టోకెన్ ఉంచుకుంటే, హుక్ను root గా నడపడం దానికి ప్రదర్శించడానికి ఏమీ మిగలదు. హుక్ నిజంగా ఉపయోగించే గుర్తింపు కింద స్థితిని తనిఖీ చేయండి, మీరు డెస్క్టాప్ టెర్మినల్ నుండి పరీక్షించిన గుర్తింపు కింద కాదు. కొన్ని బిల్డ్లు డిస్కనెక్ట్ తర్వాత ఇంటర్ఫేస్ను పట్టుకుని ఉండే డీమన్ను కూడా వదిలేస్తాయి, కాబట్టి తిరిగి కనెక్ట్ పాత స్థితిలో పడుతుంది, మరియు మొదట ప్రక్రియను శుభ్రం చేయడం అశుద్ధ షట్డౌన్ ఖర్చుతో దాన్ని పునరుద్ధరిస్తుంది. మీరు ఆనందకరమైన మార్గాన్ని మాత్రమే పరీక్షిస్తే రెండు ప్రవర్తనలు కనిపించవు.
హుక్ను సంపూర్ణ మార్గాలతో వ్రాయండి, దాన్ని root యాజమాన్యంలో మరియు అమలు చేయగలిగేలా ఉంచండి, మరియు అది ఏమి చేసిందో లాగ్ చేయండి. ఆ లాగ్ లేకుండా తదుపరి విచారణ సున్నా నుండి ప్రారంభమవుతుంది.
స్వయం కనెక్షన్ VPN మార్గం కాదు
NetworkManager రెండు యాక్టివేషన్ యంత్రాంగాలను అందిస్తుంది: ప్రొఫైల్పై స్వయం కనెక్షన్ జెండా, మరియు ప్రాథమిక ప్రొఫైల్ యాక్టివేట్ అయినప్పుడు ప్రారంభమయ్యే ద్వితీయ కనెక్షన్లు. స్థానిక పరికర రకాలు మొదటిదాన్ని అమలు చేస్తాయి; VPN ప్లగిన్లు చారిత్రకంగా రెండవదాన్ని మాత్రమే అమలు చేశాయి, కాబట్టి OpenVPN ప్రొఫైల్పై స్వయం కనెక్షన్ను టిక్ చేయడం ఎలాంటి ప్రభావం చూపకపోవచ్చు. రెండు లక్షణాలను తనిఖీ చేసి, ఆపై VPN ను Wi-Fi లేదా Ethernet ప్రొఫైల్ యొక్క ద్వితీయంగా జోడించండి.
[Unit] PartOf=NetworkManager.service Requires=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
systemd యూనిట్ నిర్వహించే WireGuard ఇంటర్ఫేస్కు హుక్ బదులు ఆ డ్రాప్-ఇన్ అవసరం, నెట్వర్క్ ఆన్లైన్ అయిన తర్వాత క్రమబద్ధీకరించబడింది.
నెట్వర్క్ కోసం వేచి ఉండండి, పరిమితితో
timer=1 while ! ping -c1 -n -w1 203.0.113.1 >/dev/null; do sleep 1; timer=$((timer+1)) [ $timer -ge 300 ] && exit 0 done nmcli connection up "work-vpn"
పునఃప్రారంభ సమయంలో Wi-Fi ఇంకా తిరిగి కనెక్ట్ అవుతుండగా టన్నెల్ అడగబడవచ్చు, ఇది ఏ స్థిర స్లీప్నైనా ఊహగా మారుస్తుంది. చేరుకోగల చిరునామా కోసం వేచి ఉండండి, తర్వాత ప్రొఫైల్ను పైకి ఎత్తండి, మరియు వేచి ఉండటాన్ని పరిమితం చేయండి, హుక్ పునఃప్రారంభ మార్గాన్ని అనిర్దిష్టంగా తెరిచి ఉంచలేకుండా. సంఖ్యా సూచిక కంటే ప్రొఫైల్ పేరుకు ప్రాధాన్యం ఇవ్వండి, సరైన ప్రొఫైల్ నెట్వర్క్ ప్రకారం మారితే, ఆరోగ్యకరమైన టన్నెల్ తన ఎంపికను ముందుగానే ఫైల్లో నమోదు చేయనివ్వండి.
పునఃప్రారంభ తుఫాన్ల నుండి కూడా రక్షించుకోండి, ప్రయత్నాలను లెక్కించి ఆపడం ద్వారా. విఫలమైన ప్రతి పరీక్షకు ప్రతిస్పందించే కాపలాదారు ఒక అంతరాయాన్ని లూప్గా మారుస్తాడు.
ఒకసారి సస్పెండ్ చేయండి, తర్వాత హుక్ యొక్క సొంత అవుట్పుట్ కోసం జర్నల్ చదవండి. క్రమాన్ని నిరూపించే ఏకైక పరీక్ష అదే.