VPN టన్నెల్ అంటే ఏమిటి, రక్షణ ఎక్కడ ఆగుతుంది
టన్నెల్ ఎంపిక చేసిన ప్యాకెట్లను మీకు ఇప్పటికే ఉన్న లింక్ మీద రెండో కవరులో ఉంచుతుంది. ఒక అభ్యర్థనను అనుసరించి సైట్ నిజంగా ఏ చిరునామాను నమోదు చేస్తుందో చూడండి.
క్లయింట్ కనెక్ట్ అయిందని చెబుతుంది, తాళం మూసి ఉంది, అయినా ఒక సైట్ మీ ఫ్లాట్ చిరునామాను నమోదు చేస్తూనే ఉంది. ఏదీ విఫలం కాలేదు. టన్నెల్ మీ Wi-Fi లేదా మొబైల్ లింక్ను భర్తీ చేయదు; ఎంపిక చేసిన ప్యాకెట్ల చుట్టూ రెండో కవరును పెట్టి, ఆ కవరును మీకు ఇప్పటికే ఉన్న నెట్వర్క్ ద్వారా పంపుతుంది. ఈ ఉపాయాన్ని అర్థం చేసుకోవడం ప్రధానంగా ఒక అభ్యర్థనను అనుసరించి కవరు ఎక్కడ తెరుచుకుంటుందో గమనించడం, ఎందుకంటే ఇంటి చిరునామా లీక్ అవ్వడం నుండి పెద్ద డౌన్లోడ్ బ్లాక్ అవ్వడం వరకు దాదాపు ప్రతి గందరగోళ లక్షణం ఆ సరిహద్దు నుండే వస్తుంది.
రెండు కవర్లు, ఒక భౌతిక లింక్
మీ ల్యాప్టాప్ రౌటర్తో తన సాధారణ కనెక్షన్ను నిలుపుకుంటుంది, రౌటర్ ప్రొవైడర్తో తన సాధారణ కనెక్షన్ను నిలుపుకుంటుంది. టన్నెల్ పైకి వచ్చినప్పుడు ఆ మార్గంలో ఏదీ మారదు. మారేది ఏమిటంటే ఎంపిక చేసిన ప్యాకెట్లు వర్చువల్ ఇంటర్ఫేస్కు అప్పగించబడతాయి, VPN భాగస్వామికి చిరునామా చేసిన కొత్త ప్యాకెట్ లోపల చుట్టబడతాయి, భౌతిక లింక్ మీద సాధారణ ట్రాఫిక్గా పంపబడతాయి.
స్వీకరించే చివర కవరును తెరిచి అసలు ప్యాకెట్ను దాని గమ్యం వైపు పంపే పరికరం. రెండు చివరల మధ్య, పర్యవేక్షకుడు బయటి శీర్షికను చూస్తాడు, లోపలి గురించి ఏమీ చూడడు, ప్రోటోకాల్ దాన్ని ఎన్క్రిప్ట్ చేయకపోతే, చాలా వినియోగదారు ప్రోటోకాల్లు అలా చేస్తాయి మరియు సాధారణ పద్ధతి దాన్ని కోరదు.
అందుకే వర్చువల్ ఇంటర్ఫేస్ ఒకేసారి నిజమైనది మరియు తప్పుదారి పట్టించేది. ఇది చిరునామా మరియు గరిష్ఠ ప్రసార యూనిట్ ఉన్న కెర్నల్ వస్తువుగా ఉంటుంది, ఆపరేటింగ్ సిస్టమ్ ఏదైనా ఇతర ఇంటర్ఫేస్కు లాగానే దానిలోకి ట్రాఫిక్ను పంపుతుంది. ఇది కేబుల్ కాదు, దాని ఉనికి ఒక భాగం ఇన్స్టాల్ అయిందని మాత్రమే రుజువు చేస్తుంది. మీ బ్రౌజర్ దాన్ని ఉపయోగిస్తుందో లేదో మార్గాలు నిర్ణయిస్తాయి, ఇంటర్ఫేస్ పైన ఉండటం కాదు.
ఒక అభ్యర్థన ప్రయాణాన్ని చూడండి
ఒక గమ్యాన్ని ఎంచుకుని ఏ ఇంటర్ఫేస్ ఉపయోగిస్తుందో కెర్నల్ను అడగండి. ఈ ఒకే ఆదేశం టన్నెల్ ఏదైనా చేస్తుందా అనే చాలా చర్చలను పరిష్కరిస్తుంది:
ip route get 203.0.113.7
ip -brief addr show
ip -4 addr show dev wg0
మార్గ అవుట్పుట్ టన్నెల్ ఇంటర్ఫేస్ను పేర్కొంటే, ప్యాకెట్ చుట్టబడుతుంది. భౌతిక ఇంటర్ఫేస్ను పేర్కొంటే, చుట్టబడదు, క్లయింట్ను ఎన్నిసార్లు పునఃప్రారంభించినా అది మారదు. రెండో ఆదేశం రెండు ఇంటర్ఫేస్లను పక్కపక్కన చూపుతుంది, చిరునామా లేకుండా లేదా తప్పు కుటుంబపు చిరునామాతో లేచిన టన్నెల్ను ఇలాగే గుర్తిస్తారు.
తర్వాత కవరు లోపలి నుండి మొదటి హాప్ను చూసి, బయటి మొదటి హాప్తో పోల్చండి:
traceroute -n -m 3 203.0.113.7
sudo tcpdump -ni wg0 -c 5
టన్నెల్ లోపల మొదటి హాప్ భాగస్వామి లోపలి చిరునామా, మీ రౌటర్ కాదు. టన్నెల్ ఇంటర్ఫేస్పై క్యాప్చర్ లోపలి ప్యాకెట్లను చూపుతుంది, అదే అప్లికేషన్ పంపుతున్నట్టు నమ్మే ట్రాఫిక్. అదే సమయంలో భౌతిక ఇంటర్ఫేస్పై క్యాప్చర్ చేస్తే బయటి ప్యాకెట్లు కనిపిస్తాయి, రెండూ కలిసి టన్నెల్ నిజంగా ఏమి చేస్తుందో చెప్పే స్పష్టమైన ప్రదర్శన.
మూడు చిరునామాలు, సైట్కు ఒకటి మాత్రమే కనిపిస్తుంది
ప్రజలు వీటిని నిరంతరం గందరగోళపరుస్తారు, ఆ గందరగోళం తప్పుడు లీక్ నివేదికలను సృష్టిస్తుంది. ఇవి వేర్వేరు శీర్షికలలో వేర్వేరు క్షేత్రాలు, ఆయుష్షు కూడా వేర్వేరు.
| Address | Where it appears | Who can see it |
|---|---|---|
| Endpoint address | Outer header, the peer you connect to | Your access network and the path to it |
| Inner tunnel address | Inside the envelope, on the virtual interface | The peer, and anything the peer routes to |
| Exit address | Source of the packet that reaches the website | The website and its upstream |
వర్చువల్ అడాప్టర్ పక్కన ఉన్న సంఖ్య రెండో వరుస. అది సైట్ నమోదు చేసే చిరునామా కాదు, దాన్ని మీ పబ్లిక్ IPగా ఉటంకించడం కేవలం తప్పు. సైట్ చూసే చిరునామాను ఎగ్జిట్ ఇస్తుంది, ప్రైవేట్ నెట్వర్క్ టన్నెల్లో పబ్లిక్ ఎగ్జిట్ అసలు ఉండకపోవచ్చు, ఎందుకంటే గమ్యం ఇంటర్నెట్లో కాదు, సంస్థ లోపల ఉంటుంది.
సైట్-టు-సైట్ టన్నెల్ వేరే చివరి బిందువులతో అదే యంత్రాంగం. రెండు రౌటర్లు నెట్వర్క్ల మధ్య ట్రాఫిక్ను చుట్టుతాయి, ఏ ఒక్క పరికరంలోనూ క్లయింట్ ఇన్స్టాల్ కాలేదు. కవరు సూత్రప్రాయంగా సమానం, పరిపాలనా సరిహద్దు కాదు.
కవరు ఎక్కడ తెరుచుకుంటుంది, దాని నుండి ఏమి బయటపడుతుంది
టన్నెల్ తన భాగస్వామి వద్ద ముగుస్తుంది. అప్లికేషన్ స్వంత ఎన్క్రిప్షన్ ఇంకా దూరం వెళ్తే, అది ఆ సరిహద్దును దాటి బయటపడుతుంది, ఇది HTTPSకు సాధారణ సందర్భం: బ్రౌజర్ సెషన్ సైట్ వద్ద ముగుస్తుంది, కాబట్టి ఎగ్జిట్ చదవలేని ఎన్క్రిప్టెడ్ టెక్స్ట్ను పంపుతుంది.
మరేదీ డిఫాల్ట్గా బయటపడదు. ఎన్క్రిప్ట్ చేయని అభ్యర్థన ఎగ్జిట్ వద్ద కెఫే Wi-Fiలో చదవగలిగినట్టే చదవగలిగి ఉంటుంది, టన్నెల్ అప్లికేషన్కు ఎప్పుడూ లేని రక్షణను జోడించదు. అలాగే, ఎగ్జిట్ ఫైర్వాల్ నియమాలు మరియు ఫార్వర్డింగ్ విధానం తర్వాత ఏమి జరుగుతుందో నిర్ణయిస్తాయి; విజయవంతమైన హ్యాండ్షేక్ భాగస్వామి కనెక్షన్ గురించిన వాస్తవం, మిగిలిన ప్రయాణం గురించి కాదు.
అదనపు భారం మరో కనిపించే పరిణామం. ప్రతి ప్యాకెట్ అదనపు శీర్షికను మోస్తుంది, బయటి రవాణా తనది జోడించవచ్చు, కాబట్టి ప్యాకెట్కు ఉపయోగకరమైన పేలోడ్ తగ్గుతుంది. స్థిర గరిష్ఠ ప్రసార యూనిట్ ఉన్న మార్గంలో, టన్నెల్ పింగ్ను దాటించి పెద్ద అప్లోడ్ను ఆపగలగడానికి కారణం ఇదే.
అప్లికేషన్ నిజంగా తీసుకున్న మార్గాన్ని తనిఖీ చేయండి
చివరి దశ సాధారణంగా యంత్రాన్ని కాదు, నిర్దిష్ట అప్లికేషన్ను నిర్ధారించడం. గమ్యాన్ని పరిష్కరించి, ఆ చిరునామా మార్గాన్ని చూసి, తర్వాత కనెక్షన్ తెరిచి ఉన్నప్పుడు దాన్ని గమనించండి:
getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'
మార్గం టన్నెల్ను పేర్కొంటే కానీ సాకెట్ జాబితా భౌతిక ఇంటర్ఫేస్ మూల చిరునామాతో కనెక్షన్ను చూపిస్తే, అప్లికేషన్ ఏదో నిర్దిష్టానికి కట్టుబడి ఉంది, లేదా రెండో టన్నెల్ డిఫాల్ట్ మార్గం కోసం పోటీ పడుతోంది. ఇది రూటింగ్ ప్రశ్న, క్లయింట్ స్థితి స్క్రీన్ బదులు ఈ మూడు అవుట్పుట్ల నుండి సమాధానం చెప్పవచ్చు.
RFC 4301 భద్రతా నిర్మాణం IPsec కోసం ఈ చుట్టడం యొక్క IP పొర వెర్షన్ను వివరిస్తుంది, అదే పొర తర్కం WireGuard మరియు OpenVPN అనే ప్రోటోకాల్కు వర్తిస్తుంది. లోపలి ప్యాకెట్ మరియు బయటి ప్యాకెట్ను వేర్వేరు వస్తువులుగా చూపగలిగిన తర్వాత, టన్నెల్ ప్రవర్తనలో చాలా వరకు మర్మంగా ఉండటం ఆగిపోయి, మీరు చదవగలిగే రూటింగ్ పట్టికగా మారుతుంది.