Izdaste novo potrdilo gostitelja z drugim naslovom overlay, ga kopirate čez staro datoteko, pošljete ponovno nalaganje, in gostitelj še naprej odgovarja na naslovu, ki ga je imel prej. Refleks je domnevati, da ponovno nalaganje ni uspelo ali da je bila prebrana napačna datoteka. Običajno se ni zgodilo ne eno ne drugo: tekoči proces je namerno ohranil identiteto, ki jo je že imel, ker je zamenjava spremenila nekaj, česar ponovno nalaganje ne more uporabiti.

Podpora za ponovno nalaganje PKI v Nebuli je dokumentirana prav s to mejo, in to je lahko spregledati, ko ista dokumentacija kaže, da ponovno nalaganje deluje pri drugih spremembah.

Kaj ponovno nalaganje v resnici znova prebere

Potrdilo gostitelja ni zgolj poverilnica, kot je ključ SSH. Nosi naslov overlay, ime gostitelja, članstva v skupinah in veljavnostno okno, in vse to je povezano s podpisom CA. Demon uporablja to podpisano vsebino, da se odloči, kako se predstavlja in katera pravila veljajo zanj.

Ponovno nalaganje omogoča procesu, da prevzame obnovljene poverilnice, ne da bi spustil svoje tunele, kar je dragoceno pri rutinski rotaciji: isti naslov, isto ime, iste skupine, poznejši iztek. Omejitev je, da mora identiteta ostati enaka. Spremenite naslov overlay in pot ponovnega nalaganja ga ne more uporabiti, ker je naslov del tega, čemur se je tekoča instanca že zavezala.

Vedenje, ki ste ga videli, je torej dokumentirana meja, ki opravlja svoje delo, ne tiha napaka. Datoteka na disku je nova; identiteta v pomnilniku je stara; proces nima podprtega načina, da bi to razliko uskladil brez ponovnega zagona.

Naslov, ime in skupine so ena identiteta

Pomaga razmišljati o potrdilu kot o enem zapisu in ne kot o nizu polj, ki jih lahko urejate neodvisno. Premikanje naslova ni kot spreminjanje nastavitve, ker se naslov pojavlja v konfiguracijah vrstnikov na drugih gostiteljih, v vezavah storitev in v pravilnikih, napisanih proti identiteti.

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

Skupine si zaslužijo svojo vrstico, ker povzročijo tišjo različico iste zmede. Gostitelj, ki obdrži naslov, a zamenja skupine, lahko po ponovnem zagonu doseže druge storitve, test, ki samo pinga stari naslov, pa bo videti povsem zdrav, medtem ko so se odločitve o dostopu pod njim spremenile. Preverite eno storitev, ki jo pokriva pravilo, ne le dosegljivosti. To je razlika med potrditvijo tunela in potrditvijo pravilnika.

Primerjajte naloženo potrdilo z zamenjavo

Preden domnevate, da je demon datoteko prezrl, preberite obe. Natisnite potrdilo, ki ga nameravate naložiti, in potrdite polja, za katera menite, da ste jih spremenili, nato potrdite, da tekoča konfiguracija kaže na to pot in ne na kopijo drugje.

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

Argumenti procesa so pomembnejši, kot ljudje pričakujejo. Enota, ki posreduje -config /etc/nebula/config.yml, bere vnos pki.cert te datoteke, in potrdilo, nameščeno v začasni imenik, ne vpliva na nič. Preverite pot v tekoči ukazni vrstici, ne poti v dokumentaciji, ki ste ji sledili. Če se obe razlikujeta, ste našli težavo, ne da bi se potrdila sploh dotaknili.

Če ima novo potrdilo drug naslov in je proces obdržal starega, imate zdaj razlago namesto uganke. Znova ga zaženite, če je to sprejemljivo, in spremembo naslova obravnavajte kot načrtovano spremembo omrežja in ne naključno.

Sprememba naslova je sprememba omrežja

Načrtujte jo tako, kot bi načrtovali selitev stroja. Drugi gostitelji so morda pripeli stari naslov v svoji konfiguraciji, storitve se lahko izrecno vežejo nanj, pravila požarnega zidu pa so morda napisana proti njemu. Sprememba potrdila premakne gostitelja, premik gostitelja pa razveljavi predpostavke drugje.

Medtem ko to počnete, imejte na voljo drugo pot upravljanja, ker je povezava overlay morda prav tista, ki jo prekinjate. To početi čez tunel, ki ga boste pravkar pretrgali, je klasičen način, da petminutno spremembo spremenite v obisk na lokaciji.

Ali je ponovni zagon sprejemljiv, je odvisno od tega, kaj gostitelj počne, in to je vprašanje načrtovanja, ne tehnično. Kar ni izbirno, je priznati zahtevo po ponovnem zagonu, namesto da bi ponovno nalaganje poslali petič.

Umaknite stare poverilnice ločeno

Namestitev zamenjave na enem stroju pusti vsakega vrstnika, da še vedno zaupa poverilnicam, ki jih že pozna. Če je bil razlog za spremembo kompromitacija, je treba staro identiteto umakniti s postopkom zaupanja ali bloklist, da jo vrstniki resnično zavrnejo.

To je ločen korak z lastnim preverjanjem: z drugega gostitelja potrdite, da stara identiteta ne deluje več, namesto da domnevate, da je nova datoteka opravila delo. Dokumentacija konfiguracije PKI v Nebuli pokriva nastavitve, ki jih je mogoče znova naložiti, in tukaj opisano omejitev naslova, in vredno jo je prebrati v celoti, preden zavrtite karkoli v produkciji.

Sorodni članki