![在使用 conjure-up 引导时,我们是否需要访问所有服务器的互联网?](https://linux22.com/image/999886/%E5%9C%A8%E4%BD%BF%E7%94%A8%20conjure-up%20%E5%BC%95%E5%AF%BC%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E8%AE%BF%E9%97%AE%E6%89%80%E6%9C%89%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E4%BA%92%E8%81%94%E7%BD%91%EF%BC%9F.png)
我正在尝试按照提供的步骤使用 ubuntu maas juju autopilot 设置 openstack。
我停滞在我正在奔跑的某一步
conjure-up --bootstrap-to <hostname>.
此命令卡在
获取 Juju Agent 2.1.2
等待一段时间,然后登录到选择引导的服务器,发现它无法访问互联网。该服务器有两个网卡,其中一个连接到外部网络(可以通过互联网访问公司防火墙)。现在,我编辑了 /etc/resolv.conf,将外部网络 dns 服务器和 dns 搜索放在 maas 服务器 dns 和 IP 之前。在此之后,该过程可以进一步进行,开始部署 haproxy、landscape-server、postgresql 和 rabbitmq-server。这里它正在等待机器,并开始部署第二台服务器。
由于 16.04 没有 wakeonlan 选项,我已将 maas 列表中的所有服务器设置为手动。使用 etherwake,我可以打开服务器并在第二台服务器上开始部署。
现在,问题是第二台服务器是否也需要访问互联网?另外,我有一个问题,是否所有服务器出于某种原因都需要互联网访问?有没有办法将 MAAS 控制器节点以外的所有服务器保留在没有互联网访问的私有网络中,并通过 MAAS 控制器满足所有互联网访问需求?
在我的设置中,我有一个 MAAS 控制器,它有两个网卡,一个连接到互联网,另一个连接到私有交换机。我还以类似的方式连接了另外两台服务器,以便 juju 和 Landscape 可以启动并运行。
如果您需要任何具体信息来回答这个问题,请告诉我。
答案1
与往常一样,在这个论坛中很难找到与 maas/juju/autopilot 相关的答案。
我的问题的答案是:是的。它由 MAAS 服务器完成,该服务器可以充当路由器:MAAS 服务器上的防火墙修改示例如下:
sudo iptables -A FORWARD -o eno1 -i eno2 -s 10.0.0.1/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eno2 -j MASQUERADE
这里10.xxx是内部网络。