Como ter um mestre de fantoches no hostname sem modificar o / etc / hosts no cliente?

1

Eu criei um registro para o meu mestre de bonecos. Caso o puppetmaster neste endereço IP desça e eu tenha que gerar um novo endereço IP, eu posso apenas mudar o endereço IP associado ao hostname no registro A para aquele da nova caixa.

Eu gostaria que todos os meus puppetclients pudessem se conectar ao novo puppetmaster apenas pelo seu hostname no registro A.

$ dig puppetmaster.mywebsite.com

;; ANSWER SECTION:
puppetmaster.mywebsite.com.  300     IN      A       1.2.3.4

Meu cliente tem o nome do host puppetclient-01 e meu mestre tem o nome do host puppetmaster

No meu cliente de marionetes eu não tenho entradas que resolvam o hostname de puppetmaster para um IP em particular em /etc/hosts porque se puppetmaster cair e eu tiver que lançar um novo mestre de marionetes de um novo ip, eu quero para evitar alterar todos os arquivos /etc/hosts em meus clientes.

Em /etc/puppet/puppet.conf de puppetclient-01 , a única alteração que fiz nos padrões é adicionar isso

[agent]
server = puppetmaster.mywebsite.com

Em puppetclient-01 , executo este

root@puppetclient-01:~# puppet agent --test
info: Creating a new SSL key for puppetclient-01
info: Caching certificate for ca
info: Creating a new SSL certificate request for puppetclient-01
info: Certificate Request fingerprint (md5): 12:34:56:78:CB:81:62:2E:5F:AB:40:54:D0:A1:37:95
Exiting; no certificate found and waitforcert is disabled

Então, em puppetmaster eu corro isso

oot@puppetmaster:~# puppetca --sign puppetclient-01
notice: Signed certificate request for puppetclient-01
notice: Removing file Puppet::SSL::CertificateRequest puppetclient-01 at '/var/lib/puppet/ssl/ca/requests/puppetclient-01.pem'

Então, em puppetclient-01 quando eu tento uma marionete

root@puppetclient-01:~# puppet agent --test
info: Caching certificate for puppetclient-01
err: Could not retrieve catalog from remote server: Server hostname 'puppetmaster.mywebsite.com' did not match server certificate; expected puppetmaster
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: Server hostname 'puppetmaster.mywebsite.com' did not match server certificate; expected puppetmaster

Por que recebo o erro Server hostname 'puppetmaster.mywebsite.com' did not match server certificate; expected puppetmaster ?

Há alguma diretiva que eu precise alterar em etc/puppet/puppet.conf no cliente ou no mestre para que isso funcione corretamente?

    
por user784637 21.11.2013 / 01:23

1 resposta

4

Parece que você não usou o FQDN ao gerar o certificado mestre. Seguindo link : Se sudo puppet master --configprint certname no mestre produzir puppetmaster em vez de puppetmaster.mywebsite.com , será necessário :

Re-generate the puppet master’s certificate:

Stop puppet master. Delete the puppet master’s certificate, private key, and public key:

$ sudo find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete

Edit the certname setting in the puppet master’s /etc/puppet/puppet.conf file to match the puppet master’s actual hostname, and the dns_alt_names setting in that file to match any other DNS names you expect the master to need to respond to. Start a non-daemonized WEBrick puppet master instance, and wait for it to generate and sign a new certificate:

$ sudo puppet master --no-daemonize --verbose

You should stop the temporary puppet master with ctrl-C after you see the “notice: Starting Puppet master version 2.6.9” message. Restart the puppet master.

    
por 21.11.2013 / 01:44