Nebula-sertifikaatherlaai het nie die IP verander nie: hier is waarom
'n Herlaai lees die gasheerbewys net weer wanneer die overlay-adres dieselfde bly. Om die adres te verander beteken 'n herbegin en 'n netwerkverandering, nie 'n herprobeerslag nie.
Jy reik 'n nuwe gasheersertifikaat uit met 'n ander overlay-adres, kopieer dit oor die ou leêr, stuur die herlaai, en die gasheer bly antwoord op die adres wat dit vantevore gehad het. Die refleks is om aan te neem die herlaai het misluk of die verkeerde leêr is gelees. Gewoonlik het nóg gebeur: die lopende proses het doelbewus die identiteit behou wat dit reeds gehad het, want die vervanging het iets verander wat 'n herlaai nie kan toepas nie.
Nebula se PKI-herlaaisteun word met daardie grens gedokumenteer, en dit is maklik om te mis wanneer dieselfde dokumentasie wys dat herlaai vir ander veranderinge werk.
Wat 'n herlaai werklik weer lees
'n Gasheersertifikaat is nie net 'n bewys soos 'n SSH-sleutel nie. Dit dra die overlay-adres, die gasheernaam, die groeplidmaatskap en 'n geldigheidsvenster, en al hierdie dinge word deur die CA se handtekening saamgebind. Die daemon gebruik daardie ondertekende inhoud om te besluit hoe dit homself aanbied en watter reëls daarop van toepassing is.
Herlaai laat die proses 'n hernieude bewys optel sonder om sy tonnels te laat val, wat waardevol is vir roetine-rotasie: dieselfde adres, dieselfde naam, dieselfde groepe, later verval. Die beperking is dat die identiteit dieselfde moet bly. Verander die overlay-adres en die herlaaipad kan dit nie toepas nie, want die adres is deel van dit waartoe die lopende instansie hom reeds verbind het.
Die gedrag wat jy gesien het, is dus die gedokumenteerde beperking wat sy werk doen, nie 'n stil mislukking nie. Die leêr op skyf is nuut; die identiteit in geheue is oud; die proses het geen ondersteunde manier om daardie verskil te versoen sonder 'n herbegin nie.
Adres, naam en groepe is een identiteit
Dit help om die sertifikaat as 'n enkele rekord te sien eerder as as 'n stel velde wat jy onafhanklik kan wysig. Om die adres te skuif is nie soos om 'n voorkeur te verander nie, want die adres kom voor in ander gashere se peer-konfigurasies, in diensbindings en in beleide wat teen die identiteit geskryf is.
| 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 |
Groepe verdien hul eie reël, want hulle veroorsaak 'n stiller weergawe van dieselfde verwarring. 'n Gasheer wat sy adres behou maar van groepe verander, kan ná 'n herbegin ander dienste bereik, en 'n toets wat net die ou adres ping, sal heeltemal gesond lyk terwyl toegangsbesluite onderlangs verander het. Kontroleer een diens met 'n reël, nie net bereikbaarheid nie. Dit is die verskil tussen die tonnel bevestig en die beleid bevestig.
Vergelyk die gelaaide sertifikaat met die vervanging
Voordat jy aanneem die daemon het die leêr geïgnoreer, lees albei. Druk die sertifikaat wat jy van plan is om te laai en bevestig die velde wat jy dink jy verander het, en bevestig dan dat die lopende konfigurasie na daardie pad wys eerder as na 'n kopie elders.
nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)Die prosesargumente maak meer saak as wat mense verwag. 'n Eenheid wat -config /etc/nebula/config.yml deurgee, lees daardie leêr se pki.cert-inskrywing, en 'n sertifikaat wat in 'n tydelike gids geïnstalleer is, raak niks. Kontroleer die pad in die lopende opdragreël, nie die pad in die dokumentasie wat jy gevolg het nie. As die twee verskil, het jy die probleem gevind sonder om die sertifikaat hoegenaamd aan te raak.
As die nuwe sertifikaat 'n ander adres het en die proses het die ou een behou, het jy nou 'n verduideliking eerder as 'n raaisel. Herbegin dit as dit aanvaarbaar is, en hanteer die adresverandering as 'n beplande netwerkverandering eerder as 'n toevallige een.
'n Adresverandering is 'n netwerkverandering
Beplan dit soos jy die verskuiwing van 'n masjien sou beplan. Ander gashere het dalk die ou adres in hulle konfigurasie vasgepen, dienste bind dalk eksplisiet daaraan, en firewall-reëls is dalk daarteen geskryf. Om die sertifikaat te verander, skuif die gasheer, en om die gasheer te skuif, maak aannames elders ongeldig.
Hou 'n tweede bestuurspad beskikbaar terwyl jy dit doen, want die overlay-verbinding is dalk die een wat jy onderbreek. Om dit oor die tonnel te doen wat jy op die punt is om te breek, is die klassieke manier om 'n vyfminuut-verandering in 'n besoek ter plaatse te verander.
Of 'n herbegin aanvaarbaar is, hang af van wat die gasheer doen, en dit is 'n beplanningsvraag eerder as 'n tegniese een. Wat nie opsioneel is nie, is om die herbeginvereiste te erken in plaas daarvan om die herlaai 'n vyfde keer te stuur.
Onttrek die ou bewys afsonderlik
Om 'n vervanging op 'n enkele masjien te installeer, laat elke peer steeds die bewys vertrou wat hy reeds ken. As die rede vir die verandering 'n kompromittering was, moet die ou identiteit deur die trust- of blokkeerlysprosedure onttrek word sodat peers dit werklik verwerp.
Dit is 'n afsonderlike stap met sy eie verifikasie: bevestig van 'n ander gasheer dat die ou identiteit nie meer werk nie, eerder as om aan te neem die nuwe leêr het die werk gedoen. Die Nebula PKI-konfigurasiedokumentasie dek die herlaaibare instellings en die adresbeperking wat hier beskryf word, en dit is die moeite werd om dit volledig te lees voordat jy enigiets in produksie roteer.