Puppet Master 似乎没有收到经纪人的签字证书

Puppet Master 似乎没有收到经纪人的签字证书

我想在我的 Puppet 2.7.23 主服务器上配置 DNS 轮询。我使用 配置了 2 台 Red Hat 6.5 服务器Puppet running via Rack with Passenger on Apache 2.2.15 with mod_ssl。我配置了 alt_dns_names 并创建了 2 个 A 记录,以使用每台服务器的 IP 指向 puppet.mydomain.com。我不太确定我需要做什么才能使故障转移正常工作,因为证书是由一台服务器或另一台服务器签名的,如果一台服务器出现故障而另一台服务器没有相应代理的证书,会发生什么?

我尝试添加/etc/puppet/autosign.conf内容,"*"但我知道这将允许主机签署任何证书,而无需明确运行 puppet cert sign hostname。

它不起作用(当我在新配置的代理上运行 puppet agent --test 时,客户端并没有签署他们的证书)所以我将它重命名为autosign.conf.ignore。我将其重命名/var/lib/puppet/sslssl.oldpuppet cert clean --all然后puppet cert generate <host.FQDN>执行操作并重新启动 Apache 以重新开始。当我在 Master 上运行 puppet cert list --all 时,我仍然看到 Master 自己的证书中的 alt_dns 名称(这是唯一存在的证书,因为我还没有添加代理)。我删除了 puppet.mydomain 的 2 个 A 记录,并决定只尝试使用它自己的 DNS 名称的单个 Master。我从中删除了 alt_dns 行/etc/puppet/puppet.conf并经历了移动 ssl 目录并使用主机 DNS 名称重新生成证书,启动了 apache 进程;但 puppet.mydomain 仍然显示在 puppet cert list --all 中。

问题:我现在看到的是,当我配置并在客户端计算机上server = DNS name of Master运行时,它在客户端上看起来很好,但证书从未出现在主服务器上。我做了一个 TCPdump 并看到客户端正在与端口 8140 上的主机通信,我在日志中没有看到错误,它只是在客户端上一遍又一遍地显示未收到证书,主服务器看不到要签名的证书。解决这个问题的想法,以及任何有关我在 DNS 循环故障转移中可能缺少什么的信息都很好,但最重要的是,我需要解决为什么我无法将 Puppet 客户端添加到我的主服务器。 puppet agent --test --waitforcert 5puppet cert listpuppet cert list --all

答案1

这是因为尽管删除了相关的 A 记录,但 PTR 记录仍然处于活动状态。删除 PTR 记录并在代理上删除并重新安装 puppet 后,我​​可以再次签署此代理的证书。好吧,这就是你的答案。至少有人回答了。无论如何,谢谢 ServerFault!

相关内容