Puppet 代理(v3.0.1)在防火墙后面的 VM 中挂起与主机(v3.1.1)的连接(使用基于 NAT 的访问)

Puppet 代理(v3.0.1)在防火墙后面的 VM 中挂起与主机(v3.1.1)的连接(使用基于 NAT 的访问)

我正在使用 puppet agent v3.0.1(在 FreeBSD 上),尝试连接到 puppet master v3.1.1(在 Ubuntu 上),但 puppet 代理挂起并出现以下调试输出:

puppet agent --debug --no-daemonize
...
Debug: /File[/var/puppet/ssl/private_keys]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private_keys/zg-3.XXXX.ch.pem]: Autorequiring         File[/var/puppet/ssl/private_keys]
Debug: /File[/var/puppet/ssl/public_keys/zg-3.XXXX.ch.pem]: Autorequiring File[/var/puppet/ssl/public_keys]
Debug: Finishing transaction 17214983260
[hangs.. about two minutes..]
Error: Could not request certificate: execution expired
Error: Could not request certificate: execution expired

Puppet Master 托管在虚拟机中,并通过 VM 主机上的端口转发进行访问。我已测试从防火墙后面的另一个节点访问 Master,一切正常。

当代理运行时,木偶大师上没有任何迹象表明已经建立了连接(尽管不清楚是否应该建立连接)。

  1. 我已经使用 netcat 和 telnet 检查并确认我能够从代理到服务器启动连接并交换数据。

  2. 同一个 Puppet Master 可以与运行 Puppet v3.0.2 的不同 FreeBSD 代理一起正常工作

  3. 在代理运行期间运行 tcpdump 显示一些数据包在代理和服务器之间来回传输

  4. 我跑了桁架在(FreeBSD)puppet 代理命令上,发现代理出现以下错误(两次):

    读取(6,0x80711c3c6,1854)ERR#35‘资源暂时不可用’

    文件句柄 6 来自对主系统的正确 IP 地址和端口号 (8140) 的“连接”系统调用。

我目前怀疑问题可能是由以下原因之一引起的:

  1. 代理/主傀儡软件兼容性问题

  2. SSL 库兼容性问题

  3. 一些奇怪的防火墙或 NAT 问题,允许 netcat/telnet 通信,但不允许 Puppet 通信。连接当我运行代理但不启动主服务器时,我得到了不同的错误

  4. 时间错误或竞争条件

我不认为问题是由以下原因引起的:

  1. SSL 证书问题,因为没有证书相关错误。我还尝试删除安全套接字代理系统和主系统上的目录

  2. 时间同步问题,因为两个系统都运行 NTP

关于如何调试这个有什么提示吗?

提前致谢,

艾伦·霍奇金森

PS 请询问任何有助于诊断问题所需的附加(配置)信息。

相关内容