Puppet Master を初めて起動すると、独自のサーバー証明書が自動的に生成されます。これは素晴らしいことです。
私のサーバーのホスト名はでありkungfumaster
、Puppet マスターは次の共通名を持つ証明書を生成します:
kungfumaster.mynetwork.com
また、サブジェクト代替 DNS 名として次のものも追加されます。
X509v3 Subject Alternative Name:
DNS:kungfumaster.mynetwork.com, DNS:puppet, DNS:puppet.mynetwork.com
このドメインが に存在することをどのようにして発見したのかは正確にはわかりませんmynetwork.com
が、 はhostname
パラメータ設定で FQDN を明らかにしないため、 に存在することがわかります。
しかし、見逃されたと思われる名前が 1 つあります。それは、修飾されていないホスト名 ですkungfumaster
。興味深いことに、 と のドメインは追加されましたpuppet
がpuppet.mynetwork.com
、 は都合よくスキップされましたkungfumaster
。
Puppet Master の起動スクリプトで、必要な DNS 名をすべて含むサーバーの証明書を適切に生成するにはどうすればよいですか?
答え1
何かを実行する前に、puppet cert
ツールを使用して、指定された代替 DNS 名のリストを含む証明書名を生成します。
puppet cert generate --dns_alt_names \
kungfumaster,kungfumaster.mynetwork.com kungfumaster
すでに生成している場合は、それを消去します。
puppet cert clean -a
ゾーン情報をどのように認識するかをまだ理解する必要がありますが、それは別の問題です。