При первом запуске Puppet Master он автоматически генерирует собственный сертификат сервера, что просто потрясающе.
Имя хоста моего сервера — kungfumaster
и Puppet Master генерирует сертификат с общим именем:
kungfumaster.mynetwork.com
Он также добавляет следующие альтернативные DNS-имена субъектов:
X509v3 Subject Alternative Name:
DNS:kungfumaster.mynetwork.com, DNS:puppet, DNS:puppet.mynetwork.com
Я не знаю точно, как он узнал, что этот домен находится в mynetwork.com
, хотя это так, поскольку hostname
не раскрывает полное доменное имя с какой-либо конфигурацией параметров.
Однако, похоже, что единственное имя, которое он пропустил, — это неквалифицированное имя хоста 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
Мне еще нужно выяснить, откуда он знает информацию о моей зоне, но это уже другой вопрос.