ఒకే Pi పై రెండు VPN హాప్లు: ఏ మార్గం ఏ సహచరుడిని తీసుకెళ్తుంది
ఒకే Pi పై రెండు టన్నెల్ చిరునామాలు లోపం కాదు. ప్రతి గమ్యానికి దాని స్వంత వాహకం, దాని స్వంత రుజువు మరియు బయటి హాప్ మరణించినప్పుడు ప్రకటించిన బ్యాకప్ అవసరం.
ఒక చిన్న బోర్డుపై రెండు టన్నెల్ చిరునామాలు తప్పుగా కనిపిస్తాయి, మరియు ప్రతిస్పందన ఒకటి తొలగించడం. ఆ ప్రతిస్పందన సర్దుబాటు చేయాల్సిన దాన్నే విరగ్గొడుతుంది. రెండు హాప్లు మోసే హోస్ట్ ప్రతి కనెక్షనుకు ఒక చిరునామా ఉంచుకుంటుంది, ప్రతి చిరునామాను వేరే మార్గం ఎంచుకుంటుంది. అడగదగిన ప్రశ్న ఏ మార్గం ఏ గమ్యానికి ఏ వాహకాన్ని ఎంచుకుంటుంది అనేది, ఎన్ని చిరునామాలు ఉన్నాయి అనేది కాదు.
వేర్వేరు వాహకాలు అవసరమయ్యే మూడు గమ్యాలు
రెండు హాప్ల గొలుసు ఒకదానిపై ఒకటి అమర్చిన మూడు గమ్య వర్గాలు, ప్రతి దాన్ని వేరే కనెక్షన్ మోస్తుంది. బయటి సహచరుడిని భౌతిక లింక్ ద్వారా చేరుకోవాలి. లోపలి సహచరుడిని బయటి టన్నెల్ ద్వారా చేరుకోవాలి. కప్పబడిన అప్లికేషన్ గమ్యాన్ని లోపలి టన్నెల్ ద్వారా చేరుకోవాలి, దాని స్వంత రవాణాను బయటి టన్నెల్ మోస్తుంది.
| Destination class | View that names the carrier | Command that proves it | Symptom when the wrong carrier wins |
|---|---|---|---|
| Outer peer, 198.51.100.10 | the main table, by destination | ip route get 198.51.100.10 | the outer handshake never completes |
| Inner peer, 203.0.113.7 | the main table once the outer tunnel is up | ip route get 203.0.113.7 | the inner handshake leaves over the physical link |
| Application destination, 172.30.9.1 | the table the inner client's traffic is selected into | ip route get 172.30.9.1 from 10.8.0.2 | the exit address looks right and the traffic never crossed the outer hop |
| Parallel tunnels, one per source group | one policy per group, not the main table | ip rule show beside a marked test connection | both tunnels are up and one steals the other's traffic |
మార్గాన్ని తాకే ముందు వరుసలను పాఠకుడి నిజమైన చిరునామాలతో నింపండి, ఎందుకంటే పట్టిక నిర్దిష్టంగా ఉన్నప్పుడే ఉపయోగకరం. పనిచేసే గొలుసు నాలుగు వరుసలను ఒకేసారి తీరుస్తుంది, సగం పనిచేసే గొలుసు సాధారణంగా వాటిలో ఒకదాన్ని తప్పు వాహకంతో తీరుస్తుంది. తప్పు వరుసను లోపంగా చదవడమే మార్గ మార్గదర్శక సమస్యను పూర్తి మధ్యాహ్నపు సవరణలుగా మారుస్తుంది.
చిరునామాలకు సంఖ్య కాదు, పాత్రలు ఉంటాయి
లినక్స్ ఒక ఇంటర్ఫేస్పై అనేక చిరునామాలను, ఒక హోస్ట్పై అనేక టన్నెళ్లను అనుమతిస్తుంది, కాబట్టి సంఖ్య సరైనత గురించి ఏమీ చెప్పదు. ఏ చిరునామా ఏ కనెక్షనుది, మరియు ఇచ్చిన సహచరుడికి సంబంధించిన మార్గం మీరు ఉద్దేశించిన కనెక్షనును ఎంచుకుంటుందా అనేది ముఖ్యం. మూడు వీక్షణలు దానికి మూడు దిశల నుండి సమాధానమిస్తాయి, ప్రతిసారీ అదే క్రమంలో వాటిని చదవడం విలువైనది.
చిరునామాల జాబితా ఏమి ఉంది మరియు ఏ కనెక్షన్ దాన్ని కలిగి ఉంది అని చూపిస్తుంది. మార్గ పట్టిక సాధారణ గమ్య ట్రాఫిక్ కోసం వాహక ప్రశ్నకు సమాధానమిస్తుంది. విధాన వీక్షణ మూలం లేదా గుర్తు ద్వారా ఎంచుకున్న ట్రాఫిక్ కోసం మళ్లీ సమాధానమిస్తుంది, రెండు క్లయింట్లు ఒక హోస్ట్ను పంచుకున్నప్పుడు ఇది సాధారణ ఏర్పాటు.
ip -4 addr show
ip -4 route show table all
ip rule show
జాబితా పొడవుగా కనిపిస్తుందని చిరునామాను తొలగించడం మార్గంలో కొంత భాగాన్ని తీసివేయవచ్చు, అదనంగా కనిపిస్తుందని మార్గాన్ని తొలగించడం అదే పనిని మరింత నిశ్శబ్దంగా చేస్తుంది. రెండూ లోపాన్ని ఉత్పత్తి చేయవు; సహచరుడు మీరు ఉద్దేశించిన మార్గంలో సమాధానమివ్వడం ఆపేస్తుంది, కానీ మరొక మార్గం ద్వారా చేరుకోగలిగేలా ఉంటుంది. లోపలి సహచరుడి నిష్క్రమణ చిరునామాను నివేదించే అప్లికేషన్ ట్రాఫిక్ బయటి టన్నెల్ దాటిందని రుజువు చేయదు, ఎందుకంటే ప్రత్యక్ష ప్రవేశం అదే పరిశీలనను ఇస్తుంది. పరిశీలనకు రుజువుకు మధ్య ఉన్న ఈ అంతరమే మార్గ మార్గదర్శక పొరలో వాహకాన్ని తనిఖీ చేయడానికి కారణం.
సక్రియీకరణ క్రమం స్థిర నిద్రను ఓడిస్తుంది
లోపలి క్లయింట్ బయటి క్లయింట్ అందించే చిరునామా లేదా మార్గంపై ఆధారపడి ఉంటే, సక్రియీకరణ ఆలస్యం కాకుండా ఆ వనరు కోసం వేచి ఉండాలి. నిద్ర బయటి టన్నెల్ నెమ్మదిగా ఉన్న రోజు వరకు పనిచేస్తుంది, ఆ తర్వాత ఎవరూ తిరిగి సృష్టించలేని విధంగా అప్పుడప్పుడు విఫలమవుతుంది. ఆధారాల ఆధారిత క్రమం ఊహను తొలగిస్తుంది, ఆధారాన్ని ఒకసారి వివరించడం తప్ప ఏమీ ఖర్చు చేయదు. ఇంటర్ఫేస్ పేర్లు కూడా క్రమానికి యంత్రాంగం కాదు.
కర్నెల్ tun0 మరియు tun1 వంటి పేర్లను సృష్టి క్రమంలో ఇస్తుంది, ఆ క్రమం పునఃప్రారంభం లేదా పునఃకనెక్షన్ల మధ్య మారవచ్చు. కాన్ఫిగరేషన్ను సాధనం అందించే గుర్తింపుకు లేదా మీరు ఉద్దేశపూర్వకంగా ఇచ్చే పేరుకు కట్టండి. మీరు ఎంచుకునే పేరు ఒప్పందం; కర్నెల్ ఎంచుకునే పేరు యాదృచ్ఛికం.
ప్రతి క్లయింట్ రవాణాను మరొకరి అప్లికేషన్ మార్గం వెలుపల ఉంచండి, OpenVPN 2.6 మార్గ మార్గదర్శక ఎంపికలు నిజంగా ఏమి వాగ్దానం చేస్తాయో దానిపై ఖచ్చితంగా ఉండండి. నమోదిత డిఫాల్ట్ మళ్లింపు యంత్రాంగం క్లయింట్ ఇప్పటికే ఉన్న గేట్వే ద్వారా తన స్వంత దూర సహచరుడిని చేరుకునే సామర్థ్యాన్ని నిలబెడుతుంది, ఇది ఒక నిర్దిష్ట పునరావృత లూప్ను కత్తిరిస్తుంది. అది ఒక క్లయింట్ను మరొకరి వాహకంగా మార్చదు, కాబట్టి గొలుసులో మిగిలిన భాగం మీ రూపకల్పనగానే ఉంటుంది. గొలుసుకు మార్గం బదులు విధానం అవసరమయ్యే చోట స్పష్టమైన మూలం లేదా గుర్తు నియమాన్ని రాసి, అది సరిపోలాల్సిన ట్రాఫిక్తో పరీక్షించండి.
బయటి హాప్ మరణించినప్పుడు ఏమి జరుగుతుంది
గొలుసు పూర్తిగా పరిగణించబడే ముందు, బయటి హాప్ అదృశ్యమైనప్పుడు ఏమి జరుగుతుందో నిర్ణయించండి. లోపలి క్లయింట్ రవాణా దానితో పాటు మరణిస్తుంది, తదుపరి అడుగు సాంకేతికం కాదు, విధాన ప్రశ్న: విఫలమవడం, మళ్లీ ప్రయత్నించడం లేదా భౌతిక లింక్ ద్వారా నేరుగా తిరిగి కనెక్ట్ అవడం. మూడవ ఫలితమే ఆలోచించదగినది. వినియోగదారు కవరేజీ ఇప్పటికీ చెక్కుచెదరకుందని నమ్ముతున్న క్షణంలో అది రెండు హాప్ల రూపకల్పనను ఒక హాప్ రూపకల్పనగా నిశ్శబ్దంగా మారుస్తుంది.
రెండు హాప్లు తప్పనిసరి అయితే, బయటిది వెళ్లినప్పుడు లోపలి క్లయింట్ ప్రత్యక్ష మార్గాన్ని ఏర్పాటు చేయలేకపోవాలి, దాన్ని తెలుసుకునే మార్గం బయటి హాప్ను విచ్ఛిన్నం చేసి లోపలిది ఏమి చేస్తుందో గమనించడం. ఆమోదించిన బ్యాకప్ చట్టబద్ధమైన సమాధానం, కానీ అది వ్రాయబడి, పరీక్షించబడి, తెలియజేయబడాలి. ఎవరూ నమోదు చేయని బ్యాకప్ సంఘటన సమీక్షలో లీక్ నుండి వేరు చేయలేము.
DNS మరియు మరొక చిరునామా కుటుంబం అదే నిర్ణయంలో ఉంటాయి. స్థానికంగా సృష్టించిన శోధన హోస్ట్ స్వంత విధానాన్ని అనుసరిస్తుంది, ఫార్వర్డ్ చేసిన క్లయింట్ విధానాన్ని కాదు, కాబట్టి ఫార్వర్డ్ ట్రాఫిక్కు పనిచేసే రిజాల్వర్ హోస్ట్ స్వయంగా ఉపయోగించేది కాకపోవచ్చు.
ప్రతి పొరను మీరు నిర్మించిన క్రమంలో ఆమోదించండి
గొలుసు నిర్మించిన క్రమంలో పరీక్షించండి: మొదట ఒంటరిగా బయటి టన్నెల్, తర్వాత బయటి టన్నెల్ ద్వారా లోపలి క్లయింట్ రవాణా, తర్వాత లోపలి టన్నెల్ ద్వారా అప్లికేషన్. ప్రతి ఆమోదం ఇప్పటికే తెరిచి ఉన్న పేజీ కాకుండా కొత్త కనెక్షన్ అయి ఉండాలి. తర్వాత ప్రతి పొరను విడివిడిగా విచ్ఛిన్నం చేసి పునరుద్ధరించి తదుపరిది ఏమి చేస్తుందో గమనించండి.
బ్యాకప్ ఫలితం ఇక్కడ అత్యంత విలువైన పరిశీలన, మరియు పబ్లిక్ IP పేజీ ఎప్పుడూ చూపించనిది. సహచరుల మార్గాలు, వారు ఉపయోగించే చిరునామాలు మరియు ఆ ఫలితాన్ని కాన్ఫిగరేషన్ పక్కన సేవ్ చేయండి, ఎందుకంటే సుఖమయ మార్గం తర్వాత ప్రశ్నించబడే భాగం కాదు.