వరుసగా రెండు VPN హాప్లు: మీ ట్రాఫిక్ను నిజంగా ఎవరు చూస్తారు?
సీరియల్ హాప్లు మొదటి గేట్వేలో డీక్రిప్ట్ చేసి మళ్లీ ఎన్క్రిప్ట్ చేస్తాయి; నెస్టెడ్ హాప్లు బయటి పొరను మాత్రమే తొలగిస్తాయి. రెండు డిజైన్లను చూసి ఏ ఆపరేటర్ ఏమి చదువుతారో తెలుసుకోండి.
ప్రతి క్లయింట్ ప్రొఫైల్ ఒక సర్వర్ను పేర్కొంటుంది, కాబట్టి వినియోగదారు స్థానం నుండి ఒక టన్నెల్ మరియు రక్షణ ముగిసే ఒక స్థలం ఉన్నాయి. ఆ మొదటి గేట్వే తర్వాత ఏమి జరుగుతుందో క్లయింట్ ఎప్పుడూ చూడని డిజైన్ నిర్ణయం, మరియు రెండు సాధారణ డిజైన్లు పరిశీలనలో చాలా భిన్నంగా ప్రవర్తిస్తాయి. సీరియల్ గొలుసులో మొదటి గేట్వే డీక్రిప్ట్ చేసి మళ్లీ ఎన్క్రిప్ట్ చేస్తుంది. నెస్టెడ్ గొలుసులో అది బయటి పొరను తొలగించి తాను తెరవలేని లోపలి టన్నెల్ను ముందుకు పంపుతుంది. హాప్ల సంఖ్య రెండింటిలో సమానం, అందుకే భేదాన్ని లెక్కించకుండా గీయాలి.
క్లయింట్ నుండి ప్రారంభించి రెండు చివరలకు పేరు పెట్టండి
వినియోగదారు ప్రారంభించే చోటి నుండి, అంటే కనెక్షన్ ప్రొఫైల్లో ప్రారంభించండి. అందులో ఒక దూర చిరునామా, ఒక ప్రామాణీకరణ పద్ధతి మరియు డిజైన్ మద్దతు ఇస్తే మార్గాల జాబితా ఉంటాయి. క్లయింట్ నుండి A గేట్వే వరకు ఆ బయటి టన్నెల్ను లేబుల్ చేసి ఉదాహరణ చిరునామాలు ఇవ్వండి: క్లయింట్ టన్నెల్ చిరునామా 10.77.0.2, A యొక్క 10.77.0.1, మరియు A యొక్క పబ్లిక్ ముగింపు బిందువు 198.51.100.10, TEST-NET-2 డాక్యుమెంటేషన్ పరిధి నుండి తీసుకోబడింది, ఉదాహరణలో ఏదీ నిజమైన హోస్ట్తో ఢీకొనకుండా.
ఆ ప్రొఫైల్లో B గేట్వే గురించి ఏమీ పేర్కొనబడలేదు, అది లోపం కాదు. రెండవ హాప్ A కి చెందుతుంది, క్లయింట్ యొక్క ఏకైక బాధ్యత ట్రాఫిక్ను A కి చేర్చి తిరిగి వచ్చినది అంగీకరించడం. A టన్నెల్ను ముగిస్తుందా, పంపుతుందా లేదా కొత్తది తెరుస్తుందా అనేది ఈ ప్రయాణం మిగిలిన భాగం సమాధానమిచ్చే ప్రశ్న, అదే A ఏమి చదవగలదో నిర్ణయిస్తుంది.
సీరియల్: A డీక్రిప్ట్ చేసి తర్వాత మళ్లీ ఎన్క్రిప్ట్ చేస్తుంది
సీరియల్ డిజైన్లో A ట్రాఫిక్ను రెండుసార్లు ముగిస్తుంది. అది క్లయింట్ నుండి రక్షణను తొలగించి, అప్లికేషన్ యొక్క IP ప్యాకెట్ను పొంది, తర్వాత ఆ ప్యాకెట్ను A, B వైపు సృష్టించే రెండవ టన్నెల్ ద్వారా పంపుతుంది. ఈ రెండు చర్యల మధ్య ప్యాకెట్ A యొక్క ఫార్వార్డింగ్ మార్గంలో ప్రైవేట్ గమ్యానికి చిరునామా చేయబడిన సాధారణ IP ప్యాకెట్గా కూర్చుంటుంది.
దాని నుండి స్పష్టంగా చెప్పదగిన రెండు పరిణామాలు వస్తాయి. A లోపలి ప్యాకెట్పై విధానాన్ని అమలు చేయగలదు, మార్గాలు, ఫిల్టర్ నియమాలు మరియు మూలం మరియు గమ్యం యొక్క లాగింగ్ రూపంలో, మరియు A రెండు సెట్ల ఆధారాలను ఉంచుకోవాలి: ఒకటి క్లయింట్ కోసం సర్వర్గా మరియు మరొకటి B యొక్క క్లయింట్గా. ప్రతి క్షణం రక్షణ ఉంటుంది, అయినప్పటికీ రక్షించబడే వస్తువు A వద్ద గుర్తింపును మారుస్తుంది.
దాని నుండి A అప్లికేషన్ యొక్క స్పష్ట పాఠ్యాన్ని చదువుతుందని అర్థం కాదు. క్లయింట్ మరియు సేవ TLS నడిపి ఒకరి ధృవపత్రాలను ఒకరు ధృవీకరించుకున్నప్పుడు, A చదవగల అభ్యర్థనకు బదులుగా TLS రికార్డ్ ప్రవాహాన్ని చూస్తుంది. ఆ రక్షణ ఎక్కడ ముగుస్తుందో నిర్ధారించడానికి టన్నెల్ చిత్రం కాదు, సేవ యొక్క ధృవపత్ర గొలుసును చూడాలి.
నెస్టెడ్: A బయటి పొరను మాత్రమే తొలగిస్తుంది
నెస్టెడ్ డిజైన్లో క్లయింట్ మొదట B వైపు లోపలి టన్నెల్ను నిర్మించి, తర్వాత ఆ టన్నెల్ను బయటి టన్నెల్ లోపల A వరకు తీసుకువెళుతుంది. A బయటి శీర్షికను తొలగించి, లోపలి టన్నెల్ను కనుగొని దాని కీలను ఉంచుకోకుండా పంపుతుంది, కాబట్టి లోపలి రక్షణ ఇప్పటికీ B వద్ద ముగుస్తుంది.
అప్పుడు క్లయింట్ యొక్క పైలింక్ రెండు పొరలను మోస్తుంది, A మరియు B మధ్య మార్గం ఒకటి మోస్తుంది. A లోపలి టన్నెల్ యొక్క బయటి చిరునామాలను చూస్తుంది, అది ట్రాఫిక్ ఉందని మరియు సుమారుగా ఎక్కడికి వెళ్తోందని తెలుసుకోవడానికి సరిపోతుంది, పేలోడ్ చదవడానికి సరిపోదు. సీరియల్ కేసు నుండి మొత్తం భేదం ఇదే, ఏ హాప్ కౌంటర్ దానిని చూపదు. A ఇంకా చేయగలిగినది చదవలేని దాన్ని పంపడానికి నిరాకరించడం, అది ఆ గేట్వే ఆపరేటర్కు ఎల్లప్పుడూ అందుబాటులో ఉంటుంది.
నెస్టింగ్ ఆ లక్షణం కోసం ధర చెల్లిస్తుంది. ప్రతి పొర శీర్షిక ఓవర్హెడ్ను జోడిస్తుంది, కాబట్టి MTU మరియు MSS ప్రణాళిక చక్కగా ఉండటం కాకుండా తప్పనిసరి అవుతుంది, ఒక పొరతో పనిచేసే మార్గం రెండుతో పెద్ద ప్యాకెట్లను నిశ్శబ్దంగా వదిలేయగలదు. ప్రతి పొరకు దాని స్వంత పునఃకనెక్ట్ మరియు సజీవంగా ఉంచే ప్రవర్తన కూడా కావాలి, ఒక పొరలో వైఫల్యం మరొకదాని ద్వారా పాక్షిక అంతరాయంగా కనిపిస్తుంది.
టన్నెల్లు మాత్రమే కాదు, పర్యవేక్షకులను గీయండి
టన్నెల్లు చిత్రంలో సులభమైన భాగం. పర్యవేక్షకులే డిజైన్ విషయం, కాబట్టి ప్రతి దృక్కోణానికి ఒక వరుస రాసి ప్రతి ఒక్కరు నిజంగా ఏమి చదవగలరో నింపండి.
| Vantage point | Serial chain | Nested chain |
|---|---|---|
| Client's access network | Outer tunnel only | Outer tunnel only |
| Operator of A | Inner IP packet between A and B | Outer addresses of the inner tunnel, not its payload |
| Path between A and B | Second tunnel | Second tunnel |
| Operator of B | Inner packet re-originated by A | Payload after the inner layer is removed |
| Service edge | Traffic from the exit address | Traffic from the exit address |
రెండు వరుసలు నిరంతరం కలిసిపోతాయి: A యొక్క ఆపరేటర్ మరియు క్లయింట్ టన్నెల్ యొక్క ప్రదాత. వారు ఒకే సంస్థ కావచ్చు, వేర్వేరు గేట్వే పేర్లు వారిని స్వతంత్రులను చేయవు. స్వతంత్ర యాజమాన్యానికి ప్రత్యేక పరిపాలనా నియంత్రణ, ప్రత్యేక ఆధారాలు మరియు ప్రత్యేక లాగింగ్ కావాలి.
మెటాడేటా రెండు డిజైన్లలోనూ నిలిచి ఉంటుంది. సమయం, ప్యాకెట్ పరిమాణాలు మరియు కనెక్షన్ల సంఖ్య ప్రతి హాప్ వద్ద గమనించదగినవిగానే ఉంటాయి, కాబట్టి రెండు హాప్లు సంకేతాన్ని తొలగించడం కాకుండా సహసంబంధ ఖర్చును పెంచుతాయి. అదృశ్యతను వాగ్దానం చేసే డిజైన్ను ఎవరైనా దానిపై ఆధారపడే ముందు ఆ జాబితాతో పరిశీలించాలి.
ఎంచుకునే ముందు వైఫల్య మార్గాలను నడవండి
వినియోగదారు ఎదుర్కొనే క్రమంలో క్లయింట్ నుండి ఉద్దేశపూర్వకంగా వస్తువులను విరగ్గొట్టండి. ఇంటర్ఫేస్ మరియు దాని MTU తో ప్రారంభించండి, ఎందుకంటే నెస్టింగ్ ప్రామాణీకరణలో విఫలమవ్వడానికి చాలా ముందే ప్యాకెట్ పరిమాణంలో విఫలమవుతుంది.
ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1
తర్వాత రక్షణ ముగింపు బిందువులను ఊహించకుండా నిర్ధారించండి. ఏ టన్నెల్ అయినా పనిచేస్తున్న దాని లోపలి నుండి సేవను దాని ధృవపత్రాన్ని అడగండి, మరియు క్లయింట్ చూసే గొలుసును సేవ నిజంగా ప్రదర్శించే గొలుసుతో పోల్చండి. మళ్లీ సంతకం చేసే లేదా అడ్డగించే గేట్వే ఆ ధృవపత్రాన్ని మారుస్తుంది, పరిశీలన ఒకే ఆదేశంలో కనిపిస్తుంది.
openssl s_client -connect intranet.example.com:443 -brief < /dev/null
పునఃకనెక్షన్ మ్యాట్రిక్స్తో ముగించండి: క్లయింట్ టన్నెల్ పడిపోతుంది, B టన్నెల్ పడిపోతుంది, A మరియు B మధ్య మార్గం మారుతుంది. ఏమి తిరిగి వస్తుంది, ఏమి రాదు, మరియు లోపలి కనెక్షన్ ఎప్పుడైనా దాని ఉద్దేశిత వాహకం వెలుపలి మార్గానికి పడిపోతుందా అని గమనించండి. ప్రతి పరీక్ష ఉపయోగించిన చిరునామాలను నమోదు చేయండి, ఎందుకంటే మరొక యాక్సెస్ నెట్వర్క్లో దాన్ని పునరావృతం చేయడం మరొక ప్రశ్నకు సమాధానమిస్తుంది. ప్రతి పునఃకనెక్షన్ తర్వాత MTU పరీక్షను కూడా పునరావృతం చేయండి, ఎందుకంటే మారిన మార్గం ఒక్క కాన్ఫిగరేషన్ లైన్ కదలకుండానే ఉపయోగపడే పరిమాణాన్ని తగ్గించగలదు.
A లోపలి ప్యాకెట్పై విధానాన్ని అమలు చేయాల్సి వచ్చినప్పుడు, లేదా క్లయింట్ రెండు పొరల టన్నెల్లను నడపలేనప్పుడు సీరియల్ను ఎంచుకోండి. లోపలి పేలోడ్ A వద్ద చదవలేనిదిగా ఉండాల్సి వచ్చినప్పుడు నెస్టింగ్ను ఎంచుకోండి. ఎంపికను దాని పర్యవేక్షకులతో మరియు MTU సంఖ్యలతో రాయండి, తదుపరి వ్యక్తి ఒక ప్రశ్నకు సమాధానం ఇవ్వడానికి మొత్తం చిత్రాన్ని మళ్లీ గీయాల్సిన అవసరం ఉండదు.