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

Аңыз: екінші сеанс — екінші сәйкестік

Түйсік екі қосылым екі клиент болуы керек, екі клиент өз құқықтары бар екі құрылғы болуы керек дейді. Сервер оны олай модельдемейді. Ол ортақ атауды көреді және duplicate-cn қосулы болса, сол атауды алып жүрген бірден көп тірі сеансты қабылдайды, әрқайсысы демонда өз сеанс күйін алады.

Бұл қабылдау сертификатты тексеруге мүлдем тимейді. Сол сертификат әлі де сенімхат, сол кілт әлі де жеке кілт болып қалады, ал сертификат субъектісіне негізделген кез келген саясат әлі де екі рет бірдей мәнге шешіледі. Екінші сеанс — екінші сокет, екінші сәйкестік емес.

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

Екі сеанс бір атауды бөліскенде шын мәнінде не өзгереді

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

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

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

grep -n 'duplicate-cn\|client-config-dir\|username-as-common-name' /etc/openvpn/server.conf

Сіз тағайындадым деп ойлаған статикалық мекенжай

Әр клиент үшін конфигурация атау бойынша ізделеді, және тұзақ осында. Ортақ атаумен аталған client-config-dir файлы сол атауды қолданатын әр құрылғыға қолданылады, сондықтан ішіндегі ifconfig-push екі құрылғыға бірдей туннель мекенжайын береді. Екінші сеанс не орнатылмайды, не маршруттау ақауына ұқсайтын түрде соқтығысады.

Динамикалық пул кездейсоқ жақсырақ әрекет етеді, өйткені әр сеансқа пулдан мекенжай тәуелсіз беріледі. Бұл әлі де әр құрылғыға тұрақты мекенжай бермейді, ал сол мекенжайға байланған құрылғыға қатысты саясатты мүлдем бермейді.

Егер орналастыру username-as-common-name қолданса, іздеу кілті сертификат субъектісінің орнына аутентификацияланған пайдаланушы атына айналады, және екі рет кірген әр адамға сол қақтығыс қайталанады. Конфигурацияны басқаратын атау әр құрылғы үшін бірегей болуы керек, сонда ғана құрылғыға қатысты конфигурация мағынаға ие болады.

Жалпы сәйкестік жою кезінде не істей алмайды

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

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

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

Бөлісу қашан дұрыс және оны қалай шектеу керек

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

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

Қай жолды таңдасаңыз да, кіруді емес, басқару моделін сынаңыз. Екі құрылғыны қосыңыз, олардың мекенжайлары әртүрлі екенін растаңыз, содан кейін жоғалтуды имитациялап, олардың дәл біреуін ғана жоя алатыныңызды тексеріңіз. openvpn(8) нұсқаулығы опцияның ауқымын анықтайды; бөлісу шынымен қабылданады ма, мұны сіздің жою тәртібіңіз анықтайды.

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