Туннелди коноктун ичинде куруу да, аны хостто куруу да браузер билдирген даректи өзгөртөт, жана окшоштук ушунда бүтөт. Конокко таандык туннель өз ачкычтарын, демейки маршрутун жана чечүүчүсүн коноктун өзөгүнүн ичинде кармайт, ал эми хост шифрленген пакеттерди бир алыскы дарекке жөнөтөт. Хостко таандык туннель — анын күзгүдөгү чагылышы: хосттун кардары сессияны кармайт жана маршруттар менен саясатты колдонот, ал эми конок сыртка чыкканды карызга алат. Туура эмес ээсин тандасаңыз, кийинки ар бир белги сизди туура эмес машинага алып барат. Эки буйрук бул суроону болжол менен бир мүнөттө чечет, ал эми бул колдонмонун калганы — жооп менен эмне кылуу керектиги.

Кардарга кол тийгизгенге чейин ээсин аныктаңыз

Эреже шифрленген тексттин кайда өндүрүлүшү жөнүндө, кайсы машина VPN белгисин көрсөтүшү жөнүндө эмес. Эгер аны конок өндүрсө, конокко VPN серверине иштеген маршрут керек жана хосттон башка эч нерсе керек эмес. Эгер аны хост өндүрсө, коноктун хост аркылуу өткөн жолу хосттун кардары жергиликтүү трафикке жүктөгөн каалаган саясатка туруштук бериши керек.

Адатта үч суроо жайгашууну сиз үчүн тандайт. Коноктун трафиги хосттогу корпоративдик кардардан өтүшү керекпи? Анда туннель коноктун ичинде. Бир нече конокко бир эсептик маалымат жана бир чыгуу дареги керекпи? Анда ал хостто, атайын жөндөлгөн багыттоо менен. Коноктун трафиги хосттун VPN'инин сыртында толугу менен калышы керекпи? Анда коноктун туннели гана муну түзүлүшү боюнча берет.

Жоопту VM атынын жанына бир сапка жазып коюңуз: guest-owned же host-owned. Алты машинадан турган лабораторияда бул жазуу төмөнкү каалаган кадамдан көбүрөөк убакытты үнөмдөйт, анткени ал сиз кирген машинада эч качан болбогон туннелди текшерүүдөн сактайт.

WSL1 жана WSL2 — карама-каршы учурлар

WSL1 виртуалдык машина эмес, ошондуктан жайгашуу суроосу көбүнчө бууланып кетет. Анын Linux бинардык файлдары котормо катмары аркылуу Windows'тун тармактык стектерине каршы иштейт, ал эми Linux VPN кардарында конфигурациялоочу өзүнчө интерфейстер жок. Иштеген вариант — Windows тарабындагы туннель, ал эми дистрибутив эч нерсеге ээ болбой эле жыйынтыкты колдонот.

WSL2 — тескерисинче. Ал Hyper-V виртуалдык коммутаторунун артындагы жеңил жардамчы VM'де чыныгы өзөктү иштетет, ал эми анын дарек мейкиндиги хост тарабындагы адаптер аркылуу NAT'талат. Ошондуктан дистрибутивдин ичиндеги Linux кардары физикалык Linux кутусундагыдай жүрүм-турум көрсөтөт: ал tun0 же wg0 түзөт, өз маршруттарын орнотот жана иштейт. Бузулуу хост тарабында жашайт. Windows VPN кардары жергиликтүү тармактарда трафикти тоскон саясат менен туташканда, ал WSL2 ички тармагын ишенимсиз жергиликтүү тармак деп эсептейт жана NAT жолун кесип салат. Анда дистрибутив DNS менен сырткы жеткиликтүүлүктү жоготот, бирок өз туннели дагы эле соо: wg show кол алышууну билдирет, ip route туура көрүнөт, ал эми curl илинип калат.

Кайсы оңдоону колдонсоңуз болот, Windows курулушуна байланыштуу. Эскиси — WSL ички тармагы үчүн хост кардарындагы өзгөчөлүк, ал кардардын жергиликтүү тармак же бөлүнгөн туннель жөндөөлөрүнүн астына кошулат. Жаңысы, аны колдогон Windows 11 курулуштарында, күзгү тармактоо: %UserProfile%\.wslconfig файлынын [wsl2] бөлүмүнө networkingMode=mirrored коюңуз, wsl --shutdown иштетиңиз, ошондо дистрибутив жеке NAT ички тармагынын ордуна хосттун интерфейстерин бөлүшөт. Күзгү режим localhost жана кирүүчү порттордун жүрүм-турумун да өзгөртөт, ошондуктан ага которуу катары караңыз, которгуч катары эмес.

NAT, көпүрө жана хост эмнени көрө алат

NAT астында коноктун туннель пакеттери VPN серверинин коомдук дарегине багытталып, хосттун адаптеринен шифрленген UDP же TCP катары чыгат. Хост бир агымды жана анын байт санын көрөт, ичиндеги багыттар жөнүндө эч нерсе көрбөйт. Көпүрөлүү адаптер астында коноктун физикалык LAN'дагы өзүнүн 2-катмардагы инсандыгы бар, өз DHCP ижарасын алат жана MAC негизиндеги каалаган саясатка экинчи түзмөк болуп көрүнөт. Эки режимдин эч бири хостко туннелдин жүгүн окууга жол бербейт; көпүрөлүү конок жөн гана айланасындагы тармакка алда канча көрүнүктүү.

Обочолонуунун да төмөнкү чеги бар. Конок өз эсин ээлеген машинадан жашына албайт, ал эми хостту башкарган адам коноктун RAM'ынан ачкычтарды окуй алат. Коноктун туннели сизге багыттоо чегин жана зыяндуу программа чегин берет, ноутбукту кармап турган адамдан коргоону эмес. Документтелген адаптер режимдерин тандоо учурунда ачык кармаган жакшы, анткени режим хост көргөн нерсени да, LAN көргөн нерсени да өзгөртөт.

Колдонмо: жайгаштыруу, конфигурациялоо, далилдөө

Бул төрт текшерүүнү жаңы конок кабыгында кезеги менен аткарып, жазган ээсине дал келбеген биринчисинде токтогучу болуңуз.

  1. ip route get 1.1.1.1 tun0 же wg0 кайтарса — коноктун менчиги, ал эми жеке кийинки секирик менен eth0 кайтарса — хосттун менчиги.
  2. resolvectl query example.com, же конок чечүүчү кызматты иштетпеген жерде /etc/resolv.conf окуңуз. Трафикти ташыган, бирок DNS'ти ташыбаган туннель — эң көп кезиккен жарым конфигурацияланган абал.
  3. Чыгууларды салыштырыңыз: конокто curl -4 -s https://ifconfig.me жана хостто curl.exe -4 -s https://ifconfig.me. Ар башка даректер конок туннелге ээ экенин билдирет, ал эми VPN'деги хост үй провайдерин көрсөткөн конок менен бирге — «эч нерсе мураска алынган жок» учуру.
  4. Экөөнү тең -6 менен кайталаңыз. Тек v4 туннели v6'ны агызат, эгер кардар аны тоспосо же багыттабаса, ал эми көп кардар демейки боюнча v6'ны физикалык интерфейсте калтырат.

Бир нече конок бир туннелди бөлүшкөн хост-шлюз долбоорунда хост кайра багыттап, которушу керек. Linux хосттодо бул үч бөлүк, жана алардын бири жок болсо, конок үнсүз түрдө адаттагы маршрутуна кайтат:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT

WireGuard тарабында хост шеригинин AllowedIPs мааниси коноктордун ички тармагын камтышы керек, мисалы 192.168.122.0/24, болбосо кайтарым пакеттер эч качан жетпейт жана конфигурация өрт дубалынын маселесине окшошуп калат. Windows хост Интернет байланышын бөлүшүү же Hyper-V коммутаторундагы NAT эрежеси аркылуу ошол эле жыйынтыкка жетет жана ошол эле кайтарым жолун текшерүүнү талап кылат.

Жайгашуу дагы ачык болсо, бул жадыбал эң көп кезиккен варианттарды камтыйт:

SituationOwnerCheck first
One VM, host also on a corporate VPNGuestDoes the host client block local networks?
Six lab VMs, one exit addressHost plus forwardingip_forward, NAT rule, server AllowedIPs
Malware or research VMGuest, NATSnapshot age and resolver state
Bridged VM on an office LANGuestDHCP lease and port security

Эки туннель, эки конок жана алардын ортосундагы карама-каршылыктар

Бир убакта эки чыгуу керек болсо, туруштук берген үлгү — ар бир конокко бир туннель. Ар бир VM өз демейки маршрутун жана чечүүчүсүн сактайт, хост кадимки тармакта калат, ал эми эки туннель бир багыттоо жадыбалы үчүн эч качан талашпайт. Эки конокту көпүрө менен кошуу алардын маршруттарын да бириктирбейт: виртуалдык тармак жол берет, ал эми ар бир кардарга бул жергиликтүү трафиктин туннелди айланып өтүшү мүмкүн экенин дагы эле айтуу керек.

Хост туннелин жана конок туннелин чогуу иштетүү мыйзамдуу, жана атайын чөгөрүү кээде так керек болгон нерсе: конок өз туннелинен чыгат, ал эми ал туннель хосттун туннелинен чыгат. Муну үзгүлтүккө айландырган нерсе — кайсы акыркы чекитке кайсы катмар аркылуу жетүү керектигин эч ким жазып койбогондугу. Багыт жана ээсинен турган эки тилкелүү тизме кармаңыз, ошондо маршрут карама-каршылыгы түштөн кийинки издөөнүн ордуна бир суроо болуп калат.

Текшериңиз, анан калыбына келтирүүнү ээсинде калтырыңыз

Коноктун ичинен сынаңыз жаңы колдонмо процесси менен: трафик, аттарды чечүү, эки дарек үй-бүлөсү жана туннель кулаганда эмне болот. Хосттун VPN белгиси коноктун камтылышы жөнүндө эч нерсе айтпайт, жана бул бүт тармакта эң көп кезиккен жалган ырастоо.

Калыбына келтирүү да ээсине таандык. Конокко таандык туннель коноктун өз кардары жана анын жазган маршруттары менен калыбына келет. Хостко таандык долбоор хосттун жүктөлүү тартиби менен калыбына келет, ал эми багыттоо эрежелери unit же иштетүү тапшырмасы аларды кайра колдонбосо, кайра жүктөөдөн кийин калбайт. Калыбына келтирилген сүрөт — жайгаштыруу, жокко чыгаруу эмес, анткени ал диск менен бирге эски эсептик маалыматтарды жана эски маршруттарды кайтарат. Ишти бүттү деп жарыялоодон мурун ээсинин жазган сабыңызга дагы эле дал келерин, DNS жана эки дарек үй-бүлөсү коноктун ичинде чечилерин, өлүк туннель кара көңдөйдүн ордуна пайдаланууга жарактуу тармак калтырарын жана кайра жүктөө же сүрөттү калыбына келтирүү ошол эле абалды кайталаарын ырастаңыз.

Тектеш макалалар