我使用 Ubuntu 单节点安装程序脚本在备用服务器上成功安装了 OpenStack。底层 Ubuntu 实例上的 OpenStack 状态页面全是绿色。从主机 Ubuntu 实例,我可以 ping/ssh 到虚拟网络上已启动的所有各种 OpenStack 实例。
我现在想从本地网络上的 PC 访问 Horizon 仪表板(我无法从主机 Ubuntu 机器访问它,因为它是服务器安装,因此没有桌面来运行 Web 浏览器)。我的本地网络是 192.168.1.xxx,ubuntu 服务器的静态 IP 为 192.168.1.200。Horizon 安装在 IP 为 10.0.4.77 的实例上。
根据博客文章在一台机器上安装 Ubuntu OpenStack,而不是 7 台,看来我需要对主机 Ubuntu 实例进行 iptables 更改,以在两个网络之间建立桥接。上述博客文章中建议的命令是:
sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.1.250 --dport 8000 -j DNAT --to-destination 10.0.6.241:443
如果我针对我的网络/安装进行修改的话,结果将是:
sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.1.200 --dport 8000 -j DNAT --to-destination 10.0.4.77:443
然而,我怀疑这不是实现此目的的首选方法。首先,因为这--dport 8000
似乎是错误的,其次是因为我的印象是应该使用中子来创建必要的桥梁。
任何帮助,将不胜感激...
答案1
如果您只想从笔记本电脑访问仪表板,则可以使用 sshuttle:
sshuttle ubuntu@<server_ip> -r 10.0.6.0/24
这样您就可以使用容器 IP 加载仪表板。如果您想要更实质性的东西,那么配置 iptables 可能是最佳选择。