యంత్రాన్ని నిద్రలోకి పంపి, మళ్లీ మేల్కొలిపి, తర్వాత ఏదైనా కన్ఫిగరేషన్ తాకే ముందు ఈ క్రమంలో మూడు విషయాలు తనిఖీ చేయండి: tun0 ఇంకా ఉందా, అంతర్గత చిరునామాకు వెళ్లే మార్గం ఇంకా దాన్ని ఎంచుకుంటుందా, సర్వర్ ఇంకా ఈ peerను జాబితా చేస్తుందా. మార్గం వేరే చోటుకు చూపుతున్నప్పుడు నిద్ర నుండి బయటపడే పరికరం మిగిలిన శేషం, సొరంగం కాదు. మార్గం సరిగ్గా ఉన్నా ట్రాఫిక్ చనిపోతే, లోపం సొరంగం పైన ఉంది మరియు క్లయింట్ను మళ్లీ ప్రారంభించడం దాన్ని మార్చదు. ఈ మూడింటిలో మీకు ఏది ఉందో చేతితో చేసిన పరీక్ష చూపిన తర్వాతే మళ్లీ ప్రారంభాన్ని ఆటోమేట్ చేయడం అర్థవంతం.

ip -br address show tun0
ip route get 10.20.0.10
journalctl -u openvpn-client@office -b --no-pager | tail -30

ఆటోమేట్ చేసే ముందు మేల్కొలుపును తిరిగి ఉత్పత్తి చేయండి

నిద్ర పరికరాన్ని తీసివేయడం కంటే ఎక్కువసార్లు ఎన్క్రిప్ట్ చేసిన సెషన్ను ముగిస్తుంది. సొరంగాన్ని సజీవంగా ఉంచిన UDP ప్రవాహం ఆగిపోతుంది, సర్వర్ peerను వదిలేయవచ్చు, మరియు క్లయింట్ దాన్ని గుర్తించి మళ్లీ కనెక్ట్ అవుతుంది లేదా వెనుక ఏమీ లేని ఇంటర్ఫేస్ను ఉంచుకుంటుంది. ఇంటర్ఫేస్ తనిఖీ మాత్రమే చాలా తక్కువ నిరూపిస్తుంది, ఎందుకంటే పాత పరికరం పని చేస్తున్న పరికరంలాగానే కనిపిస్తుంది ప్యాకెట్లు దాని గుండా వెళ్లాల్సి వచ్చే వరకు. మార్గ శోధనను అమలు చేసి, సొరంగం ద్వారా ఒక నిజమైన అభ్యర్థన చేసి, తర్వాత మేల్కొలుపు క్షణం చుట్టూ ఉన్న జర్నల్ చదవండి.

క్లయింట్ తనంతట తానే తిరిగి వస్తే, హుక్ విశ్వసనీయతకు బదులు అదనపు ఇబ్బందిని జోడిస్తుంది. అది ఎప్పటికీ కోలుకోకపోతే, ఆటోమేషన్ నిజాయితీ పరిష్కారం.

systemd నిద్ర హుక్ నిజంగా ఎక్కడ నివసిస్తుంది

చాలా పాత మార్గదర్శకాలు /etc/pm/sleep.d అనే దానినిు సూచిస్తాయి, ఇది pm-utils స్వంతం చేసుకున్న డైరెక్టరీ మరియు systemd ఆధారిత నిద్ర దాన్ని ఎప్పుడూ సంప్రదించదు. systemd /usr/lib/systemd/system-sleep/ మరియు /etc/systemd/system-sleep/ నుండి హుక్లను చదివి, మొదట దశను, తర్వాత ఆపరేషన్ను అందిస్తుంది, కాబట్టి pre మరియు post మాత్రమే హుక్ శాఖలు విడిపోయే విలువలు. ప్యాకేజీ చేసిన ఫైల్ను సవరించడానికి బదులు స్థానిక కాపీని /etc కింద ఉంచండి, మరియు స్క్రిప్ట్ మార్పిడి మధ్యలో rootగా నడుస్తుందని గుర్తుంచుకోండి, కాబట్టి అది త్వరగా తిరిగి రావాలి.

#!/bin/sh
case "$1" in
  post)
    systemctl --no-block try-restart [email protected]
    ;;
esac
exit 0

try-restart యూనిట్ను ఇప్పటికే సక్రియంగా ఉన్నప్పుడే తాకుతుంది, కాబట్టి మీరు ఉద్దేశపూర్వకంగా ఆపేసిన సొరంగం మేల్కొలుపు అంతటా ఆఫ్గానే ఉంటుంది. --no-block క్లయింట్ చర్చలు జరిపేటప్పుడు హుక్ వేచి ఉండకుండా నిరోధిస్తుంది, ఇది నెట్వర్క్ ఇంకా పైకి రానప్పుడు ముఖ్యం. రెండు ఫ్లాగ్లు కలిసి మొత్తం మేల్కొలుపు క్రమాన్ని పట్టుకోవడానికి బదులు నిశ్శబ్దంగా విఫలమయ్యే హుక్ను సూచిస్తాయి. యూనిట్ ఇప్పటికే ఆపబడి ఉంటే ఏమీ జరగదు, అది అక్కడ మీరు కోరుకునే ఫలితమే.

సేవను పునరుద్ధరించి, tun0ను ఒంటరిగా వదిలేయండి

tun0 భాగాన్నిు చేతితో కిందకు దించడం డీమన్ను ఇక తన సొంతం కాని ఇంటర్ఫేస్పై పర్యవేక్షించేలా వదిలేస్తుంది, మరియు తదుపరి స్థితి మార్పు గందరగోళపు లోపాలను సృష్టిస్తుంది. ఇంటర్ఫేస్కు బదులు సేవ లేదా దాని కనెక్షన్ ప్రొఫైల్ను లక్ష్యంగా చేసుకోండి; ముందుగా యూనిట్ ఖచ్చితమైన పేరును తనిఖీ చేయండి, ఎందుకంటే పంపిణీ ప్యాకేజీలు, OpenVPN 3 మరియు NetworkManager అన్నీ వేర్వేరు వాటిని ఎంచుకుంటాయి. NetworkManager ప్రొఫైల్ ఆ కనెక్షన్ రీసైకిల్ చేయబడినప్పుడు తిరిగి వస్తుంది, కాబట్టి systemd యూనిట్ అక్కడ లక్ష్యం కాదు. యంత్రాంగం ఏదైనా, అది మీరు చేతితో ధృవీకరించిన అదే చర్య ఉండాలి.

మళ్లీ ప్రారంభించడం క్లయింట్ కనెక్ట్ అయినప్పుడు నెట్టిన మార్గాలను తిరిగి ఇన్స్టాల్ చేస్తుంది. చాలా మేల్కొలుపులకు అది కావాలి. మీరు స్వంత మార్గాలను జోడించిన యంత్రానికి అవసరం లేదు, కాబట్టి పునరుద్ధరణ వాటిని తిరిగి పెట్టిందని ఊహించడానికి బదులు వాటిని మళ్లీ తనిఖీ చేయండి, మరియు తదుపరి మేల్కొలుపు వాటిని కనుగొనగలిగే చోట రాసి ఉంచండి.

మీరు నియంత్రించలేని సమయాన్ని నిర్వహించండి

వైర్లెస్ అసోసియేషన్ మరియు DHCP తరచుగా హుక్ నడిచిన తర్వాత పూర్తవుతాయి, కాబట్టి సర్వర్కు మార్గం ఇంకా లేనప్పుడు మళ్లీ ప్రారంభించడం విఫలం కావచ్చు. ఆ చిరునామా కోసం కొద్దిసేపు వేచి ఉండి, మరోసారి ప్రయత్నించి, ఫలితాన్ని లాగ్ చేయండి.

పేరు తీర్మానం ప్రత్యేక పోటీ, ఎందుకంటే డెస్క్టాప్ నెట్వర్క్ స్టాక్ సొరంగం ఇప్పటికే పైకి వచ్చిన తర్వాత DNSను పునరుద్ధరించగలదు. పని చేసే మార్గం నుండి ఊహించడానికి బదులు resolvectl query internal.example ఉపయోగించి తో శోధనలను విడిగా పరీక్షించండి. సరిగ్గా మార్గనిర్దేశం చేసి ఏమీ పరిష్కరించని సొరంగం DNS సమస్య, హుక్ సమస్య కాదు.

జర్నల్లో దశ, యూనిట్ పేరు మరియు ఫలితాన్ని రాసి హుక్ నిర్ణయాన్ని కనిపించేలా ఉంచండి. మీరు ఏ మేల్కొలుపు పరీక్షను నడిపారో యంత్రం నోట్స్లో రాయండి, తద్వారా పని చేసే పునరుద్ధరణను అదృష్టవంతమైన దాని నుండి వేరు చేయవచ్చు. సేవను తిరిగి తెచ్చే అతి తక్కువ అంతరాయం కలిగించే చర్యను ఎంచుకోండి, మరియు తనంతట తానే కోలుకునే క్లయింట్ను అలా చేయనివ్వండి. పూర్తి పునఃప్రారంభం నడుస్తున్న సెషన్లను పడేస్తుంది, ఇది రోజుకు పలుమార్లు మేల్కొనే ల్యాప్టాప్లో నిజమైన ఖర్చు.

సంబంధిత వ్యాసాలు