如何让厨师倾听多个IP

我目前正在和厨师一起评估这种configuration工具是否可以帮助我们在基于nix的环境中工作。

在过去的几天里,我正在努力解决一个我找不到解决scheme的问题。 基本上,我有2个专用networking范围192.168.1.0/24和192.168.2.0/24。 有一台服务器(Ubuntu 14.04.4 LTS)可以访问两个networking(em1上的192.168.1.1/24和em2上的192.168.2.1/24),这个networking正在运行主服务器。

据我所知,厨师将监听configuration了默认路由的接口(这里是em1上的192.168.1.1)。 但是,我希望厨师监视两个networking上的服务器。

当我引导到192.168.2.0/24上的服务器时,客户端被安装,但是没有来自客户端的响应,因为服务器自己调用192.168.2.0/24不可见的192.168.1.1(毕竟它只是一个普通的子网)。

有没有办法让厨师在两个接口上听(例如像'听取0.0.0.0/0')? 我search了整个networking,但只find像书架这样的底层服务的解决scheme。 关于如何在这样的环境下实现configurationpipe理,您有什么build议吗?

问候肯尼思

2周后没有答案,所以我预计,没有“简单”的方式来实现这一目标。

我想分享我的“解决方法”的外观。 也许它会帮助那些面临类似问题的人。

  • 子网A:192.168.1.0/24
  • 子网B:192.168.2.0/24
  • 子网C:192.168.3.0/24

我添加了一个新的单独的子网(C),它有点像dmz(因为它的内容没有,但是我希望你会明白)。 之后,我为shorewall创build了策略,它授予从子网A和B到新创build的C的路由,但是不会倒退。 这样,来自两个networkingA和B的厨师客户能够连接到C中的厨师服务器,但是A和B仍然不被允许相互通信。 此外,C不允许联系A和B后面的系统,所以即使有人劫持了A或B,他仍然在访问其他子网时遇到了问题。 虽然这会使添加新节点变得更加复杂一些,但仍然非常简单(例如,编写安装厨师客户端的通用脚本并将其连接到服务器或使用本地版本的“刀”)。

以下是Shorewall正在使用的(简化)策略文件:

#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST $FW A REJECT $FW B REJECT $FW C REJECT A $FW DROP AB REJECT AC ACCEPT B $FW DROP BA REJECT BC ACCEPT C $FW DROP CA REJECT CB REJECT # THE FOLLOWING POLICY MUST BE LAST all all DROP info 

毕竟,这不是我正在寻找的解决scheme。 然而,我越想越想越喜欢这个解决scheme,因为除了防火墙本身之外没有其他的桥接器,我们也能够部署在两个子网都可以使用的软件(比如RabbitMQ)。