Назад | Перейти на главную страницу

Puppet Master не получает сертификат для подписи от агента

Я хотел настроить циклический перебор DNS на моих главных серверах Puppet 2.7.23. Я настроил 2 сервера Red Hat 6.5 с Puppet running via Rack with Passenger on Apache 2.2.15 with mod_ssl. Я настроил alt_dns_names и создал 2 записи A, указывающие на puppet.mydomain.com с IP-адресами каждого сервера. Я не совсем уверен, что мне нужно сделать, чтобы переключение на сбой работало должным образом, так как сертификаты подписывались одним сервером или другим, что происходит, когда один из них выходит из строя, а другой не имеет сертификата соответствующего агента?

Я пробовал добавить /etc/puppet/autosign.conf с содержанием "*" с пониманием того, что это позволит мастеру подписывать любой сертификат без явного запуска имени хоста подписи сертификата марионетки.

Он не работал (клиенты не просто подписывали свои сертификаты, когда я запускал марионеточный агент --test на только что настроенном агенте), поэтому я переименовал его в autosign.conf.ignore. Я переименовал /var/lib/puppet/ssl к ssl.old, сделал puppet cert clean --all а потом puppet cert generate <host.FQDN> и перезапустил Apache, чтобы начать все сначала. Когда я запускаю список сертификатов марионеток - все на Мастере, я все еще вижу имена alt_dns в собственном сертификате Мастера (единственный существующий сертификат, поскольку я еще не добавил агентов). Я удалил 2 записи A для puppet.mydomain и решил просто попробовать один Мастер, используя его собственное DNS-имя. Я удалил строку alt_dns из /etc/puppet/puppet.conf и прошел через перемещающийся каталог ssl и регенерировал сертификаты с DNS-именем хоста, запустив процесс apache; но puppet.mydomain по-прежнему отображается в списке сертификатов марионеток --all.

Эта проблема: Сейчас я вижу, что когда я настроил server = DNS name of Master и беги puppet agent --test --waitforcert 5 на клиентском компьютере это выглядит нормально на клиенте, но сертификат никогда не появляется на Мастере ни в одном puppet cert list или puppet cert list --all. Я сделал TCPdump и увидел, что клиент обменивается данными с хостом через порт 8140, я не вижу ошибок в журналах, он просто говорит, что не получал сертификат снова и снова на клиенте, а мастер не видит сертификата для подписи. Идеи, чтобы исправить это, и любая информация, относящаяся к тому, что мне может не хватать при обходе отказа DNS Round Robin, были бы замечательными, но, что наиболее важно, мне нужно решить, почему я не могу добавить клиентов Puppet к своему Мастеру.

Это было вызвано тем, что записи PTR все еще активны, несмотря на удаление связанных записей A. После удаления записей PTR и выполнения удаления и переустановки марионетки на агенте я мог снова подписать сертификат этого агента. Ну вот и ответ. Хоть кто-то на это ответил. В любом случае спасибо ServerFault!