Итак, у меня есть сервер RHEL 7 во внутренней сети с IPv6, и я могу подключиться к нему по SSH через IPv6, и он также обслуживает DNS для других хостов через IPv6.
Я заметил, что мастер марионетки привязывается только к IPv4:
$ netstat -n -l | grep 8140
tcp 0 0 0.0.0.0:8140 0.0.0.0:* LISTEN
Быстрый поиск Google показывает, что наиболее вероятно, что ruby на RHEL 7 скомпилированы без поддержки IPv6.
Так что я пока просто настроил его и запустил с IPv4.
Хотя все остальное работает на IPv6, мне интересно, как лучше всего заставить марионеточного мастера слушать IPv6? Могу ли я установить ruby из восходящего потока пакетов с включенным IPv6? Или установите отдельную среду ruby с поддержкой IPv6 через rvm, но тогда как мне заставить марионетку использовать ту, которая предоставляется rvm?
В Puppet Enterprise по умолчанию puppetmaster должен прослушивать сокет IPv6 / IPv4 с двойным стеком. Хотя PE имеет некоторые другие нарушения, связанные с IPv6 (мой сайт) вам придется работать.
В Puppet с открытым исходным кодом, который вы могли получить через EPEL, вам необходимо установить bindaddress
прямо в [main]
раздел /etc/puppet/puppet.conf
:
[main]
bindaddress = ::
который по умолчанию будет привязан к сокету с двойным стеком и принимать соединения IPv6 и IPv4 отовсюду.