虚拟机VM三种网络模式

789 阅读8分钟

虚拟机VM三种网络模式

平时会用到虚拟机搭建各种环境,但虚拟机有常用的三种网络连接方式,所以把这三种关系记录下来,方便后续查看。

1.网卡介绍

先了解一下什么是网卡?

计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡)。网络接口板又称为通信适配器或网络适配器(adapter)或网络接口卡NIC(Network Interface Card)但是现在更多的人愿意使用更为简单的名称“网卡”。

网卡是工作在数据链路层的网路组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

image-20220624225347735

功能1.数据的封装与解封

  发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。

功能2.链路管理

  主要是CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,带冲突检测的载波监听多路访问)协议的实现。

功能3.编码与译码

  即曼彻斯特编码与译码。

网卡有无线网卡和有线网卡

image-20220624225702660

特点:

1.需要网卡驱动程序:网卡是外部设备,但网卡不是完全独立的,因为它必须由计算机供电,并接受计算机的控制,计算机通过网卡驱动控制网卡

2.半自动工作模式:网卡为半自动工作模式,即接受计算机控制,也有一定的自主控制权(因为网卡有自己的处理器和存储器)

2. 概述

2.1 虚拟机与物理机网卡

当我们在VMware安装虚拟机的时候,会让我们选择三种方式中的一种,如下:

image-20220625101254826

当我们安装好虚拟机后,VMware会在主机电脑上生成两种虚拟网卡信息,该网卡主要用于虚拟机和主机交互,如下

VMware Network Adapter VMnet1和8,这两个网卡是虚拟的,通过这两个网卡,虚拟机可以通过宿主机的网线上网。

image-20220625113309526

同时,虚拟机本身的网卡为

image-20220625121119357

VMware创建好的VMnet1和VMnet8的配置在哪里配置呢,我们可以去虚拟机网络编辑器里进行配置,如下

image-20220625120644744

其中,桥接模式,就只能选择和物理主机哪个网卡进行桥接绑定,其他两种模式,就可以设置相关IP、网关等信息

2.2 网络结构展示

本物理机以及虚拟机网卡配置信息,如下:

image-20220625111814556

三种网络连接方式如下:

image-20220625141950136

VMware Network Adapter VMnet8 和 VMware Network Adapter VMnet1 其实就类似一个交换机的作用

3.三种方式

3.1 Bridged(桥接模式)

VMware 桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络简而言之,这就好像在局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。

桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。

桥接模式下无需虚拟网卡,因为虚拟机直接使用物理机上的物理网卡 IP 作为网关;但虚拟机的网段必须和物理机保持一致。

桥接模式下,因为无需网卡,所以VMware并没有在物理主机上虚拟出一个网卡出来,虚拟机网段必须和物理机网段保持一致

由于本机物理主机的IP和掩码信息为:

IP:192.168.1.6
子网掩码:255.255.255.0

那么虚拟机采用桥接模式后,我们就需要和物理主机的网络保持在同一个网段里。一般在虚拟机启动之前,切换虚拟机的网络设备器成桥接模式即可

image-20220625114421778

启动后,查看IP信息,就可以看到该虚拟机已经自动获取IP和子网掩码等配置信息了,而且是和物理主机保持同一网段的,如图:

image-20220625114835511

上面的网络配置信息为啥自动就有了呢,这是因为我们linux系统默认启动的时候,网络是通过DHCP服务器,输入命令vi /etc/sysconfig/network-scripts/ifcfg-eth33查看,如图:

image-20220625115255751

若需要手动设置,那么可以进行如下操作

1.修改里面的IP配置信息
IPADDR=192.168.1.7
NETMASK=255.255.255.0
GATEWAY=192.168.1.255
2.ONBOOT=no 这一行,更改为ONBOOT=yes
3.BOOTPROTO=dhcp”,更改为BOOTPROTO=none
4.修改完,保存重启网络即可 servicenetwork restart  

上面配置好后,可以看到,主机和虚拟机都能互相访问,并且虚拟机也能正常访问外部网络

image-20220625115740978

3.2 NAT(网络地址转换模式)

NAT,是 Network Address Translation 的缩写,意即网络地址转换。NAT 模式也是 VMware 创建虚拟机的默认网络连接模式。使用 NAT 模式网络连接时,VMware 会在主机上建立单独的专用网络(私网),用以在主机和虚拟机之间相互通信。虚拟机向外网发送的请求分组,都会交由 NAT 网络适配器加上"特殊标记" 并以主机的名义转发出去,外网返回的响应分组,也是先由主机接收,然后交由 NAT 网络适配器根据"特殊标记"进行识别并转发给内网中对应的虚拟机,因此,虚拟机在外网中不必具有自己的 IP 地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。

此外,在一台主机上只允许有一个 NAT 模式的虚拟网络。因此,同一台主机上的多个采用 NAT 模式网络连接的虚拟机也是可以相互访问的。

当切换到NAT模式后,启动虚拟机,查询IP信息,如下:

image-20220625122428009

然后看看能不能访问外网以及主机能否访问内部,如下:

image-20220625122601581

可以看到,NAT模式下,虚拟机里的IP可以和主机IP不用保持在同一个网段内,这就是因为虚拟机发送网络是借助于主机物理网卡进行发送的,然后主机能访问到不同IP的虚拟机,是因为借助了VMware Network Adapter VMnet8来进行数据交换访问的

注意:有时候访问不通,需要排除

1.虚拟路由 VMware NAT service 服务是否开启

2.虚拟机之间的防火墙是否关闭

3.3 host-only(主机模式)

仅主机模式,是一种比 NAT 模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于 NAT 模式而言,仅主机模式不具备 NAT 功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到 Internet(在主机上安装合适的路由或代理软件,或者在 Windows 系统的主机上使用 Internet 连接共享功能,仍然可以让虚拟机连接到 Internet 或其他网络)。

在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。

image-20220625141659196

总结

桥接模式:虚拟机和物理主机共用一个物理网卡,并且虚拟机和物理主机需要在同一个网段才能通讯,虚拟机和物理机是平起平坐的,有自己独立的IP

NAT模式:虚拟机是借助"主机的名义"向外网发送请求的,所以和物理主机共用一个IP,而外网是不能够通过物理主机来访问虚拟机的服务的

主机模式:各个虚拟机之间可以访问,并且物理主机也能访问里面的虚拟机,但里面的虚拟机无法访问物理主机

以上是自己整理的主要内容,若有不足的,后续再纠正。

参考

1.VMware 网络:桥接模式、NAT 模式和仅主机模式

2.VMware-重要设置-虚拟网络编辑器

3.Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式

4.集线器 交换机 路由器 modem 区别

5.计算机网络——网卡、路由器1