సరైన OpenVPN కనెక్షన్ను ఆపండి: ముందు ప్లేన్, systemd లేదా NM
టన్నెల్ను డిస్కనెక్ట్ చేసే ఆదేశం దాన్ని ఎవరు ప్రారంభించారనే దానిపై ఆధారపడి ఉంటుంది. సిగ్నల్ పంపే ముందు ముందు ప్లేన్, systemd, NetworkManager మరియు OpenVPN 3 యజమానులను పోల్చండి.
టెర్మినల్ విండోను మూసివేయడం టన్నెల్ను మూసివేయడం లాంటిది కాదు, ప్రాసెస్ను చంపడం సేవను ఆపడం లాంటిది కాదు. Linux లో నిజంగా డిస్కనెక్ట్ చేసే ఆదేశం ఏ భాగం కనెక్షన్ను ప్రారంభించి దాని జీవిత చక్రాన్ని కలిగి ఉంది అనే దానిపై ఆధారపడి ఉంటుంది. క్రింది పోలిక మీరు ఎక్కువగా ఎదుర్కోగల నాలుగు అమరికలను మరియు ప్రతి దానికి అవసరమైన గుర్తింపును కవర్ చేస్తుంది.
ముందు ప్లేన్ మరియు డీమనైజ్డ్ క్లయింట్లు
టెర్మినల్లో చేతితో ప్రారంభించిన క్లయింట్ ఆ టెర్మినల్కు చెందుతుంది. Ctrl+C అంతరాయాన్ని అందిస్తుంది, క్లయింట్ తన ఇంటర్ఫేస్ను విరమిస్తుంది, మరియు టన్నెల్ ముగుస్తుంది. మరేదైనా తెలియజేయాల్సిన అవసరం లేదు.
షెల్ ర్యాపర్ ద్వారా ప్రారంభించి నేపథ్యంలో వదిలిన క్లయింట్ ఎవరికీ ప్రత్యేకంగా చెందదు, మరియు ప్రజలు killall వైపు మళ్లే సందర్భం అదే. మొదట ప్రాసెస్ను కనుగొని, దాని ఆదేశ పంక్తి మీరు ఉద్దేశించిన ప్రొఫైల్ను పేర్కొంటుందని నిర్ధారించి, ఆపై సాధారణ ముగింపు సిగ్నల్ పంపండి. పర్యవేక్షకుడి కింద చంపబడిన పర్యవేక్షిత ప్రాసెస్ మళ్లీ ప్రారంభమవుతుంది, కాబట్టి సిగ్నల్ ఎంచుకోవడం కంటే యజమానిని గుర్తించడం ముఖ్యం. ప్రాసెస్ సమూహానికి సిగ్నల్ పంపండి మరే ఇతర టన్నెల్ దాన్ని పంచుకోలేదని నిర్ధారించిన తర్వాత మాత్రమే.
SIGUSR1 డిస్కనెక్షన్ కాదు; అది క్లయింట్ను టన్నెల్ను మళ్లీ ప్రారంభించమని కోరుతుంది.
systemd ఇన్స్టాన్స్లు
ఒక unit కనెక్షన్ను కలిగి ఉన్నప్పుడు, ఆపాల్సిన వస్తువు unit. openvpn-client@office వంటి టెంప్లేట్ ఇన్స్టాన్స్లు ప్రొఫైల్ పేరును కలిగి ఉంటాయి, ఇన్స్టాన్స్కు బదులుగా టెంప్లేట్ లక్ష్యాన్ని ఆపడం హోస్ట్లోని ప్రతి క్లయింట్ను ప్రభావితం చేయవచ్చు.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
ఇన్స్టాన్స్ ఏ ప్రొఫైల్ను లోడ్ చేసిందో ఖచ్చితంగా తెలియకపోతే unit యొక్క ExecStart చదవండి.
ప్రారంభించిన unit తదుపరి బూట్లో తిరిగి వస్తుంది, ఇది ఇప్పుడు దాన్ని ఆపడం నుండి వేరే నిర్ణయం. కనెక్షన్ తిరిగి రాకూడదని నిర్ణయించిన తర్వాత మాత్రమే దాన్ని నిలిపివేయండి, ఆ నిర్ణయాన్ని తదుపరి నిర్వాహకుడు కనుగొనే చోట నమోదు చేయండి.
NetworkManager ప్రొఫైల్స్
NetworkManager నిర్వహించే ప్రొఫైల్ సిగ్నల్ పంపగల ప్రాసెస్ కాదు. నిర్వాహకుడు జీవిత చక్రాన్ని కలిగి ఉంటాడు, మరియు పని చేయాల్సిన వస్తువు ప్రదర్శన పేరుకు బదులుగా UUID ద్వారా గుర్తించబడే క్రియాశీల కనెక్షన్. క్రియాశీల జాబితాను మొదట చదవడం మీరు ఊహించని పేరుతో రెండవ టన్నెల్ నడుస్తోందా అని కూడా చూపిస్తుంది.
nmcli connection show --active
nmcli connection down uuid actual-uuid
ప్రదర్శన పేర్లు పునరావృతమవుతాయి, ప్రొఫైల్ ఫైల్ పేరు దాని గుర్తింపు కాదు, కాబట్టి జాబితా నుండి UUID కాపీ చేయండి. కనెక్షన్ వెంటనే తిరిగి వస్తే, ఏదో దాన్ని యాక్టివేట్ చేస్తోంది: మూల కనెక్షన్పై secondaries ఎంట్రీ, dispatcher స్క్రిప్ట్, లేదా ఆటోకనెక్ట్ ఫ్లాగ్. నిర్వాహకుడి కనెక్షన్ను ఆపడం సరైన మొదటి అడుగు, మళ్లీ యాక్టివేషన్ తదుపరి ప్రశ్న. మళ్లీ యాక్టివేషన్ ఆపడానికి ప్రొఫైల్ను తొలగించవద్దు, ఎందుకంటే అది రేపు మీకు అవసరమైన ఆధారాలను కూడా తొలగిస్తుంది.
నిర్వాహకుడి ఆదేశ సూచన down లక్ష్యం ఎలా ఎంపిక చేయబడుతుందో నమోదు చేస్తుంది.
OpenVPN 3 సెషన్లు
OpenVPN 3 Linux ప్రతి టన్నెల్కు ప్రాసెస్కు బదులుగా సెషన్ నమూనాను ఉపయోగిస్తుంది. సేవకు తెలిసిన సెషన్లను మీరు పరిశీలించి, తర్వాత ఒక సెషన్ మార్గంపై పని చేస్తారు. మార్గమే గుర్తింపు, దాన్ని కాన్ఫిగరేషన్ పేరుతో మార్చలేరు.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
ప్రతి సెషన్ను డిస్కనెక్ట్ చేయడం వేరే చర్య, అది ఉద్దేశపూర్వకంగా ఉండాలి.
ఒకే హోస్ట్ అనేక వినియోగదారుల సెషన్లను కలిగి ఉండవచ్చు, కాబట్టి పని చేయడానికి ముందు జాబితా చేయండి మరియు మీరు ముగించబోయే సెషన్ యజమానిని నిర్ధారించండి.
తర్వాత ఏమి ధృవీకరించాలి
ఈ ఆపడంలో ఏదైనా తర్వాత మూడు విషయాలను తనిఖీ చేయండి: క్రియాశీల కనెక్షన్ జాబితాలో ఇకపై టన్నెల్ లేదు, ఇంటర్ఫేస్ పోయింది, అంతర్గత చిరునామా కోసం మార్గ శోధన ఇకపై టన్నెల్ పరికరాన్ని ఎంచుకోదు. తర్వాత తదుపరి బూట్లో ఏమి జరుగుతుందో నిర్ణయించండి.
ip -brief address
ip route get 10.8.0.1
చేతితో ఇంటర్ఫేస్ను తొలగించడం యజమానిని ఆపదు, శుభ్రత సగం మిగిలిపోతుంది.
ఇప్పుడు డిస్కనెక్ట్ చేయడం, తదుపరి స్వయంచాలక ప్రారంభాన్ని నిరోధించడం, తర్వాత VPN కాని ట్రాఫిక్ను అనుమతించడం మూడు వేర్వేరు ఎంపికలు. ప్రతి ఒక్కటి స్పష్టంగా చేయండి.