VirtualBox 使用 NAT网络、仅主机(Host-only)网络 实现双网卡上网并与宿主机连接。

VirtualBox支持多种网络,如下图所示

网络地址转换(NAT)

1、虚拟机可以上网。

2、默认情况下,主机无法连接虚拟机。

3、虚拟机与虚拟机不能相互连接,使用此网络模式的虚拟机,VirtualBox会给每个虚拟机单独创建一个NAT设备,虚拟机与虚拟机是无法相互连接的。

桥接网卡:

1、虚拟机可以上网。

2、主机能连接虚拟机,虚拟机也可以连接主机。

3、虚拟机与虚拟机能相互连接。

仅主机(Host-Only)网络:

1、虚拟机不能上网。

2、主机能连接虚拟机,虚拟机也可以连接主机。

3、虚拟机与虚拟机能相互连接。

NAT 网络:

1、虚拟机可以上网。

2、默认情况下,主机无法连接虚拟机。

3、虚拟机与虚拟机能相互连接;

“网络地址转换(NAT)”与“NAT网络” 最大的不同点在于:“NAT网络”的虚拟机可以使用同一个全局NAT设备,所以虚拟机与虚拟机能相互连接;而使用 “网络地址转换(NAT)”网络,VirtualBox给每个虚拟机单独创建一个NAT设备,所以虚拟机与虚拟机无法相互连接。

通常可以使用“桥接网卡”这种网络,并将网卡配置为静态IP。主机与虚拟机都在一个网段,实现主机与虚拟机相互连接、虚拟机与虚拟机相互连接,虚拟机也能上网。

但是公司的网络通常不允许将电脑配置为静态IP,可使用“NAT网络”+“仅主机(Host-Only)网络”双网卡模式解决虚拟机使用静态IP、上网、相互连接的问题。

“NAT网络”的作用是:实现虚拟机上网,实现虚拟机与虚拟机相互连接,并且支持将网卡配置为静态IP(用于虚拟机之间连接,虚拟机重启后IP地址不变)。

“仅主机(Host-Only)网络”的作用是:实现主机与虚拟机相互连接,也支持将网卡配置为静态IP,虚拟机重启后IP地址不变。

实现步骤

1、点击“管理” —> “全局设定” —> “网络” —> “添加新NAT网络” 。这一步是新建一个全局的NAT设备,所有的虚拟机都可以使用此NAT设备。新NAT网络CIDR默认是10.0.2.0/24。

2、虚拟机配置双网卡。

网卡1连接方式选择“NAT网络”,界面名称选择第1步新建“NatNetwork01”

网卡2连接方式选择“仅主机(Host-Only)网络”,界面名称使用默认的即可

3、启动虚拟机,将网卡1、网卡2修改为静态IP。使用 ip a 命令查看虚拟机网络配置(你们的虚拟机网络跟下图不一定相同)

我的虚拟机共有两张网卡enp0s3、enp0s8。enp0s3是网卡1,使用“NAT网络”。enp0s8是网卡2,使用“仅主机(Host-Only)网络”。

修改enp0s3为静态IP

cd /etc/sysconfig/network-scripts/

vim ifcfg-enp0s3

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s3"
DEVICE="enp0s3"
ONBOOT="yes"

# 第1步新建的NatNetwork01网络CIDR是10.0.2.0/24,所以网关填写10.0.2.1,子网掩码是255.255.255.0
GATEWAY=10.0.2.1
IPADDR=10.0.2.100
NETMASK=255.255.255.0

查看“仅主机(Host-Only)网络”的配置

点击“管理” —> “主机网络管理器” 。VirtualBox Host-Only Ethernet Adapter网关IP是192.168.56.1,子网掩码是255.255.255.0

修改enp0s8为静态IP

cd /etc/sysconfig/network-scripts/

vim ifcfg-enp0s8

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s8"
DEVICE="enp0s8"
ONBOOT="yes"

# 网关与子网掩码与VirtualBox Host-Only Ethernet Adapter相同
GATEWAY=192.168.56.1
IPADDR=192.168.56.100
NETMASK=255.255.255.0

重启虚拟机,执行命令   reboot -h now

4、宿主机可ping通虚拟机IP 192.168.56.100,宿主机也可以通过192.168.56.100连接虚拟机。

创建第二台虚拟机

5、复制一台虚拟机出来,并且网卡1配置为“NAT网络”(注意:界面名称也要使用NatNetwork01,两台虚拟机使用同一个NAT设备,保证两台虚拟机在同一网段下),网卡2配置为“仅主机(Host-Only)网络”。

6、启动虚拟机,将网卡1的IP修改为IPADDR=10.0.2.101,网卡2的IP修改为IPADDR=192.168.56.101,避免跟第一台虚拟机的IP重复。

重启网络,执行命令  systemctl restart network

7、宿主机通过 192.168.56.100、192.168.56.101 可连接到虚拟机。

     虚拟机之间可通过10.0.2.100、10.0.2.101 相互访问。并且虚拟机也可以上网。

总结:

1、使用“仅主机(Host-only)网络 ”实现宿主机与虚拟机之间的相互连接。

2、新建一个全局NAT网络设备,虚拟机之间使用“NAT网络”实现虚拟机之间的相互连接,并且使用此NAT网络设备实现上网。

补充:通过端口转发功能,仅使用“NAT网络”也可以实现在宿主机登录虚拟机。例如下图中的Rule 1将宿主机的20000端口与虚拟机10.0.2.15的22端口做映射,宿主机也可以通过 127.0.0.1:20000登录到10.0.2.15

 

 

  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值