Шеф-повар использует другой IP-адрес

Только что перешел с Amazon на Joyent (неважно почему) и настроил свой Chef Server, я обнаружил следующую проблему:

Как вы, возможно, знаете, Chef устанавливает IP-адрес в соответствии с таблицей маршрутов. Так что в моем случае IP-адрес от клиента к серверу является моим общедоступным IP-адресом.

У меня есть рецепт для динамической записи файла /etc/hosts, используя IP и полное доменное имя, сообщенное клиентом. Проблема в том, что мне нужно использовать частный IP, чтобы весь трафик, достигающий локальной машины, был, по сути, локальным.

Я пытался с помощью node['network']['ipaddress_eth1'] в файле шаблона hosts.erb, но не работает.

Какое облако мне не хватает? Есть ли другой способ записать мой файл hosts, используя мой частный IP?

Спасибо

Обновить

На самом деле есть способ найти то, что я ищу, используя shef:

chef > asdf = node['network']['interfaces']['eth1']['addresses'].keys.select { |a| a[/\A\d+\.\d+\.\d+\.\d+\Z/] }.first

Это вернет IP-адрес на моем eth1.

1 ответ

Чтобы решить эту проблему, я использовал гем ipaddr_extensions, а затем добавил атрибут privateipaddress в ohai.

Другие вопросы по тегам