1

So I have a RHEL 7 server on an internal network with IPv6, and I am able to SSH into it via IPv6 and it is also serving DNS to other hosts over IPv6.

I have noticed that puppet master bind to IPv4 only:

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

A quick Google reveals that it is most likely that ruby on RHEL 7 are compiled without IPv6 support.

So I just get it up and running with IPv4 for now.

Having everything else running on IPv6 though, I wonder what's the best way to get puppet master to listen on IPv6? Can I install ruby from the upstream rpms with IPv6 turned on? Or install a separate IPv6 enabled ruby environment via rvm, but then how would I get puppet to use the one provided by rvm?

  • Is this open source Puppet or Puppet Enterprise? And what version? – Michael Hampton Apr 27 '15 at 1:06
  • Open source puppet installed from puppetlab repo at 3.7.5. – Machoke Apr 27 '15 at 3:59
4

In Puppet Enterprise the puppetmaster should be listening on a dual stack IPv6/IPv4 socket by default. Though PE has some other IPv6-related brokenness (my site) you'll have to work around.

In open source Puppet, such as you may have obtained via EPEL, you need to set the bindaddress explicitly in the [main] section of /etc/puppet/puppet.conf:

[main]
bindaddress = ::

which by default will bind to a dual stack socket and accept IPv6 and IPv4 connections from anywhere.

  • Oh!! To show how that my Google fu has failed! Thank you that worked! Now I got the following, does that mean it is IPv6 only? netstat -n -l | grep 8140 \n tcp6 0 0 :::8140 :::* LISTEN – Machoke Apr 27 '15 at 3:57
  • 1
    Nope, it's a dual stack socket and accepts IPv4 and IPv6 connections. – Michael Hampton Apr 27 '15 at 4:07
  • @MichaelHampton Is it even possible to tell the difference between a dual stack socket and a v6-only socket from the netstat output? – kasperd Apr 27 '15 at 22:08
  • @kasperd As far as I can tell, netstat doesn't distinguish. I simply tested them with netcat. :) – Michael Hampton Apr 28 '15 at 4:44

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.