Сізде жұмыс істеп тұрған OpenVPN сервері және Cloudflare құрылғы бағдарламасын да іске қосатын хост бар, ал келесі айқын қадам клиенттер трафигін сол жаққа бағыттау болып көрінеді. Бір машинадағы екі жұмыс істеп тұрған қосылым транзиттік шлюзді құрамайды. Жетіспейтіні — басқаға тиесілі пакеттерді жіберу үшін құжатталған рөл және сол пакеттерді келген кезде жіктейтін саясат.

Кез келген ережеден бұрын төрт сұрақ тұр: қандай трафик кіреді, ол келесі қайда барады, жауаптар қайту жолын қалай табады және сол екінші жол істен шыққанда дизайн не істейді. Алғашқы екеуі мүмкіндік туралы сұрақтар.

Бір хосттағы екі қызмет транзиттік жол емес

Құрылғы клиенті өзі іске қосылған машинада пайда болатын трафикті өңдеу үшін құрылған. Ол атауларды шешуді немесе таңдалған қолданба трафигін ұстап алып, өз туннелі арқылы жібереді, ал оның саясаты сол құрылғының пайдаланушысы мен сол құрылғының процестері үшін жазылған. OpenVPN клиентінен жіберілген пакет жергілікті шығыс емес, сондықтан сол ережелер оны жіктемейді. Бұл кеңірек ережемен жасыруға болатын конфигурация бөлшегі емес, өйткені ол бағдарламаның пакетті мүлде көретінін анықтайды.

Сондықтан дизайн сұрағы мүмкіндік сұрағы. Немесе орнатылған өнімде басқа желілер үшін трафикті жіберетін құжатталған рөл бар, немесе транзит функциясы мүлде басқа жерге тиесілі.

Cloudflare-дың қай рөліне жіберуге рұқсат етілген

Cloudflare құрылғы клиенті ауқымы әртүрлі режимдерді ұсынады: тек атауларды шешу, құрылғыдан трафик және кейде екеуі де. Бұл режимдердің ешқайсысы хостты басқа туннель арқылы келетін жеке диапазон үшін маршрутизаторға айналдырмайды. Арнайы маршруттау рөлі — өз коннекторы, тіркелуі және желілік моделі бар жеке өнім.

QuestionWhat has to answer it
Does the installed product forward packets from other hosts?A documented routing or connector role, not a device mode
Which prefixes does the connector advertise?Its own configuration and status output
Does the server's own transport still take the old path?ip route get for the endpoint, before and after
Do replies return through the same path?Connection tracking counters on the forward rule

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

Дәл осында жалпыға ортақ шығыс талабын нақты тұжырымдау керек. Жіберілген клиент трафигі үшін Cloudflare ұсынатын шығыс — нақты пайдалану жағдайы және оны шын мәнінде бар қызметпен салыстырып растау керек.

Сыртқы туннельді жаңа маршруттан тәуелсіз ұстаңыз

Жаңа интерфейске әдепкі маршрутты қосқан сәтте сервердің өз шығыс трафигі ол үшін бәсекелесе бастайды, оған OpenVPN клиенттеріне жауаптар және машинаға арналған SSH сессияңыз кіреді. Әдеттегі симптом — орнатылып, содан кейін өлетін туннель немесе өзгеріс жұмыс істегендей көрінгенде сыртта құлыпталып қалған әкімші. Соңғы нүкте үшін ip route get мәнін бұрын және кейін салыстырыңыз, ал сервердің өз транспортын бұрынғы орнында ұстау үшін саясат негізіндегі маршруттауды немесе хост маршрутын қолданыңыз. Бұл салыстыруды машинаның өзінен орындаңыз, өйткені сервердің өз маршрутына деген көзқарасы маңызды.

Сервердің жалпыға ортақ мекенжайы үшін ерекшелік өздігінен жеткіліксіз, өйткені әр қашықтағы әкімшінің қайту жолы — бөлек ағын. Осы ағындардың қайсысы өзгеріске төтеп беруі керектігін шешіңіз, содан кейін біріншісі қалғанын жабады деп болжаудың орнына әрқайсысын тексеріңіз.

Жіберу мен аударманы бір ағынмен шектеңіз

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

Сәтсіздік кезінде жабылу тәртібін алдын ала шешіп, содан кейін оны сынаңыз. Келесі жолды тоқтатып, клиенттердің қарапайым жоғарғы арнаға үнсіз оралмай, көзделген шығыстан айырылатынын растаңыз, өйткені бұл трафик дұрыс емес есіктен шықпайынша ешкім байқамайтын нәтиже. Атауларды шешу және IPv6 үшін тексеруді қайталаңыз, өйткені тек v4 үшін ережелер жиынтығы v6 жолын ашық қалдырады.

Тоқтаған төрт жауабыңызды және әрқайсысын дәлелдейтін бақылауды жазып қойыңыз. Сипаттай алатын транзиттік жол — келесі оқиғаны қарауда қорғай алатын жол.

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