无法通过 horizo​​n 连接到 Openstack 实例,但 SSH 可以工作?

无法通过 horizo​​n 连接到 Openstack 实例,但 SSH 可以工作?

我在虚拟机中运行 OpenStack 部署,用于测试目的。我的设置如下:使用 Virtualbox 托管 Ubuntu x64 -> 使用 OpenStack 的客户机 Ubuntu x64 -> 通过 Openstack 运行 Ubuntu X64 服务器测试实例。

我知道它没有实际用途,但正如所说,它仅用于测试目的。我成功启动了一个实例,将其绑定到 11.1.0.3 和 172.16.1.1(主机为 172.16.0.1),并且我可以使用 (或) 从主机或客户虚拟机成功 ssh 进入它。不幸的是,通过 Horizo​​n 的 NoVNC 不起作用(开始 VNC 握手 -> 连接失败)。ssh -i key.pem [email protected]172.16.1.1

我的 nova.conf 中的相关行如下:

--novnc_enabled=true
--novncproxy_base_url=http://172.16.0.1:6080/vnc_auto.html
--vncserver_proxyclient_address=172.16.0.1
--vncserver_listen=172.16.0.1

所以我不确定出了什么问题。与我 ssh 使用的 .pem 文件匹配的密钥对当然与实例耦合,并且实例处于活动状态并正在运行。

任何帮助将不胜感激。

编辑nova get-vnc-console [id] novnc正确地为我提供了进入虚拟机的 vnc 链接,但连接也失败了。

编辑2:澄清一下:我有一个活动且正在运行的实例,它已通过 OpenStack 仪表板成功启动。我可以 ping 该实例,也可以通过 ssh 进入该实例(使用'ssh -i key.pem ip),但我无法通过 VNC(特别是仪表板上的 novnc)访问它。尝试通过 nova 通过 get-vnc-console 提供的 URL 访问 VM 也不起作用。我希望通过 VNC 访问此实例。

答案1

我认为您的 URL 引用应该是您的公共 IP。

novncproxy_base_url=http://:6080/vnc_auto.html

xvpvncproxy_base_url=http://:6081/console

尝试一下。

答案2

--vncserver_listen=0.0.0.0在您的配置中设置。--vncserver_listen=172.16.0.1重新启动相关服务,然后尝试通过 VNC 访问实例。它应该可以工作。

答案3

在您想要从 NoVNC 访问的计算节点上尝试此操作

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5950 -j ACCEPT
iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited

如果这是正确的解决方案,请保存

iptables-save

希望您能找到解决方案。问候 Gerardo

相关内容