Come aggiungere più nomi DNS al mio burattinaio?

il mio puppet.conf sul maestro

[master] certname = myname.mydomain.com ca_server = myname.mydomain.com certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local; 

per la mia comprensione con i certdnsnames definito i seguenti dovrebbero funzionare:

  • Windows DNS, sottodominio AD come zona separata, registri DC in zona sbagliata
  • Quando le query DNS utilizzano TCP invece di UDP?
  • Il test SPF di Port25.com non riesce, gmail SPF pass
  • nslookup non risolve il nome host
  • Come utilizzare CNAME agli host esterni sul server DNS locale?
  • Ci sono nomi per i disegni DNS tipici (e, in caso affermativo, quali sono i più comuni)?
  •  puppet agent --server myname.dyndns.org --test 

    ma ho il seguente errore:

     err: Could not retrieve catalog from remote server: hostname was not match with the server certificate 

    come evitare questo errore? come definire correttamente certdnsnames? ho trovato una documentazione difforms su questo, ma non un semplice esempio. ii uso "," per separazione non posso firmare affatto. Ho anche visto una syntax simile

     certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr 

    http://projects.puppetlabs.com/issues/5776

    ma per me non è chiaro quando aggiungere un "burattino": e quando no.

    4 Solutions collect form web for “Come aggiungere più nomi DNS al mio burattinaio?”

    A beneficio di chiunque altro che inciampa su questa risposta:

    A causa di CVE-2011-3872 , Puppet non support più l'opzione certdnsnames . Dalla documentazione:

    L'impostazione certdnsnames non è più funzionale, dopo CVE-2011-3872. Ignoriamo completamente il valore. Per la propria richiesta di certificato è ansible impostare dns_alt_names nella configuration e si applica localmente. Non esiste un'opzione di configuration per impostare nomi DNS alt, o qualsiasi altro valore subjectAltName, per un altro certificato di nodes. In alternativa è ansible utilizzare l'opzione -dns_alt_names command line per impostare le etichette aggiunte durante la creazione di una propria CSR.

    È ansible generare un certificato SSL per il server che utilizza il subjectAlternativeName come questo:

     $ puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names> 
    • Innanzitutto, certdnsnames è una list separata dai due punti.
    • In secondo luogo, questo errore si verifica perché l'agente sta contattando master utilizzando un nome host che non era incluso quando il certificato è stato firmato: http://docs.puppetlabs.com/guides/troubleshooting.html

    Per Puppet 4+ utilizzare i seguenti comandi per modificare i nomi accettati dns per il certificato del puppetserver:

    Rinominare i certificati esistenti su * .backup:

     mv /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem{,.backup} mv /etc/puppetlabs/puppet/ssl/ca/signed/$(hostname -f).pem{,.backup} mv /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem{,.backup} 

    generare un nuovo certificato (aggiungere i nomi dei nomi desiderati):

     puppet cert generate $(hostname -f) --dns_alt_names=$(hostname -f),puppet 

    riavviare il puppetserver per utilizzare nuovi certificati

     service puppetserver restart 

    Secondo

     puppet agent --genconfig 

    è necessario utilizzare un elenco separato dai due punti (":" e non ";").

    Quindi dovrebbe essere

     certdnsnames = 'puppet:puppet.local:myname.dyndns.org:hivemind.local' 

    HTH

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.