WireGuard ішіндегі корпоративтік VPN: қай қабат бірінші келеді?
Бір құрылғыдағы екі клиент сыртқы туннель ішкі клиенттің өз байланысын тасымалдағанда және метрикалар әр префикс үшін дұрыс интерфейсті таңдағанда ғана жұмыс істейді.
Әзірлеушінің ноутбугінде туннельдерді бірінің ішіне бірін салудың екі негізді себебі бар. Не корпоративтік клиент белгілі бір елден келе жатқандай көрінуі керек, не екі жеке желі бір уақытта қолжетімді болуы керек. Екі жағдайда да сыртқы туннель ішкі клиенттің өз байланысын тасымалдауы керек.
Екі клиентті кез келген ретпен іске қосу мұны бермейді. Мұны маршруттау береді.
Екі мүмкін ретті салыстырыңыз
Сыртқы қабат ретінде соңғы нүктесіне ашық интернеттен қол жеткізуге болатын туннельді таңдаңыз. Ішкі қабат — сервері тек сол шығыс арқылы жауап беретін туннель. Windows-та практикалық бөлініс: WireGuard сыртта, корпоративтік клиент іште. Шешуші фактор — бақылау.
WireGuard-тың ресми клиенті толық конфигурация файлын қолданады, маршруттар мен DNS қоса. Коммерциялық корпоративтік клиенттер әдетте екеуін де жасырады. Жасырын клиентті сыртқа қою астындағы жолды болжауға мәжбүр етеді.
Кері рет мүмкін емес емес. Тек ол туралы ойлау қиынырақ, өйткені сыртқы клиент маршруттарды сіз ешқашан көрмейтін кесте бойынша қайта жазады.
AllowedIPs тек корпоративтік ауқымды атасын
AllowedIPs WireGuard туннельге бағыттайтын межелерді тізімдейді. Кірістіру үшін оған тек ішкі сервер мекенжайы мен корпоративтік префикстер қажет. Қалғанының бәрі жергілікті желіде қалады, принтерлер мен гипервизор қоса. Бұл дизайны бойынша бөлінген туннель және ол алып тастау мәселесінен толық құтылады.
Толық туннелі сыртқы қабатқа қажет 0.0.0.0/0 минус жергілікті ауқымдар. Формат алып тастауды білдіре алмайды, сондықтан толықтауышты есептеп, қою керек.
[Interface]
PrivateKey = ...
Address = 10.99.4.2/32
[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16
Ішкі клиент өз маршруттарын орнатпаса, корпоративтік префикстерді өзіңіз тізімдеңіз. Сол жолдан түсіп қалған префикс — сыртқы туннель ешқашан тасымалдамайтын меже. Тізімнің ескірген көшірмесі жоқтықтан нашар, өйткені ол әлі де дұрыс көрінеді.
Рет, метрикалар және екінші адаптер
Алдымен сыртқы туннельге қосылыңыз, содан кейін корпоративтік клиентті іске қосыңыз. Сонда оның соңғы нүкте байланысы жергілікті шлюздің орнына WireGuard арқылы шығады. Корпоративтік интерфейске төменірек метрика беріңіз, сонда оның префикстері өзіне тиесілі мекенжайларда жеңіске жетеді.
# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1
# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40
wg show interfaces
Метрикалар — адамдар өткізіп жіберетін қадам. Ретсіз қабаттасатын префикс үшін соңғы орнатылған маршрут жеңеді. Бұл жүктеулер арасында өзгереді, сондықтан мәселе үзілісті болып көрінеді.
OpenVPN 2.6 негізіндегі клиенттер өз тұзақтарын қосады. Деректер арнасын түсіру адаптері бұрыннан бос емес болса, екінші дана жай ғана іске қосылудан бас тартады. Профильге disable-dco қосу ескі TAP жолына қайтарады, содан кейін екеуі қатар жүреді.
Кірістірілген жол қай жерде үзіледі
Сыртқы туннельді ажырату ішкісін өлтіреді. Тек ішкі клиентті қайта қосу оны жиі тікелей интернетке жібереді және кірістіруді байқатпай алып тастайды. Әр жолы ретті нөлден бастап тексеріңіз, екі туннель де тоқтатылған күйде.
Кішірек пайдалы MTU күтіңіз. Әр қабат үстеме шығын қосады, сондықтан шамамен 1420 және 1400 бастапқы жұбы бастауға лайық. Үлкен пакеттерде тоқтап, кіші сұраныстар сәтті өтетін тасымал — әдеттегі белгі. Корпоративтік саясат — екінші шек, өйткені басқарылатын құрылғы қалайтын клиент кірістірілген жолды бұзу деп санауы мүмкін.
Екі ұшы да тұрақты желі болса, шлюздер арасындағы сайт-сайт туннелі рет мәселесін басқарудың орнына жояды. Бір ноутбукте екі туннель тек әрқайсысының өз интерфейсі және префикс бойынша меже таңдайтын ережесі болғанда ғана қатар өмір сүреді.