VPN తర్వాతి పనులను if-up నుండి కాదు, డిస్పాచర్ నుండి అమలు చేయండి
పాత ఇంటర్ఫేస్ హుక్ VPN కనెక్షన్ను చూడదు. vpn-up ను ప్రొఫైల్ UUID తో సరిపోల్చండి, పనిని పునరావృతం చేయదగినదిగా ఉంచండి, ఎప్పటికీ సంభవించని డిస్కనెక్ట్ కోసం ప్రణాళిక వేయండి.
VPN పైకి వచ్చిన తర్వాత అమలు కావాల్సిన స్క్రిప్ట్కు కనెక్షన్ను కలిగిన భాగం నుండి ఒక ఈవెంట్ అవసరం. పాత నెట్వర్క్ హుక్ డైరెక్టరీలో ఉంచిన ఫైల్ NetworkManager, pppd లేదా స్వతంత్ర OpenVPN ప్రక్రియ సృష్టించగల ప్రతి VPN కు కాల్బ్యాక్ కాదు. ఆ యజమానులలో ప్రతి ఒక్కరు వేరే పరిసరంతో వేరే ఈవెంట్ను నివేదిస్తారు, కాబట్టి హుక్ను ఎంచుకునే ముందు యజమానిని గుర్తించాలి. లేకపోతే స్క్రిప్ట్ సరైనది మరియు ఎప్పటికీ నడవదు.
NetworkManager నిర్వహించే VPN కు డిస్పాచర్ సరైన ప్రదేశం, మరియు vpn-up సరైన చర్య.
ఇంటర్ఫేస్ ఈవెంట్ కాదు, vpn-up ఉపయోగించండి
డిస్పాచర్ up ను vpn-up నుండి వేరు చేస్తుంది. మొదటిది సక్రియం చేయబడిన ఇంటర్ఫేస్ను నివేదిస్తుంది; రెండవది సక్రియం చేయబడిన VPN కనెక్షన్ను నివేదిస్తుంది. Wi-Fi పైకి రావడం అంటే క్రింది లింక్ ఉందని మాత్రమే; టన్నెల్ ఇంకా చర్చలు జరుపుతూ ఉండవచ్చు, లేదా ఎప్పటికీ ప్రామాణీకరణ కాకపోవచ్చు.
స్క్రిప్ట్ ఇంటర్ఫేస్ మరియు చర్యను పొందుతుంది, కనెక్షన్ వివరాలు పరిసరం ద్వారా వస్తాయి, వాటిలో ప్రొఫైల్ UUID మరియు VPN యొక్క IP ఇంటర్ఫేస్ ఉన్నాయి. పరికరాల పేర్ల నుండి గుర్తింపును ఊహించడం బదులు ఆ వేరియబుల్స్ చదవండి.
సరిపోలికను ఒక కనెక్షన్కే పరిమితం చేయండి
కనెక్షన్ UUID లేదా డిస్పాచర్ అందించే మరో గుర్తింపుపై సరిపోల్చండి, tun ఉపసర్గ లేదా ppp0 పై కాదు. ఇంటర్ఫేస్ పేర్లు స్థిరంగా ఉండవు, ఒకే సమయంలో ఒకటి కంటే ఎక్కువ టన్నెల్లు ఉండవచ్చు, మరియు రెండు ప్రొఫైల్లు ఒకే ప్రదర్శన పేరును కలిగి ఉండవచ్చు. tun ఉపసర్గపై సరిపోల్చడం అంటే ఎవరూ తాకాలని అనుకోని కనెక్షన్ కోసం స్క్రిప్ట్ చివరికి నడుస్తుంది. తిరిగి కనెక్ట్ అయ్యేటప్పుడు పరికరాన్ని మళ్లీ నిర్మించినప్పుడు ఇది ఒక ప్రొఫైల్ కోసం రెండుసార్లు కూడా నడవవచ్చు.
పనిని ఐడెంపోటెంట్ చేయండి. ప్రతి పిలుపులో మార్గాన్ని జోడించే కాల్బ్యాక్ చివరికి పట్టికను నకళ్లతో నింపుతుంది, రూటింగ్ను విరిచేది రెండవ నకలు.
యాక్టివేషన్ ఏమి నిరూపించదో తెలుసుకోండి
vpn-pre-up NetworkManager VPN పూర్తిగా యాక్టివేట్ అయిందని నివేదించే ముందు నడుస్తుంది, మరియు నిర్వాహకుడు ఆ స్క్రిప్ట్ల కోసం వేచి ఉంటాడు. పని నిజంగా అక్కడికే చెందినప్పుడు మాత్రమే నిరోధించే దశను ఉపయోగించండి, ఎందుకంటే నెమ్మదిగా చేసే తనిఖీ మిగతా అన్ని భాగాలు చూడాలని వేచి ఉన్న యాక్టివేషన్ను ఆలస్యం చేస్తుంది.
మార్గాలు ఉండడం అనేది ఒక అనువర్తనం వినిపిస్తోంది, ప్రైవేట్ పేరు పరిష్కారమవుతోంది, లేదా వినియోగదారు సెషన్ ఉంది అని నిరూపించదు. వాటిని పరిమిత సమయ పరిమితితో విడిగా తనిఖీ చేయండి, మరియు మొత్తం గొలుసును మళ్లీ ప్రయత్నించడం బదులు ఏ పొర విఫలమైందో నివేదించండి.
స్క్రిప్ట్ నడిచే సందర్భాన్ని గౌరవించండి
డిస్పాచర్ స్క్రిప్ట్లు root గా, ఏ వినియోగదారు సెషన్ బయట నడుస్తాయి. లాగిన్ అయిన వినియోగదారు పరిసరం, గ్రాఫికల్ సెషన్ లేదా తెరిచిన కీరింగ్ అందుబాటులో ఉందని ఊహించవద్దు. డెస్క్టాప్ సందర్భం లేకపోవడానికి ప్రతి ఆధారాన్ని ప్రతి ప్రక్రియకు చదవగలిగేలా చేయడం ద్వారా ఎవరూ సమాధానం ఇవ్వకూడదు. వినియోగదారు సెషన్ పనిని వినియోగదారు సేవలో లేదా కాల్బ్యాక్ వినియోగదారుని అనుకరించకుండా సంకేతం ఇవ్వగల సెషన్ సహాయకుడిలో ఉంచండి.
స్క్రిప్ట్పై యాజమాన్యం మరియు అనుమతులు కూడా ముఖ్యం. root గా నడిచే మరియు ఏ వినియోగదారు అయినా భర్తీ చేయగల ఫైల్ అధికారాల పెంపు మార్గం, మరియు ఇది VPN తర్కం సరైనదా కాదా అనే దాని నుండి స్వతంత్రమైన కనుగొనడం.
ఎప్పటికీ సంభవించని డిస్కనెక్ట్ కోసం ప్రణాళిక వేయండి
అనుకోని ముగింపు లేదా కనెక్టివిటీ పోవడం వంటి బలవంతపు డిస్కనెక్ట్ల కోసం vpn-pre-down విడుదల కాదని NetworkManager నమోదు చేస్తుంది. కాబట్టి మృదువైన pre-down చుట్టూ మాత్రమే నిర్మించిన శుభ్రపరచడం నిర్మాణపరంగా అసంపూర్ణం. స్క్రిప్ట్ మార్చే ఏ భాగస్వామ్య స్థితికైనా, క్రాష్ తర్వాత దాన్ని పునరుద్ధరించగల మరో యజమాని అవసరం, ఆ పునరుద్ధరణ మార్గాన్ని ఊహించకుండా పరీక్షించాలి.
సాధారణ కనెక్షన్, తిరిగి కనెక్ట్, ఉద్దేశపూర్వక డిస్కనెక్ట్ మరియు లాగిన కేబుల్తో హుక్ను పరీక్షించండి. రహస్యాలను నమోదు చేయకుండా UUID, చర్య మరియు నడిచిన ఇంటర్ఫేస్ను నమోదు చేయండి. ఆ నమోదే మీరు ఉద్దేశించిన కనెక్షన్ కోసం హుక్ నడిచిందని చెప్పే ఏకైక నమ్మదగిన సాక్ష్యం, తదుపరి మార్పును సురక్షితం చేసేది కూడా అదే.