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 коопсуздук архитектурасы IPsec үчүн бул оролуунун IP катмарындагы версиясын сүрөттөйт, катмарлардын ошол эле логикасы WireGuard жана OpenVPN үчүн да колдонулат. Ички пакетти жана сырткы пакетти өзүнчө объектилер катары көрсөтө алгандан кийин, туннелдин жүрүм-турумунун көбү жумбак болуудан калат да, окуй алган маршруттоо таблицасына айланат.