OpenVPNలో రూట్ ఎక్కడ ఉండాలి: క్లయింట్లోనా సర్వర్లోనా?
సర్వర్ కాన్ఫిగ్లోని బేర్ రూట్ సర్వర్ను మారుస్తుంది, క్లయింట్ను కాదు. క్లయింట్ ఫైల్, గ్లోబల్ push లేదా ఒక క్లయింట్కు push ఎంచుకుని ఏమి చేరిందో తనిఖీ చేయండి.
మీరు సర్వర్ కాన్ఫిగరేషన్కు route 10.60.0.0 255.255.255.0 జోడిస్తారు, పునఃప్రారంభిస్తారు, ల్యాప్టాప్ను మళ్లీ కనెక్ట్ చేస్తారు, మరియు ఆ ల్యాప్టాప్ నుండి సబ్నెట్ ఇప్పటికీ చేరుకోలేనిదిగా ఉంది. లైన్ ఆమోదించబడింది, సేవ శుభ్రంగా ప్రారంభమైంది, లాగ్లో ఏదీ తప్పుగా కనిపించదు. జరిగినది ఏమిటంటే మీరు సవరించిన మెషీన్లోనే రూట్ ఇన్స్టాల్ చేయబడింది: గేట్వే ఇప్పుడు ఆ ప్రిఫిక్స్ను చేరుకోగలదని నమ్ముతుంది, కానీ క్లయింట్కు ఏమీ చెప్పబడలేదు. స్థానమే మొత్తం ప్రశ్న, అదే లైన్ నివసించగల నాలుగు ప్రదేశాలు ఉన్నాయి.
నాలుగు ప్రదేశాలు మరియు ప్రతి ఒక్కటి ఎవరు పొందుతారు
రూట్ను క్లయింట్ యొక్క సొంత కాన్ఫిగరేషన్ ద్వారా జోడించవచ్చు, గ్లోబల్ push ద్వారా ప్రతి క్లయింట్కు అందించవచ్చు, క్లయింట్-నిర్దిష్ట ఫైల్ ద్వారా ఒక క్లయింట్కు అందించవచ్చు, లేదా సర్వర్ యొక్క సొంత రూటింగ్ సందర్భంలో రాయవచ్చు.
ఆ నాలుగు సందర్భాలు దాదాపు ఒకేలాంటి సింటాక్స్ను ఉపయోగించి పూర్తిగా భిన్నమైన ఫలితాలను ఇస్తాయి. మొదటి మూడు క్లయింట్ టన్నెల్లోకి ఏమి పంపుతుందో ప్రభావితం చేస్తాయి; నాల్గవది సర్వర్ నెట్వర్క్ను ఎలా చేరుకుంటుందో ప్రభావితం చేస్తుంది, ఇది సర్వర్కే మార్గం అవసరమైనప్పుడు ఉపయోగకరం మరియు పంపిణీ అని పొరపాటుగా భావించినప్పుడు హానికరం.
లైన్ రాయడానికి ముందు నాలుగింటిలో ఏది కావాలో నిర్ణయించుకుని, తర్వాత స్వీకర్తను నిర్ధారించండి.
| Placement | Effect | Receiver |
|---|---|---|
| Client profile route | Installed by the client at connect | That client only |
Global push "route ..." | Sent to every client that accepts pushed options | All pulling clients |
| Client-specific push | Sent to the matching client context | One identity |
| Server config route, no push | Added to the server's own table | The gateway itself |
బేర్ సర్వర్ రూట్ ప్రజలను ఎందుకు ఆశ్చర్యపరుస్తుంది
సర్వర్ కాన్ఫిగరేషన్ నిర్వాహకులు మొదట చూసే ప్రదేశం, అక్కడి రూట్ సూచన VPN నెట్వర్క్ గురించి ప్రకటనలా చదవబడుతుంది. అలా కాదు. OpenVPN దానిని డీమన్ నడుస్తున్న మెషీన్లో స్థానిక రూట్ ఇన్స్టాలేషన్గా పరిగణిస్తుంది, ఇది మీరు ip route ఉపయోగించి చేసి తర్వాత మరచిపోయే అదే రకమైన మార్పు.
పంపిణీకి రూట్ push చేయాలి, push కు క్లయింట్ దానిని లాగాలి. లాగబడిన ఎంపికలు నిలిపివేయబడిన స్థితిలో ప్రారంభించిన క్లయింట్ ఆఫర్ను పూర్తిగా విస్మరిస్తుంది. సర్వర్ ఫైల్ను మళ్లీ రాసే ముందు ఆ చేతులు కలపడం రెండు చివరలను తనిఖీ చేయండి, ఎందుకంటే సర్వర్ లాగ్ ఫిర్యాదు చేయదు: దాని వైపు నుండి ఆఫర్ పంపబడింది. ఆమోదించిన రూట్ కూడా తదుపరి కనెక్షన్లో మాత్రమే అమలులోకి వస్తుంది, మీరు ఇప్పటికే ఉన్న సెషన్లో ఎప్పుడూ కాదు.
రెండింటినీ వేర్వేరు కార్యకలాపాలుగా చూసినప్పుడు, వైఫల్యం రహస్యంగా ఉండటం మానేస్తుంది: సర్వర్ ప్రిఫిక్స్ను చేరుకుంటుంది, క్లయింట్ చేరుకోలేదు, రెండు ప్రకటనలు ఒకే సమయంలో నిజం.
ప్రతి క్లయింట్ కోసం ఫైళ్లు మరియు అవి సరిపోయే గుర్తింపు
క్లయింట్-నిర్దిష్ట ఫైల్ సర్వర్ ప్రామాణీకరించిన గుర్తింపు పేరుతో పిలువబడుతుంది, ఇది డిఫాల్ట్గా సర్టిఫికేట్ యొక్క సాధారణ పేరు. డెస్క్టాప్ క్లయింట్లో స్నేహపూర్వక కనెక్షన్ పేరు ఆ విలువ కాదు, మరియు సరిపోలిక లేకపోతే ఎప్పుడూ చదవని ఫైల్ ఏర్పడుతుంది.
సర్వర్ వాస్తవంగా ఉపయోగించే డైరెక్టరీని తనిఖీ చేయండి, తర్వాత ఫైల్ పేరు ప్రామాణీకరించిన గుర్తింపుతో సరిగ్గా సరిపోతుందని నిర్ధారించండి, పెద్ద మరియు చిన్న అక్షరాలతో సహా.
grep -n 'client-config-dir' /etc/openvpn/server/server.conf
ls -l /etc/openvpn/ccd/ఆ ఫైల్ లోపల కూడా రూట్ push చేయాలి, ఎందుకంటే క్లయింట్-నిర్దిష్ట సందర్భం ఆ క్లయింట్ సెషన్కు వర్తించే ఎంపికల సమూహం, స్థానిక రూటింగ్ పట్టిక కాదు. అక్కడి బేర్ రూట్కు గ్లోబల్ ఫైల్లోని బేర్ రూట్ వలె అదే సమస్య ఉంటుంది.
క్లయింట్ యొక్క సొంత ఫైల్ మరియు దానిని కలిగి ఉన్న సాధనం
క్లయింట్ కాన్ఫిగ్లో ఉంచిన రూట్ ఆ క్లయింట్ కనెక్ట్ అయినప్పుడు ఇన్స్టాల్ అవుతుంది మరియు డిస్కనెక్ట్ అయినప్పుడు తొలగించబడుతుంది, ఇది స్థిర గమ్యానికి సరైన జీవిత చక్రం.
నెట్వర్క్ మేనేజర్ ప్రొఫైల్ను కలిగి ఉంటే, అది ఆ ఎంపికలను ఒకసారి దిగుమతి చేసుకుని తన కాపీని ఉంచుకోవచ్చు. తర్వాత డౌన్లోడ్ చేసిన ఫైల్ను సవరించడం ఏమీ మార్చదు, ఇది "రూట్ ఉంది కానీ వర్తించదు" అనే దానికి సాధారణ కారణం.
మీరు డౌన్లోడ్ చేసిన ఫైల్కు బదులుగా సక్రియ ప్రొఫైల్ను తనిఖీ చేయండి, మరియు మేనేజర్ చూపించే దిగుమతి చేసిన సెట్టింగ్లను తనిఖీ చేయండి. తర్వాత కనెక్ట్ అయి నిర్దిష్ట చిరునామా ఏ మార్గాన్ని ఉపయోగిస్తుందో సిస్టమ్ను అడగండి, టెక్స్ట్ ఫైల్లో రూట్ ఉందని టన్నెల్ గెలిచిందని ఊహించడం బదులు.
క్లయింట్లో ధృవీకరించి, తర్వాత తిరిగి వచ్చే మార్గాన్ని తనిఖీ చేయండి
గమ్యం గురించి క్లయింట్ యొక్క సొంత రూటింగ్ పట్టికను అడగండి, సర్వర్ దానిని కాదు. ప్రిఫిక్స్ లోపల ఒక హోస్ట్ కోసం శోధన ఏ ఇంటర్ఫేస్ మరియు తదుపరి హాప్ ఉపయోగించబడుతుందో చూపించడానికి సరిపోతుంది.
ip route get 10.60.0.10శోధన టన్నెల్ వైపు సూచిస్తే పంపిణీ పని చేసింది మరియు మిగిలిన సమస్య వేరే చోట ఉంది. అది డిఫాల్ట్ గేట్వే వైపు సూచిస్తే, రూట్ ఇన్స్టాల్ కాలేదు, క్లయింట్-సైడ్ ఎంపికతో ఫిల్టర్ చేయబడింది, లేదా క్లయింట్ ఉపయోగించని ప్రొఫైల్కు చెందినది.
పంపిణీ పని చేసింది కానీ ఏదీ స్పందించడం లేదని ఊహించండి: అప్పుడు గేట్వేలో ఫార్వార్డింగ్, అవతలి వైపు తిరిగి వచ్చే మార్గం, మరియు వాటి మధ్య ఏదైనా ఫైర్వాల్ తనిఖీ చేయండి. రూట్ మార్గాన్ని ఎంచుకుంటుంది, అది ప్రవేశాన్ని ఇవ్వదు.