Reload certifikátu Nebula nezměnil IP: tady je důvod
Reload znovu načte přihlašovací údaje hostitele jen tehdy, když overlay adresa zůstane stejná. Změna adresy znamená restart a změnu sítě, ne nový pokus.
Vydáte nový certifikát hostitele s jinou overlay adresou, zkopírujete ho přes starý soubor, pošlete reload a hostitel dál odpovídá na adrese, kterou měl dřív. Reflex je předpokládat, že reload selhal nebo že se přečetl špatný soubor. Obvykle se nestalo ani jedno: běžící proces si záměrně ponechal identitu, kterou už měl, protože náhrada změnila něco, co reload nedokáže aplikovat.
Podpora reloadu PKI v Nebule je dokumentovaná právě s touto hranicí a snadno se přehlédne, když stejná dokumentace ukazuje, že reload funguje u jiných změn.
Co reload vlastně znovu načítá
Certifikát hostitele není jen přihlašovací údaj jako SSH klíč. Nese overlay adresu, jméno hostitele, členství ve skupinách a dobu platnosti, a to všechno je svázáno podpisem CA. Démon používá tento podepsaný obsah k rozhodnutí, jak se prezentuje a která pravidla se na něj vztahují.
Reload umožňuje procesu převzít obnovené přihlašovací údaje, aniž by shodil své tunely, což je cenné pro rutinní rotaci: stejná adresa, stejné jméno, stejné skupiny, pozdější expirace. Omezení je, že identita musí zůstat stejná. Změňte overlay adresu a cesta reloadu ji nedokáže aplikovat, protože adresa je součástí toho, k čemu se běžící instance už zavázala.
Takže chování, které jste viděli, je dokumentované omezení, které dělá svou práci, ne tiché selhání. Soubor na disku je nový; identita v paměti je stará; proces nemá podporovaný způsob, jak ten rozdíl srovnat bez restartu.
Adresa, jméno a skupiny jsou jedna identita
Pomáhá myslet na certifikát jako na jeden záznam, ne jako na sadu polí, která můžete upravovat nezávisle. Přesun adresy není jako změna předvolby, protože adresa se objevuje v konfiguracích peerů na jiných hostitelích, ve vazbách služeb a v politikách psaných proti identitě.
| 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 |
Skupiny si zaslouží vlastní řádek, protože způsobují tišší verzi stejného zmatku. Hostitel, který si ponechá adresu, ale změní skupiny, může po restartu dosáhnout jiných služeb, a test, který jen pingá starou adresu, bude vypadat naprosto zdravě, zatímco se rozhodnutí o přístupu pod ním změnila. Ověřte jednu službu svázanou pravidlem, ne jen dostupnost. To je rozdíl mezi potvrzením tunelu a potvrzením politiky.
Porovnejte načtený certifikát s náhradou
Než předpokládáte, že démon soubor ignoroval, přečtěte oba. Vypište certifikát, který chcete načíst, a potvrďte pole, která jste podle vás změnili, pak potvrďte, že běžící konfigurace ukazuje na tuto cestu, a ne na kopii jinde.
nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)Argumenty procesu jsou důležitější, než lidé čekají. Unit, který předává -config /etc/nebula/config.yml, čte položku pki.cert toho souboru, a certifikát nainstalovaný v dočasném adresáři nic neovlivní. Zkontrolujte cestu v běžícím příkazovém řádku, ne cestu v dokumentaci, kterou jste sledovali. Pokud se obě liší, našli jste problém, aniž byste se certifikátu vůbec dotkli.
Pokud má nový certifikát jinou adresu a proces si ponechal starou, máte teď vysvětlení místo záhady. Restartujte ho, je-li to přijatelné, a berte změnu adresy jako plánovanou změnu sítě, ne náhodnou.
Změna adresy je změna sítě
Naplánujte to tak, jako byste plánovali přesun stroje. Jiní hostitelé mohli starou adresu připnout ve své konfiguraci, služby se na ni mohou výslovně vázat a pravidla firewallu proti ní mohou být napsaná. Změna certifikátu přesouvá hostitele a přesun hostitele zneplatňuje předpoklady jinde.
Mějte při tom k dispozici druhou cestu pro správu, protože overlay spojení může být právě to, které přerušujete. Dělat to přes tunel, který se chystáte zlomit, je klasický způsob, jak z pětiminutové změny udělat návštěvu na místě.
Zda je restart přijatelný, závisí na tom, co hostitel dělá, a to je otázka plánování, ne technická. Co není volitelné, je uznat požadavek na restart místo posílání reloadu popáté.
Odstraňte staré přihlašovací údaje zvlášť
Instalace náhrady na jednom stroji nechává každého peera stále důvěřovat údajům, které už zná. Pokud důvodem změny bylo kompromitování, musí být stará identita odvolána postupem důvěry nebo blocklistu, aby ji peerové skutečně odmítli.
Je to samostatný krok s vlastním ověřením: potvrďte z jiného hostitele, že stará identita už nefunguje, místo abyste předpokládali, že nový soubor udělal svou práci. Dokumentace konfigurace PKI v Nebule pokrývá nastavení, která lze znovu načíst, i zde popsané omezení adresy, a vyplatí se ji přečíst celou, než začnete rotovat cokoli v produkci.