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

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

Қайта жүктеу шын мәнінде нені қайта оқиды

Хост сертификаты SSH кілті сияқты жай тіркелгі деректері емес. Ол overlay мекенжайын, хост атын, топ мүшеліктерін және жарамдылық терезесін тасымалдайды, ал бұның барлығы CA қолтаңбасымен байланысқан. Демон осы қол қойылған мазмұнды өзін қалай көрсететінін және қандай ережелер қолданылатынын шешу үшін пайдаланады.

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

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

Мекенжай, ат және топтар — бір сәйкестік

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

FieldWhat changes when you replace it
Overlay addressPeers that pinned the old address, service bindings, and any rule written against it
Host nameName-based policy and the identities other hosts expect to see
GroupsWhich access rules match, even if the address stays identical
Validity windowNothing structural, which is why renewal reloads cleanly

Топтар жеке жолға лайық, өйткені олар сол шатасудың неғұрлым тыныш нұсқасын тудырады. Мекенжайын сақтап, топтарын ауыстырған хост қайта іске қосқаннан кейін басқа қызметтерге жете алады, ал тек ескі мекенжайға ping жасайтын тест толық сау көрінеді, бірақ астында қатынау шешімдері өзгерген. Тек жетімділікті емес, ережемен қамтылған бір қызметті тексеріңіз. Туннельді растау мен саясатты растаудың айырмашылығы осында.

Жүктелген сертификатты алмастырғышпен салыстырыңыз

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

nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)

Процесс аргументтері адамдар күткеннен де маңызды. -config /etc/nebula/config.yml жіберетін бірлік сол файлдың pki.cert жазбасын оқиды, ал уақытша қалтаға орнатылған сертификат ешнәрсеге әсер етпейді. Жұмыс істеп тұрған пәрмен жолындағы жолды тексеріңіз, ал сіз ұстанған құжаттамадағы жолды емес. Екеуі әртүрлі болса, сіз сертификатқа тиіспей-ақ мәселені таптыңыз.

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

Мекенжай өзгерісі — желі өзгерісі

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

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

Қайта іске қосудың қолайлылығы хосттың не істеп жатқанына байланысты және бұл техникалық емес, жоспарлау мәселесі. Міндетті емес нәрсе — қайта жүктеуді бесінші рет жіберудің орнына қайта іске қосу талабын мойындау.

Ескі тіркелгі деректерін бөлек шығарыңыз

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

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

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