设想:我使用 KVM 作为虚拟机管理程序,使用 Ubuntu 作为客户机和主机操作系统。PM 上有许多虚拟机,我使用 NAT 为这些虚拟机分配 IP 地址。为了创建虚拟机,我使用了一个基本映像。因此,所有虚拟机中的用户名都相同。现在我想从该 PM 之外的任何机器使用这些虚拟机,这些机器位于 PM 的同一子网中。
解决该问题的一种方法可能是使用网桥通过 DHCP 分配 IP 地址。但这对我而言不可用/不可行。
那么还有其他方法吗?如何在具有本地 IP 地址的 VM 上执行 ssh?我们可以使用某些代理类型设置而不会给主机操作系统带来一些安全问题吗?
答案1
您可以在物理机上进行设置port forwarding
,以便将物理网络中某些物理机的端口转发到虚拟机的 SSH 端口。
例如,如果物理机是10.10.10.1
虚拟机网络192.168.0.0/24
,则端口转发可以像这样:
10.10.10.1 port 225
转发至192.168.0.1 port 22
10.10.10.1 port 226
转发至192.168.0.1 port 22
也就是说,主机的端口号标识了最终目标。