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 પર લાગુ પડે છે. એક વાર તમે અંદરના પેકેટ અને બહારના પેકેટને અલગ ઑબ્જેક્ટ તરીકે દર્શાવી શકો, પછી મોટાભાગનું ટનલ વર્તન રહસ્યમય રહેવાનું બંધ કરે છે અને એ રૂટિંગ કોષ્ટક બની જાય છે જે તમે વાંચી શકો છો.