Domain-Name-System

如何向我的 puppetmaster 添加多個 dns 名稱?

  • September 25, 2021

我在主人身上的 puppet.conf

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

根據我對 certdnsnames 定義的理解,以下內容應該有效:

puppet agent --server myname.dyndns.org --test

但我收到以下錯誤:

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

如何避免這個錯誤?如何正確定義 certdnsnames?我找到了有關此的不同文件,但沒有簡單的範例。ii 使用“,”作為分隔符,我根本無法簽名。我也看到了類似的語法

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

但對我來說,不清楚何時添加“木偶:”以及何時不添加。

為了其他偶然發現此答案的人的利益:

由於CVE-2011-3872,Puppet 不再支持該certdnsnames選項。從文件中:

在 CVE-2011-3872 之後,certdnsnames 設置不再起作用。我們完全忽略了這個值。對於您自己的證書請求,您可以在配置中設置 dns_alt_names,它將在本地應用。沒有為其他節點證書設置 DNS alt 名稱或任何其他 subjectAltName 值的配置選項。或者,您可以使用 –dns_alt_names 命令行選項來設置在生成您自己的 CSR 時添加的標籤。

您可以使用 subjectAlternativeName 為您的伺服器生成 SSL 證書,如下所示:

$ puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names>

引用自:https://serverfault.com/questions/320028