Бір уақытта жұмыс істеп тұрған екі VPN клиенті кірістірілген туннель жасамайды; олар екі туннель және маршруттау туралы дау жасайды. Кірістірілген туннель ішкі клиенттің өз серверіне қосылымын сыртқы туннельдің өзі тасымалдағанда болады және бұл әдейі құрылатын құрылым. Дұрыс болса, ішкі сервер сыртқы сервердің мекенжайын көреді; қате болса, бір клиент үнсіз екіншісінің айналасынан қайта қосылады. Кірістірудің шынайы немесе кездейсоқ екенін үш шарт шешеді.

Кірістіруді үш шарт шешеді

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

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

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

Бірінші шарт: қай соңғы нүктеге қай жол қажет

ip route get 203.0.113.10 бұл сұраққа тікелей жауап береді: маршрутты, бастау мекенжайын және ядро сол межелі жер үшін дәл қазір қолданатын интерфейсті басып шығарады.

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

Екінші шарт: әр қабаттағы жолды қарап шығыңыз

Маршрут таңдау заманауи клиентте негізгі кестеден көп нәрсе. Саясат ережелері белгіленген пакеттерді басқа кестеге жібере алады, клиент өз сокетін интерфейске байлай алады, ал контейнер немесе атау кеңістігі өз кестелеріне ие. ip rule және ip route show table all осы механизмдердің қайсысы істе жатқанын табудың жолы.

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

Үшінші шарт: сыртқы туннель құлағанда не болады

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

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

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

Шынжыр сізге бермейтін нәрсе

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

Нәтиже — жұмыс істейтін қосылым емес, қысқа құжат: қай соңғы нүкте қай жолды қолданады, сыртқы ақау кезінде не болады және ағымдағы күйді көрсететін үш команда. strongSwan-ның жіберу туралы құжаттамасы туннель трафигінің Linux хостында интерфейстер арасында қалай жіберілетіні туралы пайдалы дереккөз. Әр клиент жаңартылғаннан кейін тексерулерді қайта іске қосыңыз, өйткені шынжырыңызды жасаған әдепкі мәндер келісімшарт емес. Тексере алмайтын кірістірілген туннель — күй шамы бар қауесет.

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