లాగ్లో P_CONTROL_HARD_RESET_CLIENT_V2: ఇది లోపమా?
hard-reset కోడ్ ఒక సెషన్ను తెరుస్తుంది, అది లోపం కాదు. మిమ్మల్ని నిజంగా ఆపిన సర్టిఫికేట్, ఆధారాలు లేదా మార్గనిర్దేశన వైఫల్యాన్ని కనుగొనడానికి చదవండి.
ఈ పంక్తి ప్రతి కొన్ని సెకన్లకు పునరావృతమవుతుంది మరియు అన్నింటికీ కారణంగా కనిపిస్తుంది: control hard reset అనే ప్యాకెట్, ఎక్కడికీ చేరని క్లయింట్ నుండి వస్తుంది. ఇది లోపం కాదు. ఇది కొత్త సెషన్ మొదటి సందేశం, పునరావృత్తి ముందుకు మరేదో విఫలమవుతున్న సూచన. లేబుల్ ఏమి చెబుతుంది మరియు కనెక్షన్ ఆ తర్వాత ఏమి చేసింది అనేది వేరు చేయడమే మొత్తం నిర్ధారణ.
కోడ్ ప్రోటోకాల్లో ఒక స్థానాన్ని సూచిస్తుంది
OpenVPN ఒకే సాకెట్పై అనేక రకాల ప్యాకెట్లను మల్టిప్లెక్స్ చేస్తుంది, కోడ్ స్వీకర్తకు ఏ రకం ఉందో చెబుతుంది. hard-reset ప్యాకెట్లు సెషన్ తెరుస్తాయి, నియంత్రణ ప్యాకెట్లు హ్యాండ్షేక్ పదార్థాన్ని మోస్తాయి, అంగీకారాలు స్వీకరణను నిర్ధారిస్తాయి, డేటా ప్యాకెట్లు టన్నెల్ భారాన్ని మోస్తాయి. మొదటి బైట్ చదవడం ఆ మార్పిడిలో ప్యాకెట్ ఎక్కడ ఉందో చూపిస్తుంది, మరియు మూల కోడ్లోని ప్యాకెట్ నిర్వచనాలు ప్రతి కుటుంబాన్ని స్పష్టంగా పేర్కొంటాయి.
అది చెప్పేది అంతే. ప్రారంభ క్లయింట్ రీసెట్గా గుర్తించిన ప్యాకెట్, ప్యాకెట్ మీ పరిశీలన బిందువుకు చేరిందని మరియు జోడీ సెషన్ ప్రారంభించాలని కోరుతోందని రుజువు చేస్తుంది. క్లయింట్ మీ సర్టిఫికేట్ను నమ్మింది, దాని ఆధారాలు ఆమోదించబడ్డాయి, లేదా డేటా ఛానెల్ ఎప్పుడైనా ఉపయోగకరమైంది అని రుజువు చేయదు.
V2 ప్రత్యయం ఆ ప్యాకెట్ కుటుంబానికి ప్రోటోకాల్ తరం గుర్తు, ఉత్పత్తి సంస్కరణ కాదు మరియు మీరు ఇన్స్టాల్ చేసే సెట్టింగ్ కూడా కాదు. పేరులో టన్నెల్ రీసెట్ చేయడం, సేవను పునఃప్రారంభించడం లేదా కాష్ను ఖాళీ చేయడం గురించి ఏమీ లేదు.
ఆ క్షణంలో క్లయింట్ నిజంగా ఏమి చేస్తోంది
క్లయింట్ ఒక సెషన్ గుర్తింపును తెరుస్తుంది, దానికి రెండు వైపులా తదుపరి నియంత్రణ ట్రాఫిక్ను జోడిస్తాయి. నియంత్రణ-ఛానెల్ రక్షణ కాన్ఫిగర్ చేయబడితే ఆ మొదటి ప్యాకెట్ ఇప్పటికే HMACను మోస్తుంది, మిగిలిన మార్పిడిపై శ్రమ పెట్టాలా అని నిర్ణయించడానికి అది స్వీకర్తను అనుమతిస్తుంది. దాన్ని ధృవీకరించలేని స్వీకర్త ప్యాకెట్ను నిశ్శబ్దంగా పడేస్తాడు, అందుకే తప్పు పంచిన కీ శూన్యంలో మాట్లాడుతున్న క్లయింట్లా కనిపిస్తుంది.
వినియోగదారుకు కనిపించేది ఇంకా ఏమీ జరగలేదు. ఏ సర్టిఫికేట్ ధృవీకరించబడలేదు, ఏ వినియోగదారు పేరు అందించబడలేదు, ఏ టన్నెల్ చిరునామా కేటాయించబడలేదు. రీసెట్ హ్యాండ్షేక్కు పీఠిక, కాబట్టి ఈ క్షణంలో కనెక్షన్ గురించి ఏ నిర్ణయమైనా అకాలమే.
నిష్క్రియ పునర్కనెక్షన్ లూప్లో ఆసక్తికరమైన వివరం విరామం. పురోగతి లేకుండా స్థిర చక్రంలో మళ్లీ ప్రయత్నించే క్లయింట్ సాధారణంగా ముందుకు వెళ్లే ముందే తిరస్కరించబడుతుంది, కారణం ప్యాకెట్ పేరులో కాదు, జోడీ లాగ్లో ఉంది.
రీసెట్ తర్వాత అసలు వైఫల్యం ఎక్కడ దాక్కుంది
రెండు లాగ్లను పక్కపక్కనే చదవండి మరియు రీసెట్ కాని మొదటి సంఘటనను కనుగొనండి. క్లయింట్లో సర్టిఫికేట్ ధృవీకరణ వైఫల్యం నిర్దిష్ట కారణంతో నివేదించబడుతుంది: గడువు ముగిసిన సర్టిఫికేట్, పేరు పొందిక లేకపోవడం లేదా తెలియని జారీదారు. సర్వర్లో ఆధారాల తిరస్కరణ దాని స్వంత కారణంతో ప్రామాణీకరణ వైఫల్యంగా నివేదించబడుతుంది. రెండూ సర్వర్ కొత్త ప్రయత్నాలపై చూపే పునరావృత దృష్టికంటే చాలా నిర్దిష్టమైనవి.
ప్రతి లాగ్ను విడిగా చదవడం కాకుండా ఒక ప్రయత్నాన్ని సమయ ముద్రతో సరిపోల్చండి, ఎందుకంటే అదే వైఫల్యం రెండు చోట్లా వేరే పదాలతో, వేరే తీవ్రతతో కనిపిస్తుంది. లొంగిపోయే జోడీ సాధారణంగా కారణం చెబుతుంది.
ఏ వైపు తిరస్కరణను నివేదించకపోయినా మార్పిడి ఇంకా ఆగిపోయి ఉంటే, పరిమితి విశ్వాసం కాదు, చేరుకోగల సామర్థ్యం. తిరిగి వెళ్లే దిశను పడేసే ఫైర్వాల్, మ్యాపింగ్ గడువు ముగిసే నెట్వర్క్ చిరునామా అనువాద పరికరం, లేదా పెద్ద హ్యాండ్షేక్ ప్యాకెట్లను చంపే MTU సమస్య — అన్నీ ఎటువంటి ప్రామాణీకరణ లోపం లేకుండా ఆగిన మార్పిడిని సృష్టిస్తాయి.
grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log
ఆ అన్వేషణ తనంతట తానే నిర్ధారణ కాదు, కానీ ఒక్క అడుగులో మిమ్మల్ని ప్రోటోకాల్ పదకోశం నుండి నిజమైన వైఫల్య తరగతికి తరలిస్తుంది.
ధృవీకరణను తీసేయడం ఎందుకు తప్పు స్పందన
రీసెట్ కనిపిస్తూనే ఉంటే, అత్యంత వేగంగా కనిపించే పరిష్కారం సర్టిఫికేట్ ధృవీకరణను నిలిపివేయడం లేదా ఏదైనా కనెక్ట్ అవ్వడానికి నియంత్రణ-ఛానెల్ రక్షణను వదిలేయడం. అది నిర్ధారించగల వైఫల్యాన్ని నిర్ధారించలేని దానితో మారుస్తుంది, మరియు తిరస్కరించడానికి నిర్మించిన జోడీలను అంగీకరించే స్థితిలో అమరికను వదిలేస్తుంది.
బదులుగా నిజంగా విఫలమైన పరిమితిని మార్చండి. విశ్వాస సమస్య సర్టిఫికేట్ అధికార సంస్థకు మరియు దానిని సూచించే ప్రొఫైల్కు చెందుతుంది. సమయ సమస్య గడియారానికి చెందుతుంది. ఆధారాల సమస్య వాటిని తిరస్కరించిన ప్రామాణీకరణ బ్యాకెండ్కు చెందుతుంది, మరియు చేరుకోలేని జోడీ రెండు హోస్ట్ల మధ్య మార్గానికి చెందుతుంది.
మద్దతు సంభాషణలో కోడ్ ఒక విషయానికి ఉపయోగపడుతుంది: జోడీ ప్రయత్నించేంత దూరం వెళ్లిందని చెబుతుంది. ఆ తర్వాత ఏమి జరిగిందో అదే మీరు తెలుసుకోవాల్సినది, మరియు మొదటి నిర్దిష్ట తిరస్కరణను నమోదు చేసే లాగ్లో అది రాయబడింది. అక్కడి నుండి ప్రారంభించండి, అప్పుడు రీసెట్ పంక్తి కారణంలా కనిపించడం ఆపి సమయ ముద్రలా కనిపించడం ప్రారంభిస్తుంది.