Поновно учитавање Nebula сертификата није променило IP: ево зашто
Поновно учитавање поново чита акредитиве домаћина само када overlay адреса остане иста. Промена адресе значи поновно покретање и промену мреже, а не нови покушај.
Издате нови сертификат домаћина са другом overlay адресом, копирате га преко старе датотеке, пошаљете поновно учитавање, а домаћин наставља да одговара на адреси коју је имао раније. Рефлекс је претпоставити да поновно учитавање није успело или да је прочитана погрешна датотека. Обично се није догодило ни једно: покренути процес је намерно задржао идентитет који је већ имао, јер је замена променила нешто што поновно учитавање не може да примени.
Подршка за поновно учитавање PKI-ја у Nebuli документована је управо са том границом, и лако ју је пропустити када иста документација показује да поновно учитавање ради за друге промене.
Шта поновно учитавање заиста поново чита
Сертификат домаћина није само акредитив као што је SSH кључ. Он носи overlay адресу, име домаћина, чланства у групама и период важења, а све је то повезано потписом CA. Демон користи тај потписани садржај да одлучи како се представља и која се правила на њега примењују.
Поновно учитавање омогућава процесу да преузме обновљене акредитиве без испуштања својих тунела, што је вредно за рутинску ротацију: иста адреса, исто име, исте групе, каснији рок. Ограничење је да идентитет мора да остане исти. Промените overlay адресу и пут поновног учитавања не може да је примени, јер је адреса део онога на шта се покренута инстанца већ обавезала.
Дакле, понашање које сте видели је документовано ограничење које ради свој посао, а не тихи неуспех. Датотека на диску је нова; идентитет у меморији је стар; процес нема подржан начин да усклади ту разлику без поновног покретања.
Адреса, име и групе су један идентитет
Помаже да о сертификату мислите као о једном запису, а не као о скупу поља која можете независно да уређујете. Премештање адресе није као промена поставке, јер се адреса појављује у конфигурацијама партнера на другим домаћинима, у везама сервиса и у политикама писаним против идентитета.
| Field | What changes when you replace it |
|---|---|
| Overlay address | Peers that pinned the old address, service bindings, and any rule written against it |
| Host name | Name-based policy and the identities other hosts expect to see |
| Groups | Which access rules match, even if the address stays identical |
| Validity window | Nothing structural, which is why renewal reloads cleanly |
Групе заслужују сопствени ред, јер изазивају тишу верзију исте забуне. Домаћин који задржи адресу али промени групе може после поновног покретања да достигне друге сервисе, а тест који само пингује стару адресу изгледаће потпуно здраво док су се одлуке о приступу испод промениле. Проверите један сервис обухваћен правилом, не само доступност. То је разлика између потврде тунела и потврде политике.
Упоредите учитани сертификат са заменом
Пре него што претпоставите да је демон занемарио датотеку, прочитајте обе. Одштампајте сертификат који намеравате да учитате и потврдите поља за која мислите да сте их променили, затим потврдите да покренута конфигурација показује на ту путању, а не на копију негде другде.
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 веза може бити управо она коју прекидате. Радити то преко тунела који ћете сломити класичан је начин да петоминутну промену претворите у посету локацији.
Да ли је поновно покретање прихватљиво зависи од тога шта домаћин ради, а то је питање распореда, не техничко питање. Оно што није опционално јесте признати захтев за поновним покретањем уместо поновног слања учитавања пети пут.
Повуците старе акредитиве одвојено
Инсталирање замене на једном рачунару оставља сваког партнера да још верује акредитивима које већ познаје. Ако је разлог промене био компромитовање, стари идентитет мора бити повучен поступком поверења или блок-листе, како би га партнери заиста одбили.
То је засебан корак са сопственом провером: потврдите са другог домаћина да стари идентитет више не ради, уместо да претпоставите да је нова датотека обавила посао. Документација за PKI конфигурацију у Nebuli покрива поставке које могу поново да се учитају и овде описано ограничење адресе, и вреди је прочитати у целини пре него што ротирате било шта у продукцији.