పునఃప్రారంభం తర్వాత VPN సర్వర్ రికవరీని పరీక్షించండి: మొదట ఏమి చూడాలి
ఎవరూ లాగిన్ కాకుండా పునఃప్రారంభించి, ఆపై బయటి నుండి కనెక్ట్ అవ్వండి. తమంతట తాము తిరిగి రావలసిన unit, ఇంటర్ఫేస్, రూట్లు మరియు firewall నియమాలను తనిఖీ చేయండి.
ఎవరూ లాగిన్ కాకుండా సర్వర్ను పునఃప్రారంభించి, ఆపై మీరు నియంత్రించని నెట్వర్క్ నుండి కనెక్ట్ అవ్వండి. ఈ ఒకే పరీక్ష రికవరీ నిజమా అని సమాధానం ఇస్తుంది, ఎందుకంటే ఎవరైనా చేతితో ఆదేశం నడిపిన తర్వాత మాత్రమే పనిచేసే సొరంగం రికవరీ కాదు, అది మరమ్మతు. చాలా తనిఖీలు చాలా త్వరగా ఆగిపోతాయి: డెమోన్ యాక్టివ్గా కనిపిస్తుంది, ఇంటర్ఫేస్ పైకి వస్తుంది, పేజీ మాత్రం లోడ్ కాదు. గ్యాప్ దాదాపు ఎల్లప్పుడూ సొరంగం చుట్టూ ఉన్న భాగాల నిరంతరతలో ఉంటుంది, సొరంగ ఆదేశంలో కాదు.
నాలుగు యజమానులు, నాలుగు వేర్వేరు పరీక్షలు
పునఃప్రారంభానికి ముందు, సొరంగాన్ని ఏది తిరిగి తేవాలో పేరు పెట్టండి. మీరు నిర్వహించే పరీక్ష మరియు మీరు వర్తింపజేసే సరిదిద్దుడు రెండూ ఆ సమాధానంపై ఆధారపడతాయి, మరియు నాలుగు సాధారణ యజమానులు ఉన్నారు: VPN డెమోన్ కోసం systemd unit, WireGuard ఇంటర్ఫేస్ కోసం wg-quick ఇన్స్టాన్స్ unit, కంటైనర్ రన్టైమ్, లేదా నెట్వర్క్ మేనేజర్ ప్రొఫైల్. యజమానిని పేరు పెట్టలేకపోతే, ఆగి దాన్ని కనుగొనండి, ఎందుకంటే ఆశించిన స్టార్టప్ మార్గం లేకుండా పునఃప్రారంభ పరీక్ష ఏదో జరిగిందని మాత్రమే చెబుతుంది.
ప్రతి యజమాని తన కాన్ఫిగరేషన్ను వేరే చోట ఉంచుతాడు. systemd నిర్వహించే OpenVPN సర్వర్ ప్రారంభంలో తన కాన్ఫిగరేషన్ను చదువుతుంది, కాబట్టి బూట్ సమయంలో ఫైల్లో ఉన్నదే నడుస్తుంది. wg-quick ఇంటర్ఫేస్ అదే ఫైల్ నుండి చిరునామాలు, రూట్లు మరియు DNS తీసుకుంటుంది, అంటే షెల్ నుండి చేతితో పైకి లేపి ఎప్పుడూ unitగా ప్రారంభించని ఇంటర్ఫేస్ తిరిగి రాదు. కంటైనర్ తన ప్రవేశ బిందువును తిరిగి తెస్తుంది కానీ హోస్ట్ firewall మార్పులను కాదు, అవి కంటైనర్ వెలుపల ఉంటే తప్ప.
మొదట బేస్లైన్, లేకపోతే ఫలితానికి అర్థం లేదు
పని చేస్తున్నప్పుడే పని స్థితిని నమోదు చేయండి: సొరంగంపై చిరునామాలు, క్లయింట్ సబ్నెట్ కోసం రూట్లు, NAT లేదా ఫార్వార్డింగ్ నియమాలు, వినిపించే సాకెట్, మరియు ఫార్వార్డింగ్ sysctl. ip addr show wg0, ip route, nft list ruleset లేదా iptables-save, ss -lunp మరియు sysctl net.ipv4.ip_forward చాలా హోస్ట్లపై సరిపోతాయి.
సేవ నడుస్తోందా అని మాత్రమే కాదు, అది ప్రారంభం కావడానికి ఎలా కాన్ఫిగర్ చేయబడిందో కూడా నమోదు చేయండి. systemctl is-enabled wg-quick@wg0 మరియు systemctl is-active wg-quick@wg0 వేర్వేరు ప్రశ్నలకు సమాధానం ఇస్తాయి, మరియు బూట్ సమయంలో ఎనేబుల్ చేసిన స్థితి ముఖ్యం, systemctl(1) లో వివరించినట్లు. OpenVPN కోసం, హోస్ట్ ఏ టెంప్లేట్ ఉపయోగిస్తుందో తనిఖీ చేయండి, ఎందుకంటే openvpn@server మరియు openvpn-server@server వేర్వేరు డిఫాల్ట్లతో వేర్వేరు unitలు.
పునఃప్రారంభాన్ని అమలు చేసి మొదటి వైఫల్యాన్ని చదవండి
మీరు ఎంచుకున్న విండోలో ఉద్దేశపూర్వకంగా పునఃప్రారంభించండి, కన్సోల్ లేదా బ్యాండ్ వెలుపలి మార్గాన్ని తెరిచి ఉంచి. తుది స్థితి కాదు, సంఘటనల క్రమాన్ని గమనించండి: హోస్ట్ చేరుకోగలిగినది, unit యాక్టివేట్ అయింది, ఇంటర్ఫేస్ ఉంది, రూట్లు ఇన్స్టాల్ అయ్యాయి, firewall నియమాలు ఉన్నాయి, శ్రోత బంధించబడింది, క్లయింట్ ఆమోదించబడింది. జరగని మొదటి అడుగే ఆవిష్కరణ; దాని తర్వాత ప్రతిదీ శబ్దం.
సొరంగం ఉపయోగించలేని స్థితిలో ఉన్నప్పుడు కూడా డెమోన్ యాక్టివ్గా ఉండవచ్చు, ఇదే అత్యంత సాధారణ తప్పుడు ఆమోదం. unit network-online.target కోసం కాకుండా network.target కోసం మాత్రమే నిరీక్షిస్తుంటే, నెట్వర్క్ ఆన్లైన్కు రాకముందే ప్రారంభం పూర్తికావచ్చు. సర్టిఫికెట్లు, కీలు లేదా CRL వంటి సూచించిన ఫైళ్లు ఆ క్షణంలో చదవలేకపోవచ్చు, ఎందుకంటే mount లేదా రహస్య మార్గం ఇంకా సిద్ధంగా లేదు. unit జర్నల్ చదివే వరకు రెండు సమస్యలు systemctl status లో కనిపించవు.
హోస్ట్ వెలుపల నుండి పరీక్షించండి. అదే LANలోని క్లయింట్ ఏ దూర క్లయింట్ ఎప్పుడూ ఉపయోగించని మార్గం ద్వారా విజయం సాధించవచ్చు, మరియు మెషీన్కు SSH సెషన్ సొరంగం గురించి ఏమీ నిరూపించదు. కనెక్ట్ అవ్వండి, అంతర్గత పేరును పరిష్కరించండి, ప్రైవేట్ వనరును చేరుకోండి, ఆపై రద్దు స్థితి మరియు కీలు ఇప్పటికీ వర్తిస్తాయని నిర్ధారించడానికి మరోసారి కనెక్ట్ అవ్వండి.
మీ సరిదిద్దుడును నిర్ణయించే మూడు షరతులు
సొరంగం తిరిగి వచ్చినా క్లయింట్లు ఎక్కడికీ చేరకపోతే, వైఫల్యం రూటింగ్ లేదా NAT నిరంతరతలో ఉంది. క్లయింట్లు handshake కూడా పూర్తి చేయలేకపోతే, వైఫల్యం ఇంటర్ఫేస్ లేదా ప్రామాణీకరణ పదార్థంలో ఉంది. సేవ ఎప్పుడూ ప్రారంభం కాకపోతే, వైఫల్యం unit ఫైల్ లేదా దాని ఆధారాలలో ఉంది. ఈ మూడు శాఖలు వేర్వేరు సరిదిద్దుడులకు దారితీస్తాయి, అందుకే బేస్లైన్ లేని గుడ్డి పునఃప్రారంభం ఆదా చేసే దాని కంటే ఎక్కువ సమయం తీసుకుంటుంది.
సెట్టింగ్ యాజమాన్యం ఉన్న చోటే సరిదిద్దుడు చేయండి. ఫార్వార్డింగ్ను sysctl drop-inలో ఉంచండి, NAT నియమాలను బూట్లో లోడ్ అయ్యే నియమ సముదాయంలో ఉంచండి, unitను ప్రారంభించడం బదులు ఎనేబుల్ చేయండి, మరియు రహస్యాలను unit ప్రారంభం కాకముందే ఉన్న మార్గంలో ఉంచండి. unitకు నిద్రను జోడించడం ఆధారాన్ని ప్రకటించడం బదులు దాచుతుంది.
ఫలితాన్ని runbookలో నమోదు చేయండి
తమంతట తాము ఏమి తిరిగి వచ్చింది, మీరు ఏమి ప్రారంభించాల్సి వచ్చింది, గ్యాప్ ఎంతకాలం ఉంది అని రాయండి. ధృవీకరణకు ఉపయోగించిన ఖచ్చితమైన ఆదేశాలను చేర్చండి, తదుపరి వ్యక్తి కొత్తది కనుగొనకుండా పరీక్షను పునరావృతం చేయాలి. ఏదైనా అడుగుకు చేతి ఆదేశం అవసరమైతే, ఆ ఆదేశం కాన్ఫిగరేషన్కు చెందుతుంది, runbookలో శాశ్వత అడుగుగా కాదు.
తర్వాత తదుపరి పరీక్షను హోస్ట్ నెట్వర్క్ స్టాక్లో తదుపరి మార్పు తర్వాతకు షెడ్యూల్ చేయండి, ఆరు నెలల తర్వాత క్యాలెండర్ తేదీకి కాదు. మీరు నిరోధిస్తున్న వైఫల్య విధానం శాశ్వతంగా అనిపించిన తాత్కాలిక ఆదేశం, అవి ఎవరైనా firewall నియమాలను సవరించినప్పుడు లేదా సేవను కొత్త unitకు తరలించినప్పుడు సరిగ్గా కనిపిస్తాయి.