无头 VirtualBox VM NAT 网络

无头 VirtualBox VM NAT 网络

我有一个只能通过 SSH 访问的远程 Linux 服务器。

我的目标是使用 VirtualBox 在此主机服务器上托管多个虚拟机。主机服务器有 1 个 IP 地址,因此将使用 NAT 路由到虚拟机,例如 10022 将转发到服务器 1:22,而 20022 将转发到服务器 2:22。

我已经安装了 VirtualBox 并将预先配置的 CentOS VM 复制到主机服务器。

我启动了虚拟机,但无法与服务器建立连接,例如 ssh -p 10022 127.0.0.1 超时。

我尝试过很多事情:

方法 1:复制现有的 .vdi,附加到新的 VM
方法 2:导入 .Ova VM(认为它有助于解决任何 MAC 重新初始化问题?)

NAT网络类型,尝试了natnet1 192.168/16和10.0/16
VBoxManage modifyvm "hermes.awoms.com" --natnet1 "192.168/16"

在modifyvm --natpf1命令中指定和不指定VM ip的端口转发
VBoxManage modifyvm "hermes" --natpf1 "guestssh,tcp,,10022,,,22"
VBoxManage modifyvm "hermes" --natpf1 "guestssh,tcp,,10022,192.168.0.15,22"

我无法看到虚拟机是否正在启动(VBoxHeadless "hermes" --start &运行无错误),也无法判断虚拟机是否正在获取 IP 地址

当我唯一的访问权限是 SSH 时,我还能做些什么来从 VirtualBox 或启动的 VM 获取更多信息?

答案1

这应该可以起作用。

您的虚拟机可能无法完成启动或具有不正确的 eth0 网络配置(不受支持的 NIC、未启用 dhcp 客户端)。

我建议你使用 VRDP(如果你使用 OSE,则使用 VNC)来查看虚拟机中发生的情况(http://www.virtualbox.org/manual/ch07.html/http://www.virtualbox.org/manual/ch09.html#otherextpacks

答案2

尝试通过以下方式建立连接

ssh -p 10022 127.0.0.1

注定会失败:您正试图连接到您发出命令的同一台机器,即端口 10022:这不是您想要的。因此,您实际上并不知道安装是否有效,因为您与客户机通信的方式不正确。

您可以从 Linux 服务器尝试通过 ping 来联系您的客户机:

ping -c3 10.0.0.15

10.0.0.15 是 VBox 为 NAT 客户端提供的默认 IP 地址。如果失败,您可以尝试使用 nmap:

sudo nmap -sn 10.0.0.0/24

如果您保留默认设置,这应该可以识别访客的 IP。

如果访客回复,您现在可以尝试连接它:从服务器,

ssh [email protected]

或客户机 IP 的任何内容。此时,您需要指示您的 VM 监听端口 10022 以进行 ssh 通信。首先,确保您已下载包含 ssh 服务器的软件包,然后编辑文件 /etc/ssh/sshd_config 并更改行

 Port 22

进入行列

 Port 10022

现在重新启动 ssh 服务器并离开客户操作系统。

现在您可以从 LAN 中的另一台机器

ssh -p 10022 myname@IP

其中,我用 IP 表示 Linux 服务器的 IP 地址。这至少可以让你开始

相关内容