无法通过地平线连接到Openstack实例,但SSH工作?

为了进行testing,我在虚拟机内运行了一个OpenStack部署。 我的设置如下:使用Virtualbox托pipeUbuntu x64 – >使用OpenStack访问Ubuntu x64 – >通过OpenstacktestingUbuntu X64服务器实例。

我意识到这是没有实际用途的,但正如所说的,它仅用于testing目的。 我成功地启动了一个实例,将它绑定到11.1.0.3和172.16.1.1(主机是172.16.0.1),我可以通过ssh -i key.pem [email protected]从主机或guest虚拟机成功ssh进入它(或172.16.1.1 )。 不幸的是,通过Horizo​​n的NoVNC不起作用(启动VNC握手 – >连接失败)。

我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 

所以我不确定发生了什么问题。 匹配.pem文件的密钥对与我的SSH实例相结合,实例是活动和正在运行。

任何帮助将不胜感激。

编辑nova get-vnc-console [id] novnc正确地提供给vnc的一个链接到vm,但它也无法连接。

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

我认为您的url参考应该是您的公开IP。

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

xvpvncproxy_base_url = HTTP://:6081 /控制台

试试看

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

在你想从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 

如果这是正确的解决scheme保存它

 iptables-save 

希望你能find解决scheme。 问候赫拉尔多