本地计算机与远程服务器上运行的虚拟机之间的路由

本地计算机与远程服务器上运行的虚拟机之间的路由

我正在尝试在本地计算机 (LM) 和在远程服务器 (RS) 上运行的 VirtualBox VM (VM,使用 Vagrant 创建并配置) 之间建立路由Host-only Networking。设置如下:

LM (OS: Windows 7, IP: 192.168.2.8)
VM (OS: Ubuntu server 14., IP: 192.168.50.4)
RS (OS: Ubuntu server 14., eth0: 192.168.2.204, vboxnet0: 192.168.50.1)

我尝试将以下路由添加到我的本地机器:

route add 192.168.50.0 mask 255.255.255.0 192.168.2.204

但我只能 ping 远程服务器的第二个接口(即 192.168.50.1),无法访问虚拟机。我该如何解决这个问题?

答案1

通常,VirtualBox 中的虚拟机会添加 NAT,因此虚拟机接口不会直接暴露在网络上。要暴露它,请打开“设置”->“网络”,并将“附加到:”从 NAT 更改为“桥接适配器”。然后,您可以决定是否要在虚拟机内使用 DHCP 或静态寻址。

仅主机网络仅提供对主机和同一台机器上的其他虚拟机的访问,并且在不需要主机的物理网络接口时使用。

要使用 Vagrantfile 设置桥接适配器:

DHCP

Vagrant.configure("2") do |config|
   config.vm.network "public_network"
end

静态IP

Vagrant.configure("2") do |config|
   config.vm.network "public_network", ip: "192.168.2.205"
end

相关内容