欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-04-08 14:51:17
virtualbox中有四种网络连接方式: nat bridged adapter internal host-only adapter...

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的配置:

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的配置:

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的配置:

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,需要自己手动设置。