在建立 Openstack 云的过程中,我已经到了必须安装 juju 和 opensatck 的地步,但问题是部署的节点无法访问互联网(这很奇怪,因为在部署过程中,我当然可以看到它正在从互联网获取信息)。此外,在 maas 服务器上,我无法 nslookup,例如 node01.maas(这是部署节点的名称)或其地址 10.1.1.101,甚至 maas 本身。当我 nslookup maas.maas 时,我得到的是:
ali@maas:~$ nslookup maas.maas
Server: 172.16.0.159
Address: 172.16.0.159#53
Non-authoritative answer:
Name: maas.maas
Address: 104.239.213.7
Name: maas.maas
Address: 198.105.254.11
如您所见,它显示了一些任意地址,这些地址来自名称服务器 (172.16.0.159),该服务器用于处理公共网络,而不是放置节点的私有网络。我还遵循了本页下方提到的 maas 服务器上数据包转发的一些说明:“http://www.openstackbasement.com/home/landscape-openstack-juju-won-t-bootstrap“无济于事。我不知道还能做什么。请帮忙。
提前致谢
答案1
过了一段时间,终于有一位朋友建议我通过 iptables 规则在 maas 上设置 NAT,我照做了,这使得部署的节点能够通过 maas 访问互联网。以下是我在 maas 服务器上所做的具体操作:
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface enp3s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp5s0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
service iptables restart
以上内容均来自此处”https://www.howtoforge.com/nat_iptables“。然后我执行了这个命令:
sudo iptables-save | sudo tee /etc/iptables.sav
就是这样,现在私有网络上的节点可以访问互联网了。仍然无法在 maas 或节点上查找它们的名称。
是时候进入下一个阶段了,安装 Openstack 以及 juju 引导程序的负担。