错误:无法请求证书:无主机路由 - 连接(2)for" puppet.myname.homelab"港口8140

时间:2017-06-04 05:12:49

标签: linux ubuntu networking dns puppet

我有两个虚拟机设置来学习Puppet - 一个运行puppetserver作为我的主人,另一个运行作为DNS的Puppet代理。

虚拟机在Hyper-V(Windows 10)中运行,并且位于同一个虚拟交换机上。

使用此Puppet模块设置内部DNS服务器 - https://github.com/ajjahn/puppet-dns我的第二个,DNS VM无法再连接到puppetserver。我在puppet agent -t次运行中收到此错误:

Error: Could not request certificate: No route to host - connect(2) for "puppet.myname.homelab" port 8140
  • 在puppetserver上,我重新发布了自己的代理证书,该证书将证书从puppet <sha-omitted>更改为"puppet.myname.homelab" <sha omitted> (alt names: "DNS:puppet", "DNS:puppet.myname.homelab")

  • 在puppetserver上运行puppet agent -t进行更新,可以很好地进行证书续订。

  • 我可以使用DNS服务器在任何主机上成功执行nslookup,并且他们确实使用新的myname.homelab域解析。

  • 我的家用路由器上仍然启用了DHCP,但我将它设置为两个虚拟机上/etc/resolv.conf中的第二个名称服务器:

    search myname.homelab  
    nameserver 192.168.1.107  
    nameserver 192.168.1.1
    

我在两台虚拟机上运行Ubuntu 16.04和Puppet 4。我已经允许两台虚拟机上的UFW端口8140,甚至尝试禁用UFW而没有运气。

我还在学习Puppet并且是网络新手,因此任何有关尝试和指向正确方向的建议都会受到赞赏。

谢谢!

2 个答案:

答案 0 :(得分:0)

我睡觉了,今天早上意识到我的路由器已经将我的Puppetserver重新分配给了一个新的IP,因此它的DNS A记录是错误的,即使它是在路由器的DHCP中手动分配的。

纠正这个伎俩,现在一切正常。

答案 1 :(得分:0)

相同的问题,但另一个原因:人偶服务器上的防火墙阻止了端口8140。可以在客户端上进行如下检查:

$ curl -k -I https://puppet:8140
curl: (7) couldn't connect to host

在服务器上禁用防火墙后(例如systemctl stop firewalld):

$ curl -k -I https://puppet:8140
HTTP/1.1 404 Not Found
Date: Thu, 24 Oct 2019 11:27:26 GMT
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html; charset=ISO-8859-1
Content-Length: 278
Server: Jetty(9.2.z-SNAPSHOT)

这是预期的输出,并且人偶代理程序也按预期运行。