Бір шлюз өз құрылғыларыңыз үшін WireGuard және басқа біреудің желісіне OpenVPN клиентін іске қосады. Екі ішкі интерфейс арасындағы жіберу жұмыс істейді және төменгі ішкі желі енді жоғарғы қызметтің бөлігі деп қорытынды жасау оңай. Олай емес. Клиент тартқан маршрут шлюзіңізге сұраныстарды қайда жіберу керегін айтады; қашықтағы желінің ешқашан естімеген құрылғыларға трафикті қалай қайтаратыны туралы ештеңе айтпайды. Бір ереже қоспас бұрын жоғарғы жақ шынымен қолдайтын қайтару моделін таңдаңыз.

Маршруттауға тиіспес бұрын қайтару моделін шешіңіз

Бұл шолуда төменгі клиенттер 10.90.0.0/24 қолданады, шлюзге берілген жоғарғы туннель мекенжайы — 10.80.0.6, ал мақұлданған қашықтағы ресурс — 172.20.0.30. Бұл пішінге екі модель сай келеді: төменгі дереккөзді сақтап, алыс жаққа оны маршруттату, немесе дереккөзді шлюздің өз туннель мекенжайына аудару. Бұл шешімнен кейінгінің бәрі механикалық, ал шешімнің өзіне қызмет иесі керек. Жоғарыдағы бір жол — алыс жақпен маршруттық келісім; екіншісі — өзіңіз жасай алатын жергілікті саясат өзгерісі. Осы екеуін шатастыру он минуттық өзгерісті келіссөзге айналдырады.

preserved:  10.90.0.23 -> 172.20.0.30
translated: 10.80.0.6  -> 172.20.0.30

Бір жолды таңдап, одан таймаңыз. Жолдар — қадамдар емес, баламалар, ал оларды араластыру қарау кезінде ешкім түсіндіре алмайтын жоба береді.

Маршрутталған дереккөзді сақтау

Алыс жақ төменгі мекенжайдан сұраныс алады, сондықтан оған сол ішкі желі үшін қолдау көрсетілетін маршрут пен peer иелігі, қоса оны қабылдауға рұқсат керек. Бұлар қашықтағы параметрлер, және ешбір жергілікті Linux маршруты оларды жасамайды. Оларды анық және жазбаша сұраңыз, префикс пен оны таситын туннельдік peer-мен бірге, және жауап қызметтің сайт-сайтқа арналған шешімдерді қолдайтынына байланысты болады деп күтіңіз.

Жауап иә болса, жергілікті конфигурация шағын: жіберу қосылған, төменгі ауқымды қамтитын WireGuard peer-інің allowed-ips-тері және өткелді екі бағытта да рұқсат ететін firewall саясаты.

Әдейі дереккөз аудармасы

Егер қызмет трафикті тек қосылған клиент мекенжайына қайтарса, шығу кезінде дереккөзді сол мекенжайға аударыңыз және жауаптар үшін оны кері айналдыратын conntrack күйін сақтаңыз. Ережені болжамды төменгі дереккөздермен, болжамды қашықтағы тағайындалулармен және жоғарғы интерфейспен шектеңіз. Әрбір интерфейстен шыққанның бәрін аударатын ереже бұл талаптан әлдеқайда үлкен саясат, және ол сізді кейін таңқалдырады.

IPv6-ға өз жобасы керек; IPv4 masquerade жолын көшіру — архитектура емес. Аударылған жолды кэштегі байланыспен емес, жаңа байланыспен сынаңыз.

Жергілікті деректер жолы әлі де жұмыс істеуі керек

Аударма жергілікті жұмысты жоймайды: шлюзге әлі де төменгі тағайындалуларға маршрут, WireGuard peer-інің дұрыс дереккөз иелігі, қосылған жіберу және интерфейстер арасындағы тар firewall саясаты керек. Шлюздің өзінде жасалған сұраныс осы рұқсаттардың ешқайсысын сынамайды, сондықтан шлюздегі жергілікті тесттер өтеді, ал төменгі құрылғылар әлі де сәтсіз болады.

Шлюзден емес, нақты төменгі құрылғыдан сынаңыз. Дереккөз мекенжайы — бұл жаттығудың бүкіл мәні.

Бір дереккөз — бір сессия сәйкестігі

Қашықтағы қызмет әр төменгі құрылғы үшін жеке аутентификацияны емес, шлюздің аутентификацияланған сессиясын және оның аударылған мекенжайын көреді. Құрылғыға қатысты рұқсаттарды және қолданба сәйкестіктерін анық ұстаңыз, және бірнеше құрылғы үшін әрекет ететін шлюзге жалпы рұқсат бар-жоғын қызмет иесімен растаңыз. Аударма — құрылғы сайынғы тіркеу талабын айналып өту тәсілі емес; егер қызмет әр құрылғының тіркелуін талап етсе, сол модельді қолданыңыз немесе сайт-сайт шешімі туралы келіссөз жүргізіңіз.

Бұл растауды ереженің қасында runbook-қа жазыңыз, өйткені келесі шолушы жоба мақұлданды ма, әлде жай ғана ыңғайлы болды ма деп сұрайды.

Ажыратылған күйді анықтаңыз, содан кейін үш сұранысты сынаңыз

Жоғарғы туннель құлағанда не болатынын шешіңіз. Рұқсат етілген қашықтағы трафик тыйым салынған жерде қарапайым WAN-ның қосалқы жолымен үнсіз жүрмеуі керек, сондықтан өткелді рұқсат ететін firewall саясаты жабық күйде де сәтсіз болуы тиіс. Содан кейін нақты төменгі құрылғыдан үш жағдайды сынаңыз: жұмыс істейтін рұқсат етілген сұраныс, сәтсіз болатын тыйым салынған сұраныс және рұқсат етілгенді тоқтататын жоғарғы ақау.

Қайтаруды әр ереже үшін бір жолға жазыңыз, осылайша өзгерісті ниетті қайта құрмай-ақ кері қайтаруға болады.

Қатысты мақалалар