Recarregar o certificado Nebula não mudou o IP: eis por que
Uma recarga só relê as credenciais do host quando o endereço de overlay permanece o mesmo. Mudar o endereço significa reiniciar e alterar a rede, não tentar de novo.
Você emite um novo certificado de host com outro endereço de overlay, copia-o sobre o arquivo antigo, envia a recarga, e o host continua respondendo no endereço que tinha antes. O reflexo é supor que a recarga falhou ou que o arquivo errado foi lido. Normalmente nenhuma das duas coisas aconteceu: o processo em execução manteve deliberadamente a identidade que já tinha, porque a substituição mudou algo que uma recarga não consegue aplicar.
O suporte de recarga do PKI do Nebula está documentado com essa fronteira, e é fácil não perceber quando a mesma documentação mostra que a recarga funciona para outras mudanças.
O que uma recarga realmente relê
Um certificado de host não é apenas uma credencial como é uma chave SSH. Ele carrega o endereço de overlay, o nome do host, as associações a grupos e uma janela de validade, e tudo isso está unido pela assinatura da CA. O daemon usa esse conteúdo assinado para decidir como se apresenta e quais regras se aplicam a ele.
A recarga permite ao processo assumir uma credencial renovada sem derrubar seus túneis, o que é valioso para a rotação de rotina: mesmo endereço, mesmo nome, mesmos grupos, validade posterior. A restrição é que a identidade precisa continuar a mesma. Mude o endereço de overlay e o caminho de recarga não consegue aplicá-lo, porque o endereço faz parte daquilo a que a instância em execução já se comprometeu.
Então o comportamento que você viu é o limite documentado fazendo o seu trabalho, não uma falha silenciosa. O arquivo no disco é novo; a identidade na memória é antiga; o processo não tem uma forma suportada de conciliar essa diferença sem reiniciar.
Endereço, nome e grupos são uma só identidade
Ajuda pensar no certificado como um único registro e não como um conjunto de campos que se podem editar separadamente. Mover o endereço não é como mudar uma preferência, porque o endereço aparece nas configurações de pares de outros hosts, nas ligações de serviços e em políticas escritas contra a identidade.
| 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 |
Os grupos merecem uma linha própria porque provocam uma versão mais silenciosa da mesma confusão. Um host que mantém o endereço mas muda de grupos pode alcançar serviços diferentes após reiniciar, e um teste que só faz ping no endereço antigo parecerá completamente saudável enquanto as decisões de acesso mudaram por baixo. Verifique um serviço sujeito a uma regra, não apenas o alcance. É a diferença entre confirmar o túnel e confirmar a política.
Compare o certificado carregado com a substituição
Antes de supor que o daemon ignorou o arquivo, leia os dois. Imprima o certificado que pretende carregar e confirme os campos que acha que alterou, depois confirme que a configuração em execução aponta para esse caminho e não para uma cópia noutro lugar.
nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)Os argumentos do processo importam mais do que as pessoas esperam. Uma unidade que transmite -config /etc/nebula/config.yml lê a entrada pki.cert desse arquivo, e um certificado instalado num diretório temporário não afeta nada. Verifique o caminho na linha de comando em execução, não o caminho da documentação que seguiu. Se os dois diferirem, encontrou o problema sem tocar no certificado.
Se o novo certificado tem um endereço diferente e o processo manteve o antigo, agora tem uma explicação em vez de um mistério. Reinicie-o se for aceitável, e trate a mudança de endereço como uma mudança de rede planeada e não acidental.
Uma mudança de endereço é uma mudança de rede
Planeie-a como planearia mover uma máquina. Outros hosts podem ter fixado o endereço antigo na sua configuração, serviços podem ligar-se explicitamente a ele, e regras de firewall podem estar escritas contra ele. Mudar o certificado move o host, e mover o host invalida pressupostos noutros lugares.
Mantenha um segundo caminho de gestão disponível enquanto o faz, porque a ligação overlay pode ser justamente a que está a interromper. Fazer isto pelo túnel que está prestes a quebrar é a forma clássica de transformar uma mudança de cinco minutos numa visita ao local.
Se reiniciar é aceitável depende do que o host está a fazer, e isso é uma questão de planeamento e não técnica. O que não é opcional é reconhecer o requisito de reinício em vez de enviar a recarga pela quinta vez.
Retire a credencial antiga separadamente
Instalar um substituto numa única máquina deixa cada par ainda a confiar na credencial que já conhece. Se o motivo da mudança foi um compromisso, a identidade antiga tem de ser retirada através do procedimento de confiança ou de lista de bloqueio para que os pares a rejeitem de facto.
Esse é um passo separado com a sua própria verificação: confirme a partir de outro host que a identidade antiga já não funciona, em vez de assumir que o novo ficheiro fez o trabalho. A documentação de configuração do PKI do Nebula cobre as definições recarregáveis e a limitação de endereço aqui descrita, e vale a pena lê-la na íntegra antes de rodar seja o que for em produção.