VirtualBox使用NAT网络,只有主机(Host
温馨提示:这篇文章已超过394天没有更新,请注意相关的内容是否还可用!
对于这种网络模式的虚拟机,VirtualBox 将为每个虚拟机创建一个单独的 NAT 设备,虚拟机之间无法相互连接。可以采用“NAT网络”+“Host-Only网络”双网卡模式来解决虚拟机使用静态IP、上网、相互连接的问题。新NAT网络的CIDR默认为10.0.2.0/24。VirtualBox Host-Only 以太网适配器网关 IP 为 192.168.56.1,子网掩码为 255.255.255.0
VirtualBox支持多种网络,如下图
网络地址转换 (NAT):
1. 虚拟机可以访问Internet。
3. 虚拟机之间不能互相连接。 对于这种网络模式的虚拟机,VirtualBox 将为每个虚拟机创建一个单独的 NAT 设备,虚拟机之间无法相互连接。
桥接网卡:
1. 虚拟机可以访问Internet。
2、主机可以连接虚拟机,虚拟机也可以连接主机。
3、虚拟机与虚拟机之间可以互相连接。
仅主机网络:
1、虚拟机无法访问Internet。
2、主机可以连接虚拟机,虚拟机也可以连接主机。
3、虚拟机与虚拟机之间可以互相连接。
NAT网络:
1. 虚拟机可以访问Internet。
2. 默认情况下,主机无法连接到虚拟机。
3、虚拟机与虚拟机之间可以互相连接;
“网络地址转换(NAT)”与“NAT网络”最大的区别在于:“NAT网络”的虚拟机可以使用同一个全局NAT设备,因此虚拟机之间可以互相连接; (NAT)”网络,VirtualBox 为每个虚拟机创建一个单独的 NAT 设备,因此虚拟机无法相互连接。
通常可以使用“桥接网卡”网络,并为网卡配置静态IP。 主机和虚拟机都在同一个网段,这样主机和虚拟机就可以互相连接,虚拟机也可以连接到虚拟机,虚拟机也可以访问互联网。
然而,公司的网络通常不允许计算机配置静态IP。 可以采用“NAT网络”+“Host-Only(主机专用)网络”双网卡模式来解决虚拟机使用静态IP、上网、相互连接的问题。
“NAT网络”的作用是:实现虚拟机上网,实现虚拟机与虚拟机之间的连接,支持将网卡配置为静态IP(用于虚拟机之间的连接,虚拟机重启后IP地址不会改变)。
“Host-Only Network”的作用是:实现主机与虚拟机的互连,还支持将网卡配置为静态IP,并且虚拟机重启后IP地址不会改变。
实施步骤
1. 点击“管理”—>“全局设置”—>“网络”—>“添加新的NAT网络”。 这一步是创建一个全局NAT设备,所有虚拟机都可以使用这个NAT设备。 新NAT网络的CIDR默认为10.0.2.0/24。
2、虚拟机配置双网卡。
网卡1的连接方式选择“NAT Network”,步骤1中接口名称选择“NatNetwork01”
网卡2的连接方式选择“Host-Only Network”,并使用默认的接口名称
3、启动虚拟机,将网卡1和网卡2改为静态IP。 使用ip a命令查看虚拟机网络配置(你的虚拟机网络可能和下图不一样)
我的虚拟机有两个网卡enp0s3和enp0s8。 enp0s3是网卡1,使用“NAT网络”。 enp0s8 是 NIC 2,使用“仅主机网络”。
修改enp0s3为静态IP
cd /etc/sysconfig/网络脚本/
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 Network”的配置
点击“管理”—>“主机网络管理器”。 VirtualBox Host-Only 以太网适配器网关 IP 为 192.168.56.1,子网掩码为 255.255.255.0
修改enp0s8为静态IP
cd /etc/sysconfig/网络脚本/
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设备,保证两个虚拟机处于同一个网络)网段),NIC 2 配置为“仅主机网络”。
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、使用“仅主机网络”实现宿主机和虚拟机之间的互连。
2、新建一个全局NAT网络设备,虚拟机之间使用“NAT网络”实现虚拟机之间的相互连接,并使用这个NAT网络设备实现Internet访问。
补充:通过端口转发功能,仅使用“NAT网络”也可以实现在宿主机上登录虚拟机。 例如下图中规则1将宿主机的20000端口映射到虚拟机10.0.2.15的22端口,宿主机也可以通过127.0.0.1:20000登录10.0.2.15