Vi eldonas novan gastigantan atestilon kun alia overlay-adreso, kopias ĝin sur la malnovan dosieron, sendas la reŝargon, kaj la gastiganto daŭre respondas ĉe la adreso, kiun ĝi havis antaŭe. La reflekso estas supozi, ke la reŝargo malsukcesis aŭ ke la malĝusta dosiero estis legita. Kutime okazis nek unu nek la alia: la kuranta procezo intence konservis la identecon, kiun ĝi jam havis, ĉar la anstataŭaĵo ŝanĝis ion, kion reŝargo ne povas apliki.

La subteno de reŝargo de PKI en Nebula estas dokumentita kun tiu limo, kaj facile estas maltrafi ĝin, kiam la sama dokumentaro montras, ke reŝargo funkcias por aliaj ŝanĝoj.

Kion reŝargo efektive relegas

Gastiganta atestilo ne estas nur akreditaĵo tiel, kiel estas SSH-ŝlosilo. Ĝi portas la overlay-adreson, la gastigantan nomon, la grupajn membrecojn kaj validecan fenestron, kaj ĉio tio estas kunligita per la subskribo de la CA. La demono uzas tiun subskribitan enhavon por decidi, kiel ĝi prezentas sin kaj kiuj reguloj aplikiĝas al ĝi.

Reŝargo ebligas al la procezo preni renovigitan akreditaĵon sen faligi siajn tunelojn, kio valoras por rutina rotacio: sama adreso, sama nomo, samaj grupoj, pli malfrua fino. La limigo estas, ke la identeco devas resti la sama. Ŝanĝu la overlay-adreson kaj la reŝarga vojo ne povas apliki ĝin, ĉar la adreso estas parto de tio, al kio la kuranta okazo jam sindevigis.

Do la konduto, kiun vi vidis, estas la dokumentita limo plenumanta sian taskon, ne silenta malsukceso. La dosiero sur la disko estas nova; la identeco en la memoro estas malnova; la procezo havas nenian subtenatan manieron akordigi tiun diferencon sen restartigo.

Adreso, nomo kaj grupoj estas unu identeco

Helpas pensi pri la atestilo kiel pri unu rikordo, ne kiel pri aro da kampoj, kiujn vi povas redakti sendepende. Movi la adreson ne similas al ŝanĝi preferon, ĉar la adreso aperas en la samtavolaj agordoj de aliaj gastigantoj, en servaj ligoj kaj en politikoj skribitaj kontraŭ la identeco.

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

Grupoj meritas propran linion, ĉar ili kaŭzas pli silentan version de la sama konfuzo. Gastiganto, kiu konservas sian adreson sed ŝanĝas grupojn, povas post restartigo atingi aliajn servojn, kaj testo, kiu nur pings la malnovan adreson, ŝajnos tute sana dum aliraj decidoj sube ŝanĝiĝis. Kontrolu unu servon regatan de regulo, ne nur atingeblon. Tio estas la diferenco inter konfirmi la tunelon kaj konfirmi la politikon.

Komparu la ŝargitan atestilon kun la anstataŭaĵo

Antaŭ ol supozi, ke la demono ignoris la dosieron, legu ambaŭ. Presu la atestilon, kiun vi intencas ŝargi, kaj konfirmu la kampojn, kiujn vi opinias ŝanĝintaj, poste konfirmu, ke la kuranta agordo montras al tiu vojo, ne al kopio aliloke.

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

La argumentoj de la procezo gravas pli, ol homoj atendas. Unuo, kiu pasigas -config /etc/nebula/config.yml, legas la rikordon pki.cert de tiu dosiero, kaj atestilo instalita en provizora dosierujo efikas al nenio. Kontrolu la vojon en la kuranta komandlinio, ne la vojon en la dokumentaro, kiun vi sekvis. Se la du malsamas, vi trovis la problemon tute ne tuŝinte la atestilon.

Se la nova atestilo havas alian adreson kaj la procezo konservis la malnovan, vi nun havas klarigon anstataŭ enigmo. Restartigu ĝin, se tio estas akceptebla, kaj traktu la adresan ŝanĝon kiel planitan retan ŝanĝon, ne kiel hazardan.

Adresa ŝanĝo estas reta ŝanĝo

Planu ĝin tiel, kiel vi planus translokigi maŝinon. Aliaj gastigantoj eble fiksis la malnovan adreson en sia agordo, servoj eble eksplicite ligiĝas al ĝi, kaj fajroŝirmilaj reguloj eble estas skribitaj kontraŭ ĝi. Ŝanĝi la atestilon movas la gastiganton, kaj movi la gastiganton malvalidigas supozojn aliloke.

Tenu duan administran vojon disponebla dum vi faras tion, ĉar la overlay-konekto eble estas ĝuste tiu, kiun vi interrompas. Fari tion tra la tunelo, kiun vi baldaŭ rompos, estas la klasika maniero transformi kvinminutan ŝanĝon en viziton surloke.

Ĉu restartigo estas akceptebla dependas de tio, kion la gastiganto faras, kaj tio estas demando pri planado, ne teknika. Kio ne estas laŭvola, estas agnoski la restartigan postulon anstataŭ sendi la reŝargon la kvinan fojon.

Retiru la malnovan akreditaĵon aparte

Instali anstataŭaĵon sur unu maŝino lasas ĉiun samtavolulon ankoraŭ fidi la akreditaĵon, kiun ĝi jam konas. Se la kialo de la ŝanĝo estis kompromito, la malnova identeco devas esti retirita per la proceduro de fido aŭ nigra listo, por ke la samtavoluloj efektive malakceptu ĝin.

Tio estas aparta paŝo kun propra kontrolo: konfirmu de alia gastiganto, ke la malnova identeco ne plu funkcias, anstataŭ supozi, ke la nova dosiero faris la taskon. La dokumentaro pri agordo de PKI en Nebula kovras la reŝargajn agordojn kaj la adresan limigon priskribitan ĉi tie, kaj indas legi ĝin plene antaŭ ol rotacii ion ajn produkcieman.

Rilataj artikoloj