Ubuntu లో బూట్ సమయంలో OpenVPN: NetworkManager లేదా systemd?
ల్యాప్టాప్ మరియు స్క్రీన్ లేని సర్వర్కు వేర్వేరు బూట్ మార్గాలు అవసరం. NetworkManager యొక్క ద్వితీయ కనెక్షన్ను openvpn-client@ మరియు దాని ఆధారాల ఫైల్తో పోల్చండి.
చాలా గైడ్లు ఈ ఎంపికను బాహ్య రూపం విషయంగా చూపిస్తాయి: NetworkManager టన్నెల్ను పైకి లేపనివ్వండి, లేదా systemd ఇన్స్టాన్స్ను ప్రారంభించి పూర్తి చేయండి. స్క్రీన్ లేని యంత్రంలో ఫలితాన్ని నిర్ణయించే ఒక విషయంలో రెండు మార్గాలు భిన్నంగా ఉంటాయి, దానికి ఏ సాధనం కొత్తది అనే దానితో సంబంధం లేదు. NetworkManager సెషన్ ద్వారా రహస్యాలను తెరుస్తుంది; systemd ఇన్స్టాన్స్కు తెరవడానికి సెషన్ లేదు. మీ ముందున్న యంత్రానికి సరిపోయే రహస్య నిర్వహణ ఉన్న మార్గాన్ని ఎంచుకోండి.
మిగతావన్నీ, రూట్ ఇన్స్టాలేషన్ నుండి తిరిగి కనెక్ట్ ప్రవర్తన వరకు, ఆ మొదటి నిర్ణయం నుండి వస్తాయి.
ఎవరూ చెప్పని భేదం కీరింగ్
NetworkManager కు VPN ప్రొఫైల్ ఉన్నప్పుడు, పాస్వర్డ్ లాగిన్ కీరింగ్లో ఉండవచ్చు, అది వినియోగదారు సైన్ ఇన్ చేసినప్పుడు తెరుచుకుంటుంది. ల్యాప్టాప్లో అది బాగా పని చేస్తుంది: వ్యక్తి ఉన్నారు, కీరింగ్ తెరుచుకుంటుంది, టన్నెల్ పైకి వస్తుంది. పర్యవేక్షణ లేకుండా బూట్ అయ్యే సర్వర్లో ఏదైనా తెరవడానికి ఎవరూ లేరు, కాబట్టి ప్రొఫైల్ ఎప్పటికీ రాని రహస్యం కోసం వేచి ఉంటుంది. కనెక్షన్ కాన్ఫిగర్ చేయబడినట్లు కనిపిస్తుంది, ఎప్పటికీ సక్రియం కాదు.
systemd ఇన్స్టాన్స్ డిస్క్ నుండి ఆధారాల ఫైల్ చదవడం ద్వారా ఆ సమస్యను నివారిస్తుంది, ఇది ఫైల్ను మీరు రక్షించే వస్తువుగా మారుస్తుంది. chmod 400 మరియు root యాజమాన్యం కనిష్ఠం, ఫైల్ మీరు నియంత్రించని బ్యాకప్లు మరియు ఇమేజ్ టెంప్లేట్ల వెలుపల ఉండాలి.
VPN ను కనెక్షన్కు జోడించడం బూట్ హామీ కాదు
nm-connection-editor లో, VPN కు బదులుగా వైర్డ్ లేదా వైర్లెస్ కనెక్షన్ను ఎంచుకోండి, General ట్యాబ్ తెరవండి, స్వయంచాలకంగా VPN కు కనెక్ట్ అయ్యే ఎంపికను టిక్ చేసి ప్రొఫైల్కు పేరు పెట్టండి. తర్వాత ప్రాథమిక కనెక్షన్ కనెక్ట్ అయిన స్థితికి చేరుకున్నప్పుడు NetworkManager VPN ను ద్వితీయ కనెక్షన్గా సక్రియం చేస్తుంది. ఇది ఆధారత, ఫైర్వాల్ నియమం కాదు. టన్నెల్ పైకి రాకముందు సెకన్లలో ప్యాకెట్లు ఇప్పటికీ బయటకు వెళ్లవచ్చు, తెరవలేని నిల్వ చేసిన రహస్యం యంత్రాన్ని అది లేకుండా ఆన్లైన్లో వదిలివేస్తుంది.
టన్నెల్ లేకుండా ఏదీ బయటకు వెళ్లకూడదనేది అవసరం అయితే, అలా చెప్పి కిల్ స్విచ్ నిర్మించండి, ఎందుకంటే ఈ సెట్టింగ్ ఒకటి ఇవ్వదు. సస్పెండ్ మరియు రెజ్యూమ్ కూడా పరీక్షించండి, ఎందుకంటే తిరిగి వచ్చేటప్పుడు ద్వితీయ కనెక్షన్ తిరిగి అంచనా వేయబడుతుంది.
systemd ఇన్స్టాన్స్కు సరిపోయే ఫైల్ పేరు కావాలి
ప్రొఫైల్ను ప్యాకేజీ ఆశించే క్లయింట్ డైరెక్టరీలో ఉంచండి, ఉదాహరణకు /etc/openvpn/client/office.conf, మరియు లోపలి నుండి ఆధారాల ఫైల్ను auth-user-pass office.cred తో సూచించండి. ఇన్స్టాన్స్ పేరు పొడిగింపు లేని ఫైల్ పేరు, కాబట్టి openvpn-client@office ఫైల్ office.conf చదువుతుంది. దాన్ని sudo systemctl enable --now openvpn-client@office తో ప్రారంభించి, బ్లాగ్ ఉదాహరణను నమ్మడం బదులు systemctl cat openvpn-client@office తో సరిపోలికను నిర్ధారించండి.
ప్రొఫైల్ లోపలి మార్గాలు ప్రొఫైల్కు కాదు, యూనిట్ పని డైరెక్టరీకి సాపేక్షంగా పరిష్కరించబడతాయి, కాబట్టి సాపేక్ష ca లేదా auth-user-pass పంక్తి చేతితో పరీక్షించినప్పుడు పని చేసినా బూట్ సమయంలో విఫలం కావచ్చు. యూనిట్ కనుగొనాల్సిన ప్రతిదానికి సంపూర్ణ మార్గాలను ఉపయోగించండి. తర్వాత నిజమైన బూట్ తర్వాత journalctl -u openvpn-client@office -b చదవండి; టన్నెల్ లేకుండా సక్రియంగా నివేదించే యూనిట్ సాధారణంగా ఆ లాగ్లో తప్పిపోయిన ఫైల్ను పేర్కొంటుంది.
పాత ప్యాకేజీలు వేరే టెంప్లేట్ పేరును తెస్తాయి, కాబట్టి ఈ హోస్ట్లో ఏది ఉందో systemctl list-unit-files 'openvpn*' నిర్ణయిస్తుంది.
తిరిగి కనెక్ట్ ప్రవర్తన ప్రత్యేక నిర్ణయం
ping-restart ఉన్న ప్రొఫైల్ టన్నెల్ పడిపోయిన తర్వాత దాన్ని తిరిగి నిర్మిస్తుంది, రీస్టార్ట్ సూచన ఉన్న యూనిట్ సేవా స్థాయిలో అలాంటిదే చేస్తుంది. అవి మీరు ఎంచుకునే విధానాలు, మీరు వారసత్వంగా పొందే డిఫాల్ట్లు కావు. కనెక్షన్ డిమాండ్ మేరకు మాత్రమే పైకి రావాలి అయితే, రీస్టార్ట్ ప్రవర్తనను ఉద్దేశపూర్వకంగా తీసివేసి ఎందుకో రాయండి. యూనిట్ నెట్వర్క్ ఉపయోగించదగినది కాకముందే ప్రారంభమైతే, దానికి తిరిగి ప్రయత్న విధానం అవసరం, ఎందుకంటే బూట్ సమయంలో ఒక విఫల ప్రయత్నం దానంతట అదే పునరావృతం కాదు.
ఆపడం కూడా అంతే అక్షరార్థం: sudo systemctl disable --now openvpn-client@office నడుస్తున్న ఇన్స్టాన్స్ను ఆపి బూట్ లింక్ను తొలగిస్తుంది. కేవలం నిష్క్రియం చేయడం టన్నెల్ను తదుపరి రీబూట్ వరకు నడుస్తూ ఉంచుతుంది, ఇది నిష్క్రియం చేసి పరీక్షించేవారిని, ఇంటర్ఫేస్ పైనే ఉండడాన్ని చూసేవారిని ఆశ్చర్యపరుస్తుంది.
రీబూట్ చేయండి, తర్వాత నాలుగు విషయాలను వరుసగా తనిఖీ చేయండి
సేవను రీస్టార్ట్ చేయడం సేవను పరీక్షిస్తుంది; యంత్రాన్ని రీబూట్ చేయడం బూట్ మార్గాన్ని పరీక్షిస్తుంది. రీబూట్ తర్వాత యూనిట్ పైకి వచ్చిందని, తర్వాత దూర సబ్నెట్కు రూట్ ఉందని, తర్వాత యంత్రం ఇంటర్నెట్కు ఏ చిరునామాను చూపిస్తుందని, చివరగా పేర్లు టన్నెల్ ద్వారా పరిష్కరించబడతాయని నిర్ధారించండి. ఏదైనా తప్పు ఉంటే ఆ నాలుగు తనిఖీలు అదే క్రమంలో విఫలమవుతాయి, ఇది మొదటి వైఫల్యాన్ని ఉపయోగకరంగా చేస్తుంది.
రూట్ లేకుండా సక్రియంగా ఉన్న యూనిట్ సాధారణంగా ప్రొఫైల్ కనెక్ట్ అయింది కానీ సర్వర్ ఏ రూట్ను తోసివేయలేదు, లేదా రూట్ తర్వాత మాయమైన ఇంటర్ఫేస్పై ఇన్స్టాల్ చేయబడింది అని అర్థం. పేర్ల శోధన పని చేయని రూట్ టన్నెల్ వైపు కాదు, DNS కాన్ఫిగరేషన్ వైపు సూచిస్తుంది.
టన్నెల్ పైకి రాలేనప్పుడు ఏమి జరగాలో ముందుగానే నిర్ణయించండి. సాధారణ కనెక్టివిటీకి తిరిగి వెళ్లడం ఒక విధానం, దాన్ని మొదట ప్రారంభించిన నిర్వాహకుడికి వదిలేయకుండా రాసి ఉంచాలి.