如何通过 VNC 访问虚拟机内部的虚拟机?

如何通过 VNC 访问虚拟机内部的虚拟机?

由于某些原因,我在虚拟机内安装了虚拟机,如下所示:

A( B( C ))

其中 A 是物理机,B 是虚拟机,网络类型为 NAT。C 也是虚拟机,网络类型为桥接。

操作系统是 Ubuntu 12.04,虚拟机管理程序是 kvm。

我可以通过 VNC 访问 B,也可以从 A 通过 ssh 访问,但对于 CI,无法使用 ssh,因为 C 一开始没有 IP 地址。而且我假设我只能通过 VNC 访问 C。

我尝试了类似的事情(在 A 上):

iptables -t nat -A PREROUTING -d $ip-of-A -p tcp --dport 6500 -j DNAT --to-destination $ip-of-B:5900

(我提到

但它不起作用。我正在阅读 iptables 的手册页,希望有人能帮忙 :)

答案1

我的声誉不足以发表评论。

假设所有机器都有单个网络适配器。B 是 NAT,C 是桥接的。您可以通过 A 访问 B。

是否可以通过 B 访问 C?

是否可以通过 A 访问 C?

如果可以通过 B 访问 C,则必须将端口从 A 转发到 B,并将该端口从 B 转发到 C 的端口 5900。

假设 A 的 65535 端口转发到 B 的 65535 端口,B 的 65535 端口将转发到 C 的 5900 端口以供 VNC 访问。SSH 和其他服务也可以这样做。

相关内容