当前位置: 首页>>技术问答>>正文


在VirtualBox中,如何设置可以访问Internet的host-only虚拟机?

, , ,

问题描述

在使用VirtualBox设置虚拟机时,我经常需要以下特征

  • VM有一个静态IP

  • 主机无需端口转发即可访问vm

  • vm可以访问互联网

  • 我可以将我的笔记本电脑从网络移动到网络(例如从家到办公室到咖啡店),而无需担心保护或重新配置虚拟机

没有一种VirtualBox网络连接方法可以自行满足这些要求。

  • NAT如果要从主机连接到vm,则需要端口转发。

  • Host-only除非主机是路由器,否则vm不能访问互联网。

  • 桥接将vm公开给网络;不便携式。

最佳解决思路

我可以通过在虚拟机上设置两个适配器来获得所需的设置。

VirtualBox 4.2.12 Ubuntu 12.04 guest

在VirtualBox>首选项>网络,建立一个host-only网络。

我的名字叫vboxnet0,它是手动配置的:ip 192.168.56.1 netmask 255.255.255.0 no dhcp

networking,virtualbox,virtualization,ubuntu

networking,virtualbox,virtualization,ubuntu

然后,在虚拟机的网络设置中,设置两个适配器:

仅适配器1主机,vboxnet0

Adapter2 NAT

启动虚拟机并通过VirtualBox提供的控制台登录。

运行以查看您的适配器:

ls /sys/class/net

在我的情况下,适配器被命名为eth1和eth2(和lo,loopback接口)。

然后,编辑您的网络配置。

sudoedit /etc/network/interfaces


# The loopback network interface
auto lo
iface lo inet loopback

# Host-only interface
auto eth1
iface eth1 inet static
        address         192.168.56.20
        netmask         255.255.255.0
        network         192.168.56.0
        broadcast       192.168.56.255

# NAT interface
auto eth2
iface eth2 inet dhcp

请注意,eth1没有指定默认网关。 eth2将从dhcp获得一个默认网关。

次佳解决思路

我可以用Christian Long解决方案来解决我的问题。我添加了2个适配器:

适配器1 – NAT

适配器2 – 仅适用于主机,vboxnet0

唯一的区别是在VM的interfaces文件中:

sudoedit /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback
# NAT
auto eth0
iface eth0 inet dhcp
# Host only
auto eth1
iface eth1 inet dhcp

在VirtualBox网络配置我离开DHCP检查。

虚拟机重启后,一切正常。

第三种解决思路

还有另一种简单的方法,我们不需要创建一个新的NAT适配器

  1. 在主机上,请添加以下iptables规则。这将通过主机并通过Internet转发数据包:

    sudo iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT 
    
    sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
    sudo iptables -A POSTROUTING -t nat -j MASQUERADE
    
  2. 您还需要通过发出以下命令在主机上启用IP转发:

    sudo sysctl -w net.ipv4.ip_forward=1
    

第四种思路

是的,我有这个问题,这是一个彻底的痛苦!但我通过在物理PC上安装Squid缓存代理服务器来解决这个问题,这样 – 我的host-only互联网虚拟PC可以连接到互联网!

我在这里做了一个快速的3分钟指导 – 对于任何想要如何工作的人来说! http://b0zmeister.wordpress.com/allowing-host-only-virtualbox-guest-to-connect-to-the-internet/

第五种思路

我刚刚添加了2个适配器:

仅适配器1主机,vboxnet0

Adapter2 NAT

它的工作原理非常完美,我可以从主机访问虚拟机,并且可以在虚拟机上使用互联网。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/860.html,未经允许,请勿转载。