హుక్ స్క్రిప్ట్ ప్రారంభమై, ppp0 చదివి, ఆ క్షణంలో ఆ పేరు ఉన్న ఏ ఇంటర్ఫేస్కైనా మార్గాలను వర్తింపజేస్తుంది. కొన్నిసార్లు అది మీరు ఉద్దేశించిన టన్నెల్; కొన్నిసార్లు అది ఒక నిమిషం ముందు కనెక్ట్ అయిన సెషన్. తదుపరి పునఃకనెక్షన్ సంఖ్యను కదిలిస్తుంది, మరియు అదే స్క్రిప్ట్ నిశ్శబ్దంగా తప్పు లింక్ను కాన్ఫిగర్ చేస్తుంది. పరిష్కారం ఏమిటంటే, ఇప్పుడే నడిచిన కాల్ నుండి ఇంటర్ఫేస్ను తీసుకోవడం మరియు ఉద్దేశించిన ప్రొఫైల్ను దానితో పాటు తీసుకెళ్లడం.

ఎంపికల నుండి హుక్ వరకు ఒక సెషన్ను అనుసరించండి

సెషన్ సృష్టించబడే చోటి నుండి ప్రారంభించండి. xl2tpd ఆ టన్నెల్ యొక్క pppoptfile పేరు పెట్టిన ఎంపిక ఫైల్తో pppd ను ప్రారంభిస్తుంది, కాబట్టి ప్లగిన్, యూనిట్ నంబర్ మరియు ఏదైనా ప్రొఫైల్ మార్కర్ గ్లోబల్ ఫైల్లో కాదు, అక్కడే నిర్ణయించబడతాయి. కనెక్షన్ మేనేజర్ తన స్వంత ఎంపికలను ఉత్పత్తి చేయవచ్చు, అంటే /etc/ppp/options ను సవరించడం మీకు ముఖ్యమైన టన్నెల్ మారిందనే రుజువు కాదు. లింక్ పైకి వచ్చినప్పుడు pppd పంపిణీ యొక్క పంపినవారి నుండి నోటిఫికేషన్ స్క్రిప్ట్లను నడుపుతుంది. ఆ స్క్రిప్ట్లు ఇంటర్ఫేస్ పేరును మొదటి ఆర్గ్యుమెంట్గా, ప్రొఫైల్ మార్కర్ను ఆరవ ఆర్గ్యుమెంట్గా పొందుతాయి.

పరిసరం అదే వాస్తవాలను IFNAME మరియు PPP_IPPARAM వంటి పేర్లతో మోసుకెళుతుంది, కానీ వాటి లభ్యత ఇన్స్టాల్ చేసిన పంపినవారిపై ఆధారపడి ఉంటుంది. ఒక వేరియబుల్పై ఆధారపడే ముందు పంపినవారిని చదవండి: కొన్ని పంపిణీలు upstream ఆర్గ్యుమెంట్ క్రమాన్ని ఉంచుతాయి, మరికొన్ని మీ స్క్రిప్ట్ను పిలిచే ముందు పరిసరాన్ని ఫిల్టర్ చేస్తాయి. $1 మరియు ఆరవ ఆర్గ్యుమెంట్ను మాత్రమే ఉపయోగించే స్క్రిప్ట్ రెండు సందర్భాలలోనూ పని చేస్తుంది.

కాల్ నుండి ఇంటర్ఫేస్ చదవండి

సాంప్రదాయ హుక్ ఇంటర్ఫేస్ను మొదట పొందుతుంది. ఆ స్థాన విలువ స్క్రిప్ట్ను ప్రారంభించిన సెషన్ను వివరించే ఇంటర్ఫేస్ గుర్తింపు. దాన్ని పైన ఒక వేరియబుల్లో నిల్వ చేసి, తర్వాత ఆ వేరియబుల్ను మార్గాలు, ఫైర్వాల్ నియమాలు మరియు తొలగింపు కోసం ఉపయోగించండి.

ipparam office-vpn

ప్రొఫైల్ మార్కర్ను ఎంపికలు నిర్వచించే చోట జోడించండి, స్క్రిప్ట్లో కాదు. టన్నెల్ యొక్క ఎంపిక ఫైల్లో ఆ పంక్తి ఉంటే, ఆ ఫైల్ నుండి సృష్టించిన ప్రతి సెషన్ ఆరవ ఆర్గ్యుమెంట్గా office-vpn ను మోసుకెళుతుంది. స్క్రిప్ట్ మార్కర్ ఆధారంగా శాఖలు వేయగలదు, అదే సమయంలో నిజమైన ఇంటర్ఫేస్పై పని చేస్తుంది. కోడ్లో రెండింటినీ వేరుగా ఉంచండి, ఎందుకంటే మార్కర్ స్థిరంగా ఉంటుంది మరియు ఇంటర్ఫేస్ ప్రతి సెషన్కు కేటాయించబడుతుంది.

నిరాకరణ సరైనప్పుడు మాత్రమే పేరు అడగండి

స్థిర పేరు ఆర్గ్యుమెంట్లను చదవడం కంటే సులభంగా కనిపిస్తుంది, కానీ వైఫల్య ప్రవర్తనను మారుస్తుంది. unit ఎంపిక బయటకు వెళ్లే కనెక్షన్ కోసం సంఖ్యను అడుగుతుంది, ఆ యూనిట్ ఇప్పటికే బిజీగా ఉంటే pppd డైనమిక్ కేటాయింపుకు తిరిగి వెళుతుంది. ఆ ఫలితంలో ఏదీ మీ ప్రొఫైల్ కోసం ppp0 ను కేటాయించదు.

ifname ppp-office

ifname ఎంపిక భిన్నంగా ప్రవర్తిస్తుంది: అడిగిన పేరు ఇప్పటికే వాడుకలో ఉంటే లేదా కేటాయించలేకపోతే, pppd మరొకటి ఎంచుకోకుండా బయటకు వెళుతుంది. అది రూపపు పేరు మార్పు కాదు, విధాన ఎంపిక. అదే ప్రొఫైల్ యొక్క రెండవ ఏకకాలిక ఉదాహరణను నిరాకరించాల్సినప్పుడు దాన్ని ఉపయోగించండి, మరియు ఇన్స్టాల్ చేసిన pppd మరియు మీ కనెక్షన్ మేనేజర్ ఆ ఎంపికను అందిస్తున్నాయని నిర్ధారించండి.

ఏదేమైనా, స్క్రిప్ట్ చూసే పేరే పని చేయవలసిన పేరు. కాన్ఫిగర్ చేసిన పేరు కాల్ను చదవాల్సిన అవసరాన్ని తొలగించదు, ఎందుకంటే పునఃప్రారంభించిన సెషన్ మునుపటి కంటే భిన్నమైన పేరును ఇప్పటికీ చూపగలదు.

తొలగింపును మీరు కాన్ఫిగర్ చేసిన సెషన్కు సరిపోల్చండి

మార్గాలు మరియు ఫైర్వాల్ నియమాలు వాటిని సృష్టించిన స్క్రిప్ట్ కంటే ఎక్కువ కాలం జీవిస్తాయి, కాబట్టి తొలగింపు సెషన్ యాజమాన్యంలోని వస్తువులను సరిగ్గా తీసివేయాలి. నియమాలను ఇంటర్ఫేస్తో పాటు ప్రొఫైల్ మార్కర్తో కూడా ట్యాగ్ చేయండి, ఆ ట్యాగ్తో తొలగించండి. రెండు టన్నెళ్లు ఒకేసారి పైకి ఉండగలిగితే, ppp ను ప్రస్తావించే ప్రతిదీ తొలగించడమే ఒక డిస్కనెక్ట్ మరొక కనెక్షన్ను విరిచే మార్గం.

బగ్ను వెల్లడించే సందర్భాన్ని పరీక్షించండి: మొదటిది ఇంకా కనెక్ట్ అయి ఉండగానే రెండవ PPP సెషన్ను పైకి లేపండి, తర్వాత మొదటిదాన్ని మళ్లీ కనెక్ట్ చేసి హుక్ ఏ ఇంటర్ఫేస్ నివేదిస్తుందో గమనించండి. ఒక సెషన్తో విజయవంతమైన పరుగు పేర్ల కేటాయింపు గురించి ఏమీ నిరూపించదు. VPN ఆపి ఉంచి పునరావృతం చేయండి, తొలగింపు పాత మార్గాన్ని విడిచిపెట్టదని నిర్ధారించడానికి.

మార్కర్, ఇంటర్ఫేస్ మరియు హుక్ మార్గాన్ని డిప్లాయ్మెంట్ నోట్స్లో ఉంచండి. రీబూట్ తర్వాత సంఖ్య మారినప్పుడు, ఆ మూడు విలువలు ఏ కాన్ఫిగరేషన్ సవరణ లేకుండా స్క్రిప్ట్ ఎందుకు భిన్నంగా ప్రవర్తించిందో వివరిస్తాయి.

సంబంధిత వ్యాసాలు