TLS లోపం తర్వాత OpenVPN మళ్లీ మళ్లీ ప్రయత్నిస్తూనే ఉంటుంది: దాన్ని ఎలా ఆపాలి
TLS వైఫల్యం డిఫాల్ట్గా మళ్లీ ప్రయత్నించబడుతుంది, కాబట్టి క్లయింట్ తిరుగుతుంది మరియు మొదటి లోపం దృష్టి నుండి మాయమవుతుంది. tls-exit దాన్ని నిష్క్రమించేలా చేస్తుంది; దాన్ని ఏది మళ్లీ ప్రారంభిస్తుందో తనిఖీ చేయండి.
క్లయింట్ కనెక్ట్ అవుతుంది, TLS చర్చల సమయంలో విఫలమవుతుంది, వేచి ఉంటుంది మరియు అదే ఫలితంతో అదే సర్వర్ను మళ్లీ ప్రయత్నిస్తుంది. విఫలమైన ప్రక్రియను మళ్లీ ప్రారంభించే పర్యవేక్షకుడి కింద, ఆ ప్రయత్నాలు జర్నల్లో అంతులేని లూప్గా మారుతాయి, మొదటి డయాగ్నస్టిక్ లైన్ అందుబాటులో లేకుండా పోతుంది. OpenVPN ఆ చర్చల వైఫల్యాన్ని మరో ప్రయత్నానికి బదులు కనిపించే నిష్క్రమణగా మార్చే ఎంపికను అందిస్తుంది. ఇది డయాగ్నస్టిక్స్ మరియు పర్యవేక్షణ కోసం చేసే సెట్టింగ్, మరమ్మతు కాదు, కాబట్టి ప్రక్రియను నిజంగా ఆగి ఉండనివ్వగల విధానంతో దీన్ని జోడించండి.
మొదటి లోపాన్ని దాచే చక్రం
మీరు చూసేది ఒక వైఫల్యం కాదు, పునరావృత బ్లాక్: కనెక్షన్ ప్రయత్నం, TLS లోపం, విరామం మరియు తర్వాత అదే క్రమం. ప్రతి పునరావృతి అసలు లైన్ను జర్నల్లో మరింత పైకి నెడుతుంది. యూనిట్ వైఫల్యంపై మళ్లీ ప్రారంభమైతే, ఎవరూ కారణం చదవకుండా చక్రం గంటల తరబడి కొనసాగవచ్చు. లక్షణం లూప్, అయినా మూల లోపం ఒకే చర్చల సమస్య.
ఇంటరాక్టివ్ సెషన్లు దీన్ని భరిస్తాయి ఎందుకంటే తాత్కాలిక వైఫల్యం తదుపరి ప్రయత్నంలో తొలగిపోవచ్చు. ఆటోమేటెడ్ కనెక్షన్లు అదే ఆశావాదాన్ని భరించలేవు: మనిషి లేదా మానిటర్ స్థితిని చూడాలంటే ప్రక్రియ ఆగాలి.
ఏదైనా మార్చే ముందు ఒక పూర్తి చక్రాన్ని నమోదు చేయండి. రిమోట్ చిరునామా, లోపంలో పేర్కొన్న TLS దశ, ప్రక్రియ అసలు నిష్క్రమిస్తుందా అనేది గుర్తించండి.
లూప్ వెనుక ఉన్న పునఃప్రయత్న యంత్రాంగం
పునఃప్రయత్నం డిఫాల్ట్ ఎందుకంటే అనేక సంబంధం లేని టైమ్అవుట్లు ఒకే యంత్రాంగాన్ని పంచుకుంటాయి. connect-retry కనెక్షన్ ప్రయత్నాల మధ్య విరామాన్ని సెట్ చేస్తుంది, connect-retry-max ప్రతి రిమోట్ ఎంట్రీ ఎన్నిసార్లు ప్రయత్నించబడుతుందో పరిమితం చేయగలదు, resolv-retry పునరావృత నామ శోధనలను నియంత్రిస్తుంది. TLS చర్చల వైఫల్యం రవాణా సంఘటనగా ఆ యంత్రాంగాన్ని చేరుతుంది, కాబట్టి క్లయింట్ నివేదించడానికి బదులు మరో ప్రయత్నాన్ని షెడ్యూల్ చేస్తుంది. డిఫాల్ట్ విలువ అస్థిర లింక్కు సహాయపడుతుంది, నయం కాని లోపానికి హాని చేస్తుంది.
--tls-exit ఎంపిక చర్చల సందర్భాన్ని మాత్రమే మారుస్తుంది. మాన్యువల్ దీన్ని TLS చర్చల వైఫల్యంపై నిష్క్రమించడం అని వివరిస్తుంది, ఇది ప్రతి లోపంపై నిష్క్రమించడం కంటే సన్నగా ఉంటుంది. టైమ్అవుట్లు, రిజాల్వర్ వైఫల్యాలు మరియు ప్రామాణీకరణ తిరస్కరణలు తమ ప్రవర్తనను నిలుపుకుంటాయి.
TLS వైఫల్యంపై క్లయింట్ను నిష్క్రమించేలా చేయడం
క్లయింట్ నిజంగా లోడ్ చేసే ప్రొఫైల్లో tls-exit పెట్టండి, లేదా ప్రారంభించేటప్పుడు --tls-exit ఇవ్వండి, మరియు ఒకసారి ముందు భాగంలో అమలు చేయండి. నిష్క్రమణ స్థితి మరియు చివరి లాగ్ లైన్ చదవండి, ఎందుకంటే పర్యవేక్షకుడు స్థితిపైనే పని చేస్తాడు. చర్చల వైఫల్యం తర్వాత సున్నా కాని నిష్క్రమణే ఉద్దేశించిన ఫలితం. ప్రక్రియ ముగియకుండా పునఃప్రయత్నం కొనసాగిస్తే, ఎంపిక క్లయింట్ నిజంగా లోడ్ చేసే ప్రొఫైల్లో లేదు.
ఆ నిష్క్రమణ కనిపిస్తుందా అనేది పర్యవేక్షకుడు నిర్ణయిస్తాడు. Restart=always లేదా Restart=on-failure ఉన్న systemd యూనిట్ క్లయింట్ను మళ్లీ ప్రారంభిస్తుంది, కాబట్టి లూప్ కొనసాగుతుంది మరియు ఎంపిక ఏమీ చేయనట్లు కనిపిస్తుంది. క్లయింట్ను నిందించే ముందు విధానాన్ని తనిఖీ చేయండి:
systemctl show -p Restart -p RestartSec openvpn-client@office
journalctl -u openvpn-client@office -n 40 --no-pager
Restart=no ప్రక్రియను ఆగి ఉండనివ్వగలదు, Restart=on-failure సున్నా కాని స్థితి తర్వాత కూడా మళ్లీ ప్రారంభిస్తుంది. వైఫల్యం కనిపించాలి కానీ సేవ సంబంధం లేని క్రాష్ల నుండి కోలుకోవాలి అనుకుంటే, Restart=on-failure సెట్ చేసి, పునఃప్రారంభ తుఫానును ఆపడానికి StartLimitBurst మరియు StartLimitIntervalSec ఉపయోగించండి. తర్వాత చివరి నిష్క్రమణ కోడ్ను నిర్ధారించడానికి యూనిట్ స్థితిని చదవండి: systemctl status దాన్ని నివేదిస్తుంది, జర్నల్ మొదటి లోపాన్ని పునఃప్రారంభాలకు పైన ఉంచుతుంది.
నిర్ణయాన్ని యూనిట్లో లేదా ప్రొఫైల్ నోట్స్లో రాయండి. TLS వైఫల్యంపై నిష్క్రమించే ప్రొఫైల్, కారణం నమోదు కాకపోతే తదుపరి వ్యక్తికి ప్రమాదంలా కనిపిస్తుంది. ఏ వైఫల్యాలు ప్రక్రియను ఆపాలి, ఏవి మళ్లీ ప్రయత్నించాలి అని స్పష్టం చేయండి.
ఒకసారి వాడే ఎండ్పాయింట్తో దాన్ని నిరూపించండి
ప్రవర్తనను నమ్మే ముందు చూడటానికి, ప్రొఫైల్ను కాపీ చేసి, కాపీని TCP కనెక్షన్ అంగీకరించే కానీ ఎప్పుడూ OpenVPN మాట్లాడని ఎండ్పాయింట్కు మళ్లించండి. ప్రతిస్పందించి తర్వాత మౌనంగా ఉండే శ్రోత సరిపోతుంది. tls-exit ఎంపికతో, హ్యాండ్షేక్ విఫలమైనప్పుడు క్లయింట్ ముగియాలి; అది లేకుండా అదే ప్రొఫైల్ తిరుగుతూనే ఉండాలి. కాపీని ఉపయోగించండి, ఎప్పుడూ పని చేస్తున్న ప్రొఫైల్ను కాదు.
రెండు రన్లను నిష్క్రమణ స్థితి మరియు మొదటి లోపం లైన్ ద్వారా పోల్చండి, ప్రతిది ఎంతసేపు కొనసాగింది అనేదాని ద్వారా కాదు. స్థితి ఎంపిక పనిచేసిందా అని చెబుతుంది, మొదటి లైన్ ఏ దశ విఫలమైందో చెబుతుంది.
పూర్తయిన తర్వాత పరీక్ష ప్రొఫైల్ను తీసివేయండి. ఉద్దేశపూర్వకంగా తప్పు ఎండ్పాయింట్ ఉన్న కాపీ, తర్వాత డైరెక్టరీలోని ప్రతి ప్రొఫైల్ను ప్రారంభించే ప్రతి ఒక్కరికీ ఉచ్చు.
ఈ ఎంపిక ఎప్పటికీ చేరని దశలు
ప్రామాణీకరణ తిరస్కరణ తర్వాతి దశ. సర్వర్ ఖాతాను మూల్యాంకనం చేసి తిరస్కరిస్తే, TLS ఇప్పటికే చర్చించబడింది, కాబట్టి tls-exit పనిచేయదు. ప్రామాణీకరణ పునఃప్రయత్న సెట్టింగ్లు తర్వాత చూడాల్సిన చోటు, సర్వర్ కారణం క్లయింట్ చివరి లైన్ కంటే ముఖ్యం. తప్పు పాస్వర్డ్ మరియు లేని సర్టిఫికెట్ క్లయింట్ వైపు సమానమైన సందేశాలను ఉత్పత్తి చేయవచ్చు.
లేని మార్గం, తప్పు రిజాల్వర్ లేదా చేరుకోలేని గేట్వే కూడా ఎంపిక వెలుపలే, ఎందుకంటే అవి చర్చల వైఫల్యాలు కావు. నిశ్శబ్ద ప్యాకెట్ నష్టం అతి తక్కువ స్పష్టమైన కేసు: మార్పిడి ఎంత దూరం సాగిందనే దానిపై ఆధారపడి, క్లయింట్ చర్చల వైఫల్యాన్ని నివేదించవచ్చు లేదా సమయం మించిపోవచ్చు.
మీ నోట్స్లో ఈ భేదాన్ని ఉంచండి. సెట్టింగ్ మరమ్మతు కంటే డయాగ్నస్టిక్స్ మరియు పర్యవేక్షణ కోసం, కాబట్టి ఇది సైఫర్ అసమతౌల్యం, సర్టిఫికెట్ సమస్య లేదా తప్పు పోర్టును సరిచేయదు. మొదట విఫలమైన చర్చల కారణాన్ని సరిచేయండి, తర్వాత తక్షణ నిష్క్రమణ ఇంకా అమరికకు సరిపోతుందా అని నిర్ణయించండి.