OpenVPN: local మరియు టన్నెల్ చిరునామా, రెండు వేర్వేరు సాకెట్లు
సర్వర్తో సంబంధం పెట్టుకునే చిరునామా టన్నెల్ లోపలి చిరునామా కాదు. local, remote, nobind లను వేర్వేరు పాత్రలుగా చదవడం చాలా bind లోపాలను వివరిస్తుంది.
క్లయింట్ ప్రారంభం కావడానికి నిరాకరిస్తుంది, స్థానిక చిరునామాను bind చేయలేనని ఫిర్యాదు చేస్తుంది, స్పష్టమైన పరిష్కారం అది ఆశించే టన్నెల్ చిరునామా వైపు చూపించడం లాగా కనిపిస్తుంది. అది పనిచేయదు, కారణాన్ని అర్థం చేసుకోవడం విలువైనది: టన్నెల్ ఉనికిలోకి రాకముందు లోపలి చిరునామా ఉండదు, సర్వర్తో సంబంధం పెట్టుకునే సాకెట్ మొదట ఉండాలి. ఇందులో రెండు వేర్వేరు చిరునామాలు ఉన్నాయి, వాటిలో ఒకటి మాత్రమే స్థానికంగా ఎంచుకోగలము.
bind లోపం స్థానిక చిరునామాను పేర్కొంటుంది
OpenVPN స్థానిక చిరునామాను bind చేయలేమని తెలిపినప్పుడు, అది రవాణా సాకెట్ గురించి మాట్లాడుతోంది: పీర్ వరకు గుప్తీకృత కనెక్షన్ను మోసే UDP లేదా TCP చివర.
స్పష్టమైన local సూచన, ఆ సాకెట్ను నిర్దిష్ట స్థానిక చిరునామాకు bind చేయమని డీమన్ను కోరుతుంది. ప్రాసెస్ నడిచే నెట్వర్క్ నేమ్స్పేస్లో ఆ చిరునామా ఉండాలి, క్లయింట్ ప్రారంభమయ్యే క్షణంలో అది కేటాయించగలిగి ఉండాలి.
రౌటర్లో లేదా క్లౌడ్ అంచున అనువదించబడే పబ్లిక్ చిరునామా, డీమన్ bind చేయగల స్థానిక చిరునామా కాదు, అదే సర్వర్ చూసే చిరునామా అయినప్పటికీ. ఈ భేదమే ఒక ప్రొఫైల్ ఇంట్లో పనిచేసి క్లౌడ్ ఇన్స్టాన్స్లో విఫలమవడాన్ని వివరిస్తుంది. పబ్లిక్ చిరునామాను లూప్బ్యాక్ ఇంటర్ఫేస్కు జోడించడం ఎందుకు సహాయపడదో కూడా ఇది వివరిస్తుంది, ఎందుకంటే అప్పుడు రవాణా నెట్వర్క్ తిరిగి పంపలేని చిరునామా నుండి మూలాన్ని తీసుకుంటుంది. ప్రొఫైల్ను సవరించే ముందు ఇంటర్ఫేస్ జాబితాను చదవండి.
local, remote నిజంగా ఏమి ఎంచుకుంటాయి
remote సంబంధం పెట్టుకోవాల్సిన పీర్ను పేర్కొంటుంది. local అదే సాకెట్ దగ్గరి చివరను bind చేస్తుంది. nobind ఆపరేటింగ్ సిస్టమ్ స్థానిక చిరునామా మరియు పోర్ట్ రెండింటినీ ఎంచుకోనిస్తుంది, అందుకే హోమ్ రౌటర్ల వెనుక ఉన్న క్లయింట్లు సాధారణంగా ఈ రెండు సూచనలు లేకుండానే పనిచేస్తాయి.
ఈ సూచనలకు టన్నెల్ లోపలి చిరునామాతో ఎలాంటి సంబంధం లేదు.
కంటైనర్లో లేదా నెట్వర్క్ నేమ్స్పేస్లో అదే నియమం సన్నని హద్దులతో వర్తిస్తుంది: హోస్ట్ చిరునామాలు లోపల ఉండవు, కాబట్టి హోస్ట్ కాన్ఫిగరేషన్ నుండి కాపీ చేసిన local లైన్ తప్పు చిరునామా కంటే పూర్తిగా వేరే కారణంతో విఫలమవుతుంది.
ip -brief address show
ip route get 203.0.113.10లోపలి చిరునామా సర్వర్ నుండి వస్తుంది
టన్నెల్ లోపలి చిరునామా నియంత్రణ ఛానెల్ ఏర్పడిన తర్వాత చర్చించబడుతుంది లేదా కేటాయించబడుతుంది. డైనమిక్ పూల్తో సర్వర్ కనెక్ట్ సమయంలో నిర్ణయిస్తుంది, క్లయింట్-నిర్దిష్ట కాన్ఫిగరేషన్తో ప్రతి గుర్తింపుకు స్థిరంగా ఉండవచ్చు.
లోపలి చిరునామాతో local రాయడం ఆ చిరునామాను కేటాయించమని సర్వర్ను కోరదు. ఉత్తమ స్థితిలో bind విఫలమవుతుంది; అత్యంత దుర్భర స్థితిలో క్లయింట్ అదే విలువ కలిగిన సంబంధం లేని హోస్ట్ చిరునామాను కనుగొని దాన్ని రవాణా కోసం ఉపయోగించడం మొదలుపెడుతుంది.
చదవాల్సిన ఇంటర్ఫేస్లు కూడా వేరుగా ఉంటాయి. ifconfig పరామితులు మరియు పూల్ కాన్ఫిగరేషన్ లోపలి భాగాన్ని వివరిస్తాయి, remote, local, proto, nobind బయటి భాగాన్ని వివరిస్తాయి. ఈ రెండు జాబితాలను వేరుగా ఉంచడం ఫోరమ్లో కనిపించే దాదాపు ప్రతి గందరగోళ ఉదాహరణను వివరిస్తుంది. అందుకే OpenVPN 2.6 మాన్యువల్ వాటిని వేర్వేరు విభాగాల్లో నమోదు చేస్తుంది.
ఉచ్చు: తన సొంత రవాణాను పట్టుకునే పూర్తి టన్నెల్
టన్నెల్ పైకి వచ్చి డిఫాల్ట్ మార్గాన్ని మోసిన తర్వాత, దాన్ని నిలబెట్టే ప్యాకెట్లు దానిలోకి రూట్ చేయకూడదు. ఇది చిరునామా సమస్య కాదు, రూటింగ్ సమస్య, డీమన్ అసలు గేట్వే ద్వారా సర్వర్ సొంత చిరునామాకు మరింత నిర్దిష్ట మార్గాన్ని ఇన్స్టాల్ చేసి దాన్ని నిర్వహిస్తుంది.
రవాణాను నిర్దిష్ట స్థానిక చిరునామాకు కట్టి, ఆ చిరునామా ఉపయోగించే మార్గాన్ని తర్వాత మార్చినట్లయితే, లోపలి భాగం కాన్ఫిగర్ అయి ఉన్నప్పటికీ బయటి కనెక్షన్ దారి తప్పవచ్చు. లోపలి భాగం బాగానే ఉన్నందుకు టన్నెల్ కనెక్ట్ అయినట్లు చెప్పడం కొనసాగిస్తుంది. రవాణా మాత్రమే పాడైంది, అందుకే లాగ్లు వైరుధ్యాలుగా చదవబడతాయి.
అప్పుడు లక్షణాలు కనెక్ట్ అయి గడ్డకట్టే టన్నెల్లా, లేదా ఉపయోగకరమైన లోపం లేకుండా లూప్లో మళ్లీ కనెక్ట్ అయ్యే టన్నెల్లా కనిపిస్తాయి. టన్నెల్ లోపల ఏదైనా తనిఖీ చేసే ముందు పీర్ చిరునామాకు మార్గాన్ని తనిఖీ చేయండి, మీరు bind చేసిన స్థానిక చిరునామా ఇప్పటికీ మీరు ఆశించిన ఇంటర్ఫేస్కే చెందుతుందో నిర్ధారించండి.
గందరగోళాన్ని నివారించే అలవాటు
ప్రొఫైల్లోని ప్రతి చిరునామాను చదివి, సవరించే ముందు అది ఏ పొరకు చెందుతుందో నిర్ణయించండి.
అది రవాణా దూరపు చివరను పేర్కొంటే లేదా దాని దగ్గరి చివరను bind చేస్తే, అది బయటి చిరునామా, ప్రారంభానికి ముందు ఉండాలి. టన్నెల్ లోపల ఏమి జరుగుతుందో వివరిస్తే, అది సర్వర్ నుండి లేదా టోపాలజీ నుండి వస్తుంది, ఏ స్థానిక సూచనా దానికి ప్రత్యామ్నాయం కాలేదు.
ఆ రెండు జాబితాలను ప్రొఫైల్ పక్కన డిప్లాయ్మెంట్ నోట్స్లో రాయండి. తదుపరి సమస్య పరిష్కార సెషన్ ఊహతో కాకుండా పొరతో ప్రారంభమవుతుంది.