VirtualBox(Ubuntu主机/Windows虚拟机)使用host-only方式与访并共享外网

本文详细介绍了如何在VirtualBox环境下配置虚拟机网络,包括新建host-only网络、设置虚拟机网络参数、开启网络转发及配置转发规则,确保虚拟机能够与主机及外网正常通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.vbox全局设置

新建host-only网络。一般网络名会是vboxnet0,默认IP地址为192.168.56.1,子网掩码:255.255.255.0。

为了方便之后相互通信,需要虚拟机使用静态IP,因此将DHCP服务器禁用。

2.虚拟机设置

打开虚拟机之前先修改下虚拟机的网络设置,修改网卡1的连接方式为仅主机(Host-only)适配器,界面名称选择前面新建的vboxnet0,保存

启动虚拟机,修改虚拟机Win7系统网络连接:

IP为192.168.56.2(可修改为2-254之前任意值),子网掩码为255.255.255.0,默认网关为192.168.56.1。DNS设置与主机网络相同即可,这里也用的阿里的DNS服务。

Ubuntu输入命令 nm-tool 可以查看dns

至此,双机应可相互ping通。可能你在Ubuntu中无法ping通虚拟机中的Win7,是因为Win7的防火墙禁止ping,关闭防火墙应该就可以了。

3.开启Ubuntu的网络转发

网上有很多使用iptables实现host-only访问外网的教程,但是大都把这一步省了。但恰恰是这一步的缺失导致了我之前一直无法让host-only的虚拟机访问外网!

开启的方式如下:

编辑/etc/sysctl.conf

sudo vim /etc/sysctl.conf

去掉下面一行的注释(去掉形状的#)
net.ipv4.ip_forward=1

之后执行
sudo sysctl -p

此时,网络转发功能应该就开启了,可以使用如下命令验证:
cat /proc/sys/net/ipv4/ip_forward

命令返回1,说明网络转发已开启。

4.配置网络转发规则

sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.56.0/24 -j MASQUERADE

至此虚拟机应可访问外网了。如果还不能访问外网,请检查你的网络连接设备是否是eth0(使用ifconfig命令),如果不是,请将上述命令中eth0改成你有效的连接设备名,比如使用无线连接,设备名应该是wlan0。

为了每次开机后,转发规则都能生效,把这条命令加入/etc/rc.local

sudo vim /etc/rc.local

在exit 0行之前加入以下两行:
#enable vboxnet0 nat over eth0
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.56.0/24 -j MASQUERADE
同样请保证你使用你当前有效的网络连接设备名。

Ubuntu 14.04/Virtualbox 4.3.10测试通过


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值