కనెక్షన్ ఎంత సేపు నడుస్తోందో ఒక సంఖ్యను డాష్బోర్డ్ అడుగుతుంది, మరియు OpenVPN దాన్ని ఇవ్వదు। తన సొరంగం ఎప్పుడు పైకి వచ్చిందో క్లయింట్కు తెలుసు, కానీ సెషన్ స్థితి పోయే ముందు ఎవరైనా ఆ క్షణాన్ని నమోదు చేస్తే మాత్రమే। మద్దతు ఉన్న స్థలం up హుక్, మరియు నిల్వ చేయదగిన విలువ ఫార్మాట్ చేసిన స్ట్రింగ్ కాదు, ముడి epoch సెకను। తర్వాత అంతా గణితం, సంఖ్య నిజాయితీగా ఉంటుందో లేదో నిర్ణయించే కొన్ని క్రమ నియమాలతో పాటు।

హుక్లు నిజంగా నడుస్తాయని నిర్ధారించుకోండి

దాని చుట్టూ ఏదైనా రూపకల్పన చేయక ముందు హుక్ మండుతుందని నిరూపించండి। కనిష్ఠ క్లయింట్ కాన్ఫిగరేషన్కు script-security 2 మరియు స్పష్టమైన మార్గాలు up మరియు down అవసరం; భద్రతా లైన్ లేకుండా OpenVPN స్క్రిప్ట్ను అమలు చేయడానికి నిరాకరిస్తుంది మరియు అది స్పష్టంగా చెబుతుంది। అదే సమయంలో up-restart మరియు down-pre జోడించండి, అప్పుడు పునఃప్రారంభం మరియు తొలగింపు మార్గాలు ఊహించదగిన విధంగా ప్రవర్తిస్తాయి।

హుక్ మొదటి సంస్కరణ తన వాతావరణాన్ని ఫైల్కు జోడించి మరేమీ చేయకుండా చేయండి। ఇది మీ బిల్డ్ నిజంగా ఎగుమతి చేసే వేరియబుల్ పేర్లను చెబుతుంది, ఉదాహరణకు dev మరియు script_type, మరో సంస్కరణ నుండి గుర్తున్న పేర్లకు బదులుగా। ఒక కనెక్షన్ మరియు ఒక డిస్కనెక్ట్ నడపండి, తర్వాత ఫైల్ను చదవండి। ఏమీ కనిపించకపోతే ఇక్కడ ఆపండి, ఎందుకంటే ఎప్పుడూ నడవని హుక్ పైన ఉన్న టైమ్స్టాంప్ రూపకల్పన వారాల పాటు పర్యవేక్షణ వైఫల్యంగా కనిపిస్తుంది।

హుక్ ఏ వినియోగదారుగా నడుస్తుందో తనిఖీ చేయండి। user మరియు group సెట్ చేస్తే OpenVPN స్క్రిప్ట్లను నడిపే ముందు అధికారాలను వదిలేస్తుంది, కాబట్టి root రాయగల డైరెక్టరీ హుక్కు మూసి ఉండవచ్చు। మార్గాన్ని మీ షెల్ దృష్టికోణం నుండి కాకుండా సేవ దృష్టికోణం నుండి ఎంచుకోండి।

ఒక epoch విలువను నమోదు చేసి దాన్ని ఉద్దేశపూర్వకంగా తొలగించండి

up హుక్కు ఒక లైన్ అవసరం, date +%s > /run/openvpn-client.started, ప్రతి ఉదాహరణకు మార్గం సర్దుబాటు చేసి। epoch విలువ తర్వాత భాష, సమయ మండలం మరియు ఫార్మాట్ ప్రశ్నలను నివారిస్తుంది, మరియు ఇది పర్యవేక్షణ ఏజెంట్ తన సొంత గడియారంతో పోల్చగల అదే సంఖ్య।

తొలగించడం రాయడంతో సమానంగా ముఖ్యం। down హుక్ ఫైల్ను ఖాళీ చేయాలి లేదా తీసివేయాలి, మరియు down-pre దాన్ని ఇంటర్ఫేస్ మూసివేయక ముందే చేస్తుంది, ఇది ఇప్పటికే పోయిన సొరంగాన్ని ఫైల్ వివరించే విండోను తొలగిస్తుంది। up-restart తర్వాత అంతర్గత పునఃప్రారంభంలో స్టాంప్ను రిఫ్రెష్ చేస్తుంది, అసలు విలువను దాని స్థానంలో వదిలేయడం బదులు। ఆ జంట లేకుండా ping గడువు ముగిసిన తర్వాత పునఃప్రారంభం సొరంగం తిరిగి ఏర్పడుతున్నప్పుడు పెరుగుతూనే ఉండే సంఖ్యను ఇస్తుంది।

సరైన ఆయుష్షు ఉన్న స్థలాన్ని ఎంచుకోండి। /run కింద ఉన్న ఫైల్ రీబూట్లో అదృశ్యమవుతుంది, ఇది వాస్తవికతతో సరిపోతుంది, అయితే /tmp కింద ఉన్న ఫైల్ ఊహించని విధంగా శుభ్రం చేయబడవచ్చు మరియు కాన్ఫిగరేషన్ డైరెక్టరీలోని ఫైల్ తప్పుదారి పట్టించే విధంగా మిగిలిపోతుంది। సేవా వినియోగదారు మరియు పర్యవేక్షణ పాఠకుడు మాత్రమే చదవగలిగేలా అనుమతులు సెట్ చేయండి।

లాగ్ లైన్లను నమ్మకుండా పని సమయాన్ని లెక్కించండి

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

లాగ్ టైమ్స్టాంప్లను పార్స్ చేయడం ఆకర్షణీయమైన చిన్న మార్గం, మరియు అది మూడు విధాలుగా విఫలమవుతుంది: ఫార్మాట్ సెట్ చేసిన ఏ ఎంపికలనైనా అనుసరిస్తుంది, భ్రమణం చరిత్రను తొలగిస్తుంది, మరియు పునఃకనెక్షన్లు ఒక నిరంతర సొరంగం బదులు వేర్వేరు సెషన్లుగా కనిపిస్తాయి। హుక్ సంఘటనను ఒకసారి, అది జరిగిన క్షణంలోనే నమోదు చేస్తుంది।

తనిఖీ మరో హోస్ట్లో నడిచినప్పుడు, వ్యవధి బదులు టైమ్స్టాంప్ను పంపండి, పాఠకుడు తన సొంత గడియారాన్ని వర్తింపజేస్తాడు। అప్పుడు చిన్న ప్రతికూల ఫలితం విరిగిన హుక్గా కాకుండా గడియార భేదంగా చదవబడుతుంది।

పునఃకనెక్షన్లు, పునఃప్రారంభాలు మరియు అనేక ఉదాహరణలను కవర్ చేయండి

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

పునఃకనెక్షన్ ప్రవర్తనకు దాని స్వంత పరీక్ష అర్హం, ఎందుకంటే అక్కడే నమ్మదగిన రూపకల్పన నిశ్శబ్దంగా తప్పుదాన్ని నివేదిస్తుంది। భాగస్వామిని పడేయడం ద్వారా లేదా ప్రక్రియకు సిగ్నల్ పంపడం ద్వారా పునఃప్రారంభాన్ని బలవంతం చేసి, తర్వాత ఇంటర్ఫేస్ స్థితిని ఫైల్తో పోల్చండి। సొరంగం తిరిగి వచ్చిన క్షణంలో టైమ్స్టాంప్ ముందుకు కదలాలి।

సర్వర్ వైపు, స్థితి ఫైల్ ప్రతి క్లయింట్కు connected-since విలువను కలిగి ఉంటుంది, ఇది మరో ప్రశ్నకు సమాధానమిస్తుంది: సర్వర్ ఆ భాగస్వామిని చివరిగా ఎప్పుడు చూసింది। దాన్ని భర్తీగా కాకుండా క్రాస్-చెక్కు ఉపయోగించండి, ఎందుకంటే అది వివరించే సెషన్తో పాటు అదృశ్యమవుతుంది। రెండు కొలతలు ఏవీ సొరంగం వెనుక ఉన్న అప్లికేషన్ ఆరోగ్యం గురించి ఏమీ చెప్పవు।

క్రమ లోపాలను పట్టుకునే మూడు తనిఖీలను నడపండి

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

ప్రతి అరవై సెకన్లకు ఒక పోల్ హెచ్చరికలను కవర్ చేస్తుంది, మరియు ఏ హుక్ ఆ పోలర్ సజీవంగా ఉందని ఆధారపడకూడదు। ఆ రెండు బాధ్యతలను వేరుగా ఉంచండి, ఏ వైపు మళ్లీ అమలు చేసినా సంఖ్య నమ్మదగినదిగా ఉంటుంది।

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