రెండవ VPN సొరంగం మొదటిదాన్ని ఎందుకు విరుస్తుంది?
రెండవ VPN క్లయింట్ రెండు సగం-డిఫాల్ట్ మార్గాలను ఇన్స్టాల్ చేస్తుంది మరియు మొదటి సొరంగం చీకటిగా మారుతుంది: ఏ మార్గం గెలుస్తుందో చదవండి, ఆపై ప్రొఫైల్, పట్టిక లేదా నేమ్స్పేస్ ప్రకారం వేరు చేయండి.
ఒక కస్టమర్ నెట్వర్క్ను చేరుకోవడానికి రెండవ VPN క్లయింట్ను ఇన్స్టాల్ చేయడం ఇది ప్రారంభమయ్యే సాధారణ మార్గం, మరియు రెండు క్లయింట్లు విజయాన్ని నివేదిస్తున్నప్పుడు మొదటి సొరంగం చీకటిగా మారుతుంది. ప్రతి క్లయింట్ డిఫాల్ట్ మార్గాన్ని ఇన్స్టాల్ చేసింది, రెండవది మరింత నిర్దిష్టంగా ఉంది, ఇప్పుడు కెర్నల్ మొదటి సొరంగం యొక్క స్వంత బాహ్య కనెక్షన్ తప్ప మిగతా అన్నింటికీ దానిని అనుసరిస్తుంది. ఏదీ క్రాష్ కాలేదు మరియు ఏ ప్రొఫైల్ తప్పుగా లేదు. ఒక మార్గం మరొకదాన్ని భర్తీ చేసింది, పరిష్కారం ఏ సొరంగం డిఫాల్ట్ను కలిగి ఉండాలో నిర్ణయించడం.
లక్షణం: రెండవ క్లయింట్ నిశ్శబ్దంగా గెలుస్తుంది
OpenVPN: redirect-gateway def1 ఎంపిక 0.0.0.0/0 ను తిరిగి వ్రాయదు. ఇది 0.0.0.0/1 మరియు 128.0.0.0/1 జోడిస్తుంది: రెండూ కలిసి ప్రతి IPv4 చిరునామాను కవర్ చేస్తాయి, ప్రతి ప్రిఫిక్స్ పొడవులో సాధారణ డిఫాల్ట్ను ఓడిస్తుంది. అసలు డిఫాల్ట్ పట్టికలో ఉంటుంది, సాధారణ ట్రాఫిక్కు ఉపయోగించడం ఆగిపోతుంది, VPN సర్వర్కు హోస్ట్ మార్గం సొరంగం తన బాహ్య ప్యాకెట్లను పట్టుకోకుండా నిరోధిస్తుంది. రెండు క్లయింట్లు ఇలా చేస్తాయి, రెండవది తన జంటను తర్వాత ఇన్స్టాల్ చేస్తుంది.
అందుకే మొదటి సొరంగం డిస్కనెక్ట్ కాకుండా చనిపోయినట్లు కనిపిస్తుంది. దాని ఇంటర్ఫేస్ పైన ఉంది, నియంత్రణ ఛానెల్ సజీవంగా ఉంది, ఇక ఏ అప్లికేషన్ ట్రాఫిక్ దానిని చేరుకోదు. వ్యతిరేక ఫిర్యాదుకు కూడా అదే మిస్ అయిన push ఉంది: కనెక్ట్ అయ్యే కానీ ఏమీ పంపని ఫోన్ సాధారణంగా ఎప్పుడూ redirect-gateway ప్రకటించని సర్వర్తో మాట్లాడుతుంది, కాబట్టి పరికరం తన డిఫాల్ట్ను ఉంచుకుని పూల్ను మాత్రమే చేరుకుంటుంది.
రెండవ క్లయింట్ కనెక్ట్ అయ్యే ముందు మరియు తర్వాత మార్గాల స్నాప్షాట్ తీసుకోండి. పట్టికలో కనిపించే రెండు సగం-మార్గాలే మొత్తం మార్పు, అవి రెండు ఫిర్యాదులను వివరిస్తాయి. లక్షణం కనిపించడానికి పట్టికలో మరేదీ కదలాల్సిన అవసరం లేదు. అందుకే రెండవ క్లయింట్ను తీసివేయడం మొదటిదాన్ని వెంటనే పునరుద్ధరిస్తుంది.
ఏ సొరంగం నిజంగా గెలుస్తుందో చదవండి
క్లయింట్లు ప్రారంభమైన క్రమం నుండి లేదా ట్రేలోని ఐకాన్ నుండి విజేతను ఊహించవద్దు. రెండు ప్రైవేట్ నెట్వర్క్లకు వెలుపల ఉన్న గమ్యానికి కెర్నల్ ఏ మార్గాన్ని ఉపయోగిస్తుందో అడగండి, తిరిగి వచ్చిన ఇంటర్ఫేస్ చదవండి.
ip route show
ip route get 198.51.100.24
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.24
మొదటి రెండు Linux సమాధానం, చివరి రెండు Windows సమానం. రెండు సొరంగాలు పైన ఉన్నప్పుడు వాటిని నడపండి, తర్వాత ఒకదాన్ని డిస్కనెక్ట్ చేసి మళ్లీ నడపండి. రెండు అవుట్పుట్ల మధ్య వ్యత్యాసమే పరిష్కారాన్ని ఎంచుకునే ముందు అవసరమైన వాస్తవం, అది ఏ క్లయింట్ లాగ్ చదవడం కంటే తక్కువ సమయం తీసుకుంటుంది.
ఇంటర్ఫేస్ పేరు మరియు సరిపోలిన ప్రిఫిక్స్తో ఫలితాన్ని నమోదు చేయండి. రెండవ VPN మొదటిదాన్ని విరిచిందని చెప్పే టికెట్ లక్షణం వివరణ, ఎవరైనా పని చేయగల మార్గ ప్రకటన కాదు. శోధన దానిని తదుపరి ఇంజినీర్ ఒక ఆదేశంలో పునరుత్పత్తి చేయగల వాస్తవంగా మారుస్తుంది.
Windows: ఒక ప్రొఫైల్ డిఫాల్ట్ను కలిగి ఉండకుండా నిరోధించండి
Windows నిల్వ చేసిన ప్రొఫైల్లను ఉంచుతుంది, అంతర్నిర్మిత క్లయింట్ ఒకటి మరొకదానిపై ఆధారపడేందుకు అనుమతిస్తుంది, కాబట్టి రెండవది కనెక్ట్ అయినప్పుడు మొదటిది స్వయంచాలకంగా పైకి వస్తుంది. చివరగా కనెక్ట్ అయిన ప్రొఫైల్ డిఫాల్ట్ను ఉంచుకునే ధోరణి ఉంది, కాబట్టి ఆచరణాత్మక యజమాని మొదటిది కాదు, చివరి కనెక్షన్. ప్రతి ప్రొఫైల్కు దాని స్వంత push మార్గాలను ఇవ్వండి మరియు డిఫాల్ట్ ఉండకూడదన్న దానికి split tunneling ఆన్ చేయండి.
Set-VpnConnection -Name "Contoso" -SplitTunneling $true
rasdial Contoso
Split tunneling దీన్ని మారుస్తుంది: పట్టికలోకి సర్వర్ push చేసిన ప్రిఫిక్స్లు మాత్రమే వస్తాయి, ఇది డిఫాల్ట్ను మొదటి సొరంగం వద్ద వదిలివేస్తుంది. రెండు సర్వర్లు డిఫాల్ట్ మార్గాన్ని push చేస్తే డిజైన్ ఇప్పటికీ విఫలమవుతుంది, అప్పుడు చివరి కనెక్షన్ గెలుస్తుంది మరియు క్లయింట్ వైపు ఏ సెట్టింగ్ దానిని మార్చదు. సర్వర్ వైపు push సరిచేయండి లేదా ఒక యజమానిని అంగీకరించండి.
యాప్ ద్వారా ప్రారంభమయ్యే ప్రొఫైల్లు మరో లక్షణం మరియు తెలుసుకోదగినది: Windows ప్రొఫైల్ పేరు పెట్టిన ఎగ్జిక్యూటబుల్ ప్రారంభమైనప్పుడు ప్రారంభం కావచ్చు, ట్రాఫిక్ ఫిల్టర్లు ఏమి మోస్తుందో నిర్ణయిస్తాయి. ఇది firewall నియమం కాదు, ప్రొఫైల్ సెట్టింగ్, డిఫాల్ట్ మార్గ ఘర్షణకు భిన్నమైన సమస్యను పరిష్కరిస్తుంది.
Linux: రెండవ సొరంగాన్ని ప్రధాన పట్టిక వెలుపల ఉంచండి
ఒక మెషీన్లో openvpn --config యొక్క రెండు ఇన్స్టాన్స్లు నడిపితే రెండు క్లయింట్లు ఒకే పట్టికలోకి వస్తాయి, మూడు ఎంపికలు పెరుగుతున్న వేరుచేయడంతో వాటిని విభజిస్తాయి. అత్యంత తేలికైనది రెండవ క్లయింట్ పట్టికను సవరించకుండా పూర్తిగా నిరోధించడం: స్పష్టమైన మార్గాలతో route-nopull, లేదా మీరు ఉద్దేశించినది మాత్రమే ఇన్స్టాల్ చేసే route-up స్క్రిప్ట్. అప్పుడు రెండవ సొరంగం మీరు పేరు పెట్టిన ప్రిఫిక్స్లను మాత్రమే మోస్తుంది, మరేదీ కాదు. అప్పుడు ఏ ప్రిఫిక్స్ ఎక్కడికి వెళ్లాలో తర్వాత కనుగొనే బదులు మీరే నిర్ణయిస్తారు.
విధాన మార్గదర్శనం మధ్య ఎంపిక. ఒక నియమం ఒక మూల చిరునామా లేదా firewall గుర్తుకు ప్రత్యేక పట్టికను ఎంచుకుంటుంది, ఆ పట్టిక రెండవ సొరంగం మార్గాలను మోస్తుంది. ఇక్కడ రివర్స్-పాత్ ఫిల్టరింగ్ ఉచ్చు, ఎందుకంటే పట్టిక ఎంచుకునే ఇంటర్ఫేస్ కంటే వేరే ఇంటర్ఫేస్పై వచ్చే సమాధానం విస్మరించబడుతుంది, కాబట్టి సొరంగం విరిగిందని నిర్ణయించే ముందు rp_filter సెట్టింగ్ తనిఖీ చేయండి.
ip rule add from 10.44.7.0/24 table 100
ip route add default dev tun1 table 100
sysctl net.ipv4.conf.all.rp_filter
నెట్వర్క్ నేమ్స్పేస్లు అత్యంత బరువైన మరియు అత్యంత శుభ్రమైన ఎంపిక. రెండవ క్లయింట్ను ip netns లోపల ప్రారంభించండి, దానికి veth జంట ఇవ్వండి, ఉపయోగించడానికి ఆ నేమ్స్పేస్లోకి ప్రవేశించండి. ప్రతి నేమ్స్పేస్ ఒకదాన్ని పంచుకునే బదులు తన స్వంత పట్టికలను కలిగి ఉండటం వల్ల జోక్యం మాయమవుతుంది, రెండు సొరంగాలు వారాల పాటు పైన ఉండాల్సినప్పుడు ఆ అదనపు సెటప్ విలువైనది.
ప్రతి అప్లికేషన్కు, మరియు గొలుసు ప్రత్యేక సమస్యగా
కొన్నిసార్లు ఒక ప్రోగ్రామ్ మాత్రమే రెండవ సొరంగాన్ని ఉపయోగించాలి. Linux లో వినియోగదారు, cgroup లేదా పోర్ట్ ప్రకారం విధాన మార్గదర్శనం ఆ ఫలితాన్ని చేరుకుంటుంది, ఒక గమ్యాన్ని డిఫాల్ట్ను తాకకుండానే ఇంటర్ఫేస్కు పిన్ చేయవచ్చు. తన సాకెట్ను ఒక ఇంటర్ఫేస్కు పిన్ చేసే అప్లికేషన్ మార్గ పట్టికను అసలు అడగదు, కాబట్టి లాంచర్ తన స్వంత సెట్టింగ్లలో చిరునామా ఎంచుకునే వరకు భౌతిక అడాప్టర్ను ఉపయోగించడం కొనసాగించవచ్చు.
గొలుసు రెండు సొరంగాలను పక్కపక్కన నడపడం కంటే భిన్నమైన ఆపరేషన్. A ను B పైన గొలుసుగా కలపడం అంటే లోపలి సర్వర్ చిరునామా బాహ్య సొరంగం లోపలి నుండి చేరుకోగలిగి ఉండాలి. బాహ్య క్లయింట్ కూడా లోపలి క్లయింట్ యొక్క ఎన్క్రిప్ట్ ప్యాకెట్లను లీక్గా భావించకూడదు. వర్చువల్ మెషీన్లో ఒక క్లయింట్ మొరటైన కానీ నమ్మదగిన సంస్కరణ; రెండూ ఒకే హోస్ట్పై ఉంటే పైన చెప్పిన మార్గ పనితో పాటు లోపలి సొరంగంలో ఎప్పటికీ ప్రవేశించని బాహ్య మార్గం అవసరం.
డిఫాల్ట్ యజమాని, ప్రతి సొరంగం మోసే ప్రిఫిక్స్ జాబితా మరియు DNS మార్గాన్ని రాయండి. ఆ మూడు వాస్తవాలు తదుపరి సంఘటనను విచారణకు బదులు శోధనగా మారుస్తాయి.