![如何让 Puppet Master 在 IPv6 上进行监听?](https://linux22.com/image/657051/%E5%A6%82%E4%BD%95%E8%AE%A9%20Puppet%20Master%20%E5%9C%A8%20IPv6%20%E4%B8%8A%E8%BF%9B%E8%A1%8C%E7%9B%91%E5%90%AC%EF%BC%9F.png)
因此,我在具有 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 连接。