虚拟机网络配置(NAT、桥接、Hostonly)详解

时间:2022-06-08 22:07:47

virtualbox中有四种网络连接方式:

  • nat
  • bridged adapter
  • internal
  • host-only adapter

vmware中有三种,其实它跟vmware的网络连接方式都是一样的概念,只是比vmware多了internal方式

虚拟机网络配置(NAT、桥接、Hostonly)详解

在介绍四种工作模式之前,先说下虚拟网卡,虚拟机安装好之后,会自动添加两张网卡(vmnet1和vmnet8),vmnet1用户host-only网络连接,vmnet8用nat方式的网络连接,原先的vmnet0用桥接网络连接。

1.bridged 桥接模式

1.1 特点

虚拟机和主机是处于同等地位的机器,所以网络功能也无异于主机。并且和主机处于同一网段。

1.2 原理

桥接模式,使用的是vmnet0虚拟网卡。

vmnet0实际上就是一个虚拟的网桥(2层交换机),这个网桥有若干个接口,一个端口用于连接你的host主机,其余端口可以用于连接虚拟机,他们的位置是对等的,谁也不是谁的网关。所以桥接模式下,虚拟机和host主机是同等地位的主机。

虚拟机网络配置(NAT、桥接、Hostonly)详解

1.3 示例图

主机a上的两个虚拟机1和虚拟机2,和主机a、b同处于一个网段,能够相互通信

虚拟机网络配置(NAT、桥接、Hostonly)详解

1.4 配置

虚拟机1的配置:

?
1
2
3
4
5
6
7
8
device="eth0"
bootproto=“static" #设置静态ip,动态为dhcp
ipaddr="192.168.1.3"
gateway="192.168.1.1"
hwaddr="08:00:27:c7:1b:22"
dns1="8.8.8.8"
netmask="255.255.255.0"
onboot="yes"

 

2.host-only模式

2.1 特点

只能和主机相互通信,不能上网,也不能访问其他主机,用于建立与外部隔离的网络环境

2.2 原理

host-only模式使用的是vmnet1网卡。
这种方式下,虚拟机连接到vmnet1上,但系统并不为其提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到真正的网络上。

2.3 示例图

虚拟机1和2之间可以相互通信,主机a能和虚拟机1和2通信,虚拟机1和2不能和主机通信(需要设置),虚拟机不能和b主机以及外网通信

虚拟机网络配置(NAT、桥接、Hostonly)详解

2.4 配置

虚拟机1的配置:

?
1
2
3
4
5
6
device="eth0"
bootproto=“static" #设置静态ip,动态为dhcp
ipaddr="192.168.56.3"
hwaddr="08:00:27:c7:1b:22"
netmask="255.255.255.0"
onboot="yes"

 

3.nat

3.1 特点

  • 主机ping不通虚拟机(包括宿主)
  • 同一宿主的虚拟机可以相互ping通
  • 宿主能够联网,虚拟机也能联网(其他主机)。宿主没有联网,虚拟机也不能联网
  • 虚拟机能够ping通主机,其他主机不能访问虚拟机

3.2 原理

网络地址转换类似于家庭路由器的方式工作。使用nat模式,就是让虚拟系统借助nat(网路地址转换)功能,通过宿主机器所在的网络来访问公网。

其实就是虚拟机的网卡连接到宿主的vmnet8虚拟机交换机上,vmnet8充当了路由器的作用,负责将虚拟机转发到vmnet8的包进行地址转换之后发送到实际的网络中,再降实际网络上返回的包进行地址转换后通过vmnet8发送给虚拟机。

其实相比host-only模式只不过增加一层路由功能。

注意:

看virtualbox官方文档,如果vmnet8网卡地址段是10.0.2.0/8 那么默认网关是10.0.2.1,而且我这样配置也对。但是看网上vmvare使用的网关都是10.0.2.2,没有看vmvare官方文档,也不清楚,希望知道的同学告知一下。

3.3 示例图

主机a和虚拟机1和2能相互通信,虚拟机1和2能访问主机b和外网,主机b不能访问虚拟机1和2,虚拟机1和2能相互通信

虚拟机网络配置(NAT、桥接、Hostonly)详解

3.4 配置

虚拟机1的配置:

?
1
2
3
4
5
6
7
8
device="eth0"
bootproto=“static" #设置静态ip,动态为dhcp
ipaddr="10.0.2.5"
gateway="10.0.2.1"
hwaddr="08:00:27:c7:1b:22"
dns1="10.0.2.1"
netmask="255.255.255.0"
onboot="yes"

4.内部网络

内部网络类似于桥接网络,虚拟机可以直接与外部通信。但是外部仅限于连接到统一主机上的其他虚拟机。

即使在技术上,使用内部网络可以完成的一切也可以使用桥接网络,内部网络有安全优势。在桥接网络模式下,所有流量都通过主机系统的物理接口。

默认不分配ip,需要自己手动设置。