Ինչ է 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-ում, և թունելը չի ավելացնում պաշտպանություն, որը հավելվածը երբեք չի ունեցել։ Նույն կերպ, ելքի firewall-ի կանոններն ու փոխանցման քաղաքականությունը որոշում են, թե ինչ կլինի հետո. հաջող ձեռքսեղմումը փաստ է գործընկերոջ կապի մասին, ոչ թե ճանապարհորդության մնացած մասի։
Ավելորդ ծախսը մյուս տեսանելի հետևանքն է։ Յուրաքանչյուր փաթեթ կրում է լրացուցիչ վերնագիր, և արտաքին տրանսպորտը կարող է ավելացնել իր սեփականը, ուստի փաթեթի օգտակար բեռը փոքրանում է։ Հաստատուն առավելագույն փոխանցման միավորով ուղու վրա հենց դրա համար թունելը կարող է անցկացնել ping և կանգնեցնել մեծ վերբեռնում։
Ստուգեք այն ուղին, որն իրականում անցել է հավելվածը
Վերջին քայլը կոնկրետ հավելվածը հաստատելն է, ոչ թե մեքենան ընդհանուր առմամբ։ Լուծեք նպատակակետը, նայեք այդ հասցեի երթուղուն, ապա դիտեք կապը, քանի դեռ այն բաց է:
getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'
Եթե երթուղին նշում է թունելը, բայց սոքեթների ցանկը ցույց է տալիս կապ ֆիզիկական միջերեսի աղբյուրի հասցեով, հավելվածը կապված է ինչ-որ կոնկրետ բանի, կամ երկրորդ թունելը մրցում է լռելյայն երթուղու համար։ Սա երթուղավորման հարց է, և դրան կարելի է պատասխանել այս երեք ելքերից, ոչ թե հաճախորդի կարգավիճակի էկրանից։
RFC 4301 անվտանգության ճարտարապետությունը նկարագրում է այս փաթաթման IP շերտի տարբերակը IPsec-ի համար, և շերտերի նույն տրամաբանությունը գործում է WireGuard-ի և OpenVPN-ի համար։ Երբ կարողանաք մատնանշել ներքին փաթեթը և արտաքին փաթեթը որպես առանձին օբյեկտներ, թունելի վարքագծի մեծ մասը դադարում է առեղծված լինելուց և դառնում է երթուղային աղյուսակ, որը կարող եք կարդալ։