ఒకే డెస్క్టాప్పై రెండు VPN క్లయింట్లు: ఏది ఢీకొంటుంది మరియు ఏది పనిచేస్తుంది
రెండు క్లయింట్లు డిఫాల్ట్ రూట్, రిజాల్వర్ మరియు ఫిల్టర్ డ్రైవర్ల కోసం పోటీపడతాయి. ఎగ్రెస్ ఎవరి వద్ద ఉందో నమోదు చేసి, ఆ తర్వాత రెండవ సొరంగాన్ని VM లేదా netns ద్వారా వేరు చేయండి.
మీ రెండవ క్లయింట్ కనెక్ట్ అవుతుంది, మొదటి దాని వనరులు రిజాల్వ్ కావడం ఆగిపోతుంది, మరియు పని VPN వ్యక్తిగత దాన్ని పాడు చేసిందని టికెట్ చెబుతుంది. లోపం అనే అర్థంలో ఏదీ పాడవలేదు: రెండు క్లయింట్లు తాము రూపొందించబడిన పనినే చేశాయి, మరియు యంత్రానికి ఒకే రూటింగ్ పట్టిక ఉంది. ఢీకొనడం ప్రతి క్లయింట్ తనదని భావించే నాలుగు వనరుల గురించి. వాటిని క్రమంగా పూర్తి చేయండి, పరిష్కారం సాధారణంగా మరమ్మతు కాకుండా డిజైన్ ఎంపిక అవుతుంది.
దశ 1: ఏ క్లయింట్ ఎగ్రెస్ కలిగి ఉందో కనుగొనండి
ఏదైనా మార్చే ముందు ప్రస్తుత ఎగ్రెస్ నిర్ణయాన్ని చదవండి. పబ్లిక్ చిరునామా కోసం రూట్ శోధన ప్యాకెట్ ఇప్పుడు ఏ ఇంటర్ఫేస్ మరియు తదుపరి హాప్ ఉపయోగిస్తుందో చెబుతుంది, మరియు అదే ఎవరు గెలిచారనే దానికి సమాధానం. దాన్ని క్లయింట్లు సృష్టించిన ఇంటర్ఫేస్ పేర్లతో పోల్చండి, అవి సాధారణంగా ఉత్పత్తి లేదా ప్రోటోకాల్ పేరును కలిగి ఉంటాయి. శోధన మీరు ఊహించని సొరంగాన్ని చూపిస్తే, మీరు ఇప్పటికే ఢీకొనడాన్ని కనుగొన్నారు.
ip route get 1.1.1.1
ip route show default
route print
కొన్ని క్లయింట్లు డిఫాల్ట్ రూట్ను అస్సలు భర్తీ చేయవు; అవి రెండు సగభాగాలను జోడిస్తాయి, ఒకటి చిరునామా స్థలం దిగువ సగానికి మరియు ఒకటి పై సగానికి, అవి కలిసి ప్రతిదీ కవర్ చేస్తాయి. ఇది అసలు డిఫాల్ట్ రూట్ను కనిపించేలా ఉంచి, చేతితో చేసిన మరమ్మతు సరైనదిగా కనిపించేలా చేస్తుంది, కానీ ట్రాఫిక్ ఇప్పటికీ సొరంగం ద్వారానే బయటకు వెళ్తుంది. కేవలం డిఫాల్ట్ నమోదు ఉనికిని మాత్రమే కాదు, మెట్రిక్ మరియు ప్రిఫిక్స్ పొడవును చదవండి.
రెండు క్లయింట్లు ఒకే మెట్రిక్తో ఒకే ప్రిఫిక్స్ను క్లెయిమ్ చేస్తే ఆగండి. కెర్నల్ ఒకదాన్ని ఎంచుకుంటుంది, మరొకటి ఏమీ మోయకుండానే కనెక్ట్ అయినట్లు కనిపిస్తుంది.
దశ 2: రిజాల్వర్ మరియు అతివ్యాప్తి చెందే ప్రిఫిక్స్లను తనిఖీ చేయండి
DNS రెండవ ఢీకొనడం, మరియు అది ప్రత్యేక లక్షణాన్ని ఉత్పత్తి చేస్తుంది: చిరునామాలు పనిచేస్తుండగా పేర్లు విఫలమవుతాయి. ప్రతి క్లయింట్ తన స్వంత రిజాల్వర్ను రుద్దుతుంది, మరియు తదుపరి ప్రశ్నలకు చివరగా రాసేది గెలుస్తుంది. క్లయింట్ సెట్టింగ్ పేజీని చదవడం బదులు ప్రతి లింక్కు ఏమి ఉపయోగిస్తుందో రిజాల్వర్ సేవను అడగండి.
resolvectl status
Get-DnsClientServerAddress
dig +short intranet.corp.example
తర్వాత రెండు నెట్వర్క్లు ఉపయోగించే ప్రైవేట్ ప్రిఫిక్స్లను పోల్చండి. రెండు వైపులా ఒకే శ్రేణి నుండి కేటాయిస్తే, క్లయింట్ వైపు ఏ ఏర్పాటు దాన్ని సరిచేయదు, ఎందుకంటే ఏ 10.0.0.0/8 గమ్యం ఏ సొరంగానికి చెందుతుందో యంత్రం చెప్పలేదు. ఒక వైపును మళ్లీ సంఖ్యలు కేటాయించాలి లేదా అనువదించాలి, అది కాన్ఫిగరేషన్ మార్పు కాదు, నెట్వర్క్ యజమానులతో సంభాషణ. అతివ్యాప్తి మాత్రమే నిజాయితీ సమాధానం «డిజైన్ మారాలి» అని ఉండే ఏకైక ఢీకొనడం.
ప్రిఫిక్స్లు అతివ్యాప్తి చెందితే ఇక్కడే ఆగండి. ఈ జాబితాలో మిగిలినవన్నీ అవి అతివ్యాప్తి చెందవని ఊహిస్తాయి.
దశ 3: నిలిచే విభజన నమూనాను ఎంచుకోండి
నమ్మదగిన నమూనాలు ఒకే రూటింగ్ పట్టికకు వ్యతిరేకంగా రెండు క్లయింట్లను నడపడాన్ని నివారిస్తాయి. రెండు ప్రైవేట్ నెట్వర్క్లను చేరే స్ప్లిట్-టన్నెల్ విధానం ఉన్న ఒక క్లయింట్ అత్యంత సులభం, గమ్యాలు అతివ్యాప్తి చెందకపోతే మరియు విధానం యజమాని అంగీకరిస్తే. వర్చువల్ మెషీన్ లేదా నెట్వర్క్ నేమ్స్పేస్ తదుపరి దశ, ఎందుకంటే ప్రతిదీ తన స్వంత పట్టికను మరియు తన స్వంత రిజాల్వర్ను పొందుతుంది.
sudo ip netns add vpn2
sudo ip netns exec vpn2 ip link show
sudo ip netns exec vpn2 curl -sI https://intranet.corp.example/
నేమ్స్పేస్ రెండవ ఆపరేటింగ్ సిస్టమ్ లేకుండా వర్చువల్ మెషీన్ లాంటి విభజనను ఇస్తుంది, కానీ గరుకు అంచులు ఉన్నాయి: సొరంగ పరికరాన్ని దానిలోకి తరలించాలి, మరియు అప్లికేషన్ దాని లోపల ప్రారంభించాలి. నిర్వహించబడే పని క్లయింట్తో పాటు వ్యక్తిగత VPN కోసం ప్రత్యేక భౌతిక పరికరం తరచుగా అత్యంత తక్కువ ఆశ్చర్యకరమైన ఎంపిక. ఒక సొరంగాన్ని మరొకటి లోపల పేర్చడం విభజన నమూనా కాదు; లోపలి ముగింపు బిందువు బయటి సొరంగం ద్వారా చేరుకోగలిగి ఉండాలి, మరియు ఈ ఏర్పాటు పైన MTU మరియు ఆలస్య సమస్యలను జోడిస్తుంది.
ఒక నమూనాను ఎంచుకుని ఎందుకో రాయండి. ఒక అప్లికేషన్కు నేమ్స్పేస్ మరియు మిగిలినవాటికి స్ప్లిట్ టన్నెల్ కలపడం అసలు ఢీకొనడాన్ని డీబగ్ చేయడానికి కష్టమైన రూపంలో తిరిగి సృష్టిస్తుంది.
దశ 4: అదే సెషన్ నుండి రెండు నెట్వర్క్లను ధృవీకరించండి
ప్రతి ప్రైవేట్ నెట్వర్క్లో ఒక వనరును అప్లికేషన్ నిజంగా నడిచే వాతావరణం నుండి పరీక్షించండి, అప్లికేషన్ నేమ్స్పేస్ లోపల నడిస్తే మీ షెల్ నుండి కాదు. ఎగ్రెస్ ఇంటర్ఫేస్, రిజాల్వ్ అయిన చిరునామా మరియు ప్రతిస్పందన కోడ్ను కలిసి తనిఖీ చేయండి, ఎందుకంటే మూడింటిలో ఒకదానిలో విజయం మిగిలినవాటిలో వైఫల్యాన్ని దాచగలదు. రీబూట్ తర్వాత పునరావృతం చేయండి, ఎందుకంటే క్లయింట్లు ప్రారంభమయ్యే క్రమమే ఎవరు గెలుస్తారో నిర్ణయిస్తుంది. ఆ క్రమాన్నే ప్రజలు నమోదు చేయడం మరచిపోతారు.
curl -sI https://intranet.corp.example/
curl -sI https://files.personal.example/
ip route get 10.20.30.40
ప్రతి నెట్వర్క్ కోసం క్లయింట్ వెర్షన్లు, ఇంటర్ఫేస్లు, రిజాల్వర్ స్థితి మరియు ప్రిఫిక్స్లను నమోదు చేయండి. ఒక క్లయింట్ అప్డేట్ అయి తన రూట్ ప్రవర్తనను మార్చినప్పుడు, ఆ నమోదే ఐదు నిమిషాల మరమ్మతు మరియు పునర్నిర్మాణం మధ్య వ్యత్యాసం. తదుపరి వ్యక్తి ఏ సొరంగం మొదట లేచిందనే మీ జ్ఞాపకాన్ని పంచుకోరు.
డిఫాల్ట్ రూట్ కలిగిన ఇంటర్ఫేస్, ప్రతి పేరు ఉపయోగించే రిజాల్వర్, రెండవ సొరంగాన్ని వేరు చేసే నమూనా, మరియు రీబూట్ తర్వాత ప్రతి నెట్వర్క్కు ఒక అభ్యర్థన ఫలితాన్ని మీరు చెప్పగలిగితే జాబితా పూర్తవుతుంది. అంతకంటే తక్కువ ఏదైనా ఈరోజు యాదృచ్ఛికంగా పనిచేస్తున్న కాన్ఫిగరేషన్.