Екі OpenVPN демоны да сәтті туннель туралы хабарлай алады, бірақ шлюз әр клиентті сол біреуі арқылы жібереді. Қол алысу кезінде клиенттің қай туннельді пайдаланатынын ештеңе шешпейді; оны ядро шешеді, пакет сайын, саясат ережелерінен, содан кейін әр ереже атайтын кестеден өтіп. Осылай қарасаңыз, конфигурация OpenVPN параметрлері туралы болуды тоқтатып, екі иесі бар маршруттау матрицасына айналады.

Ядро шешеді, демон емес

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

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

Әр данаға өз ресурстар жиынтығын беріңіз

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

dev tun-office
route-nopull
pull-filter ignore "redirect-gateway"

dev tun-lab
route-nopull

route-nopull сервер итерген маршруттарды жергілікті кестеден тыс ұстайды, саясат кестелері айқын болуы керек кезде сіз дәл осыны қалайсыз. Белгілі сервердің redirect-gateway параметрін де итеретінін және клиент нұсқаңыздың сүзгі пішімін қолдайтынын болжаудың орнына нұсқаулықтан тексерген жөн.

Матрицаны жазыңыз: дереккөз, кесте, құрылғы

Әр клиент тобы үшін дереккөз мекенжайы бойынша кесте таңдайтын ереже қосыңыз, содан кейін көзделген жолды сол кестеге салыңыз:

ip rule add from 10.8.1.0/24 lookup 100 priority 1000
ip rule add from 10.9.1.0/24 lookup 200 priority 1000
ip route add default dev tun-office table 100
ip route add default dev tun-lab table 200

Кестеге топтың болуы тиіс межелі маршруттары, сондай-ақ шлюзді пайдалануға жарамды ұстайтын кез келген жергілікті немесе басқару ерекшеліктері қажет. Тек әдепкі маршруты бар кесте сол топ үшін толық туннель саясаты, бұл дәл дұрыс болуы мүмкін, бірақ бұл қалдырып кету емес, шешім болуы керек.

Туннельдің өз тасымалы клиент тобында емес

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

Жергілікті басқару сессиясы мен төменгі қабат жолын саясат кестелерінен тыс айқын ұстаңыз. Бұл ерекшеліктерді матрицаның қасына жазыңыз; олар дизайнның бөлігі, оқиға кезінде қайта ашылуға тиіс айла емес.

Жолды таңдау оған рұқсат бермейді

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

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

Бір туннель құлағанда не болады

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

Әр дереккөз тобынан жаңа сұраныс жіберіп, төрт фактіні жазыңыз: таңдалған кесте, шығыс құрылғы, түрлендірілген дереккөз және жауап сол жолмен қайтты ма. Содан кейін бір туннельді түсіріп, қайталаңыз. Интерфейстер тізіміндегі екі TUN құрылғысы екі демонның іске қосылғанын дәлелдейді; олар нақты клиенттің қайсысын пайдаланғаны туралы ештеңе айтпайды. Бір туннель жоқ екінші жүгіріс — резервтік ережеңіздің көздегеніңізді істейтінін көрсететін жүгіріс.

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