如何让 Puppet Master 在 IPv6 上进行监听?

如何让 Puppet Master 在 IPv6 上进行监听?

因此,我在具有 IPv6 的内部网络上有一个 RHEL 7 服务器,并且我能够通过 IPv6 通过 SSH 进入它,并且它还通过 IPv6 为其他主机提供 DNS 服务。

我注意到 Puppet Master 仅绑定到 IPv4:

$ netstat -n -l | grep 8140
tcp        0      0 0.0.0.0:8140            0.0.0.0:*               LISTEN

快速 Google 一下就会发现,RHEL 7 上的 ruby​​ 很可能是在没有 IPv6 支持的情况下编译的。

因此我现在只需使用 IPv4 即可启动并运行它。

虽然其他所有东西都在 IPv6 上运行,但我想知道让 Puppet Master 在 IPv6 上监听的最佳方法是什么?我可以从启用 IPv6 的上游 rpm 安装 ruby​​ 吗?或者通过 rvm 安装一个单独的启用 IPv6 的 ruby​​ 环境,但接下来我该如何让 Puppet 使用 rvm 提供的环境?

答案1

在 Puppet Enterprise 中,puppetmaster 默认应该监听双栈 IPv6/IPv4 套接字。虽然 PE 有其他一些与 IPv6 相关的故障(我的网站)你必须想办法解决。

在开源 Puppet 中(例如您可能通过 EPEL 获得的),您需要在以下部分bindaddress中明确设置:[main]/etc/puppet/puppet.conf

[main]
bindaddress = ::

默认情况下它将绑定到双栈套接字并接受来自任何地方的 IPv6 和 IPv4 连接。

相关内容