Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

虚拟机网络配置记录 #5

Open
MregXN opened this issue Jun 22, 2021 · 0 comments
Open

虚拟机网络配置记录 #5

MregXN opened this issue Jun 22, 2021 · 0 comments

Comments

@MregXN
Copy link
Owner

MregXN commented Jun 22, 2021

虚拟机网络配置记录

本文记录了使用VMware搭建虚拟机时可用的几种网络连接模式、相应的配置步骤及验证。目前只实现了默认功能。

网络连接模式

网络连接模式

VMware配置网络连接时,有桥接模式、NAT模式、主机模式和自定义模式,并且VMware为前三个模式分别创建了默认虚拟网络:VMnet0(桥接模式)、VMnet8(NAT模式)、VMnet1(仅主机模式)。

桥接模式

使用主机系统上的网络适配器将虚拟机连接到网络,就像是在局域网中添加了新的独立的计算机,因此虚拟机也会占用局域网中的一个IP地址。

NAT模式

NAT,是Network Address Translation的缩写,即网络地址转换。该模式下,虚拟机向外部网络发送的请求数据,都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去。外部网络返回的响应数据",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,**因此,虚拟机在外部网络中不具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,**默认情况下,外部网络终端也无法访问到虚拟机。

仅主机模式

仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到。

自定义模式

通过VMware提供的虚拟网络连接组件,用户可以自由的创建更复杂的网络。

配置准备

实验准备

1.连接外网的主机,从路由器获取到IP地址192.168.31.88,跑win10

2.在主机上利用VMware创建了三台虚拟机,分别取名Slave01、Slave02、Slave03,跑Ubuntu20.04

1. 桥接模式

桥接的作用类似于把主机虚拟成一个交换机,所有设置成桥接模式的虚拟机以及主机都连接到这个交换机上,因此各网络适配器之间可以相互访问而互不干扰。

具体连接是主机的网络适配器通过虚拟网桥连接到虚拟交换机,交换机下连接着配置为桥接模式的虚拟机。主机网络适配器会通过网桥转发自己接收到的广播和组播信息,因此虚拟交换机下的各个虚拟机能够接收到路由器的信息。

实验准备

在VMware中配置时,需要进入虚拟机设置,在网络连接处选择桥接模式

如果在笔记本或其他移动设备上使用虚拟机,则需要勾选复制物理网络连接状态,当主机的网络在有线和无线间切换时,可以保证IP地址续订。

桥接模式配置

登录路由器后台,可以发现除了主机,几台虚拟机已经成功上线,并且分配到了属于自己的IP地址。

桥接模式效果

ping一下

桥接模式ping

使用traceroute记录一下到达路由器中间的路径,仅一跳即到达了路由器,说明此时虚拟机与路由器在同一子网内。

桥接模式traceroute

2. NAT模式

NAT模式下,虚拟机在外部网络中不再具有属于自己的IP地址,它将与主机共享一个网络标识。因此虚拟机发送资源请求时,会被转换成来自主机的请求。

NAT模式物理连接

为了达到以上效果,VMware虚拟出了以下四个组件:

  • 虚拟网络适配器VMnet8:即虚拟网卡。除了主机自己的网卡用于上网外,主机还会使用虚拟网卡作为与虚拟机通信的接口。

  • 虚拟NAT设备:当 VMnet8 虚拟网络中的虚拟机发出的数据包抵达时,NAT 设备会将虚拟机地址转换为主机系统的地址,然后再将数据包转发到外部网络。当数据从专用网络虚拟机的外部网络送达时,NAT 设备会接收数据,将网络地址替换为虚拟机地址,然后将数据转发到虚拟网络的虚拟机中。

  • 虚拟DHCP服务器:为虚拟机分配IP地址,设置默认网关和DNS服务器地址(虚拟NAT设备的地址)。

  • 虚拟交换机:负责组件的连接和数据传输。

首先,在虚拟机设置中将各个虚拟机的网络适配器设置为NAT模式

NAT模式设置

编辑中选择虚拟网络编辑器,VMnet8为NAT模式默认使用的虚拟网络

NAT模式设置子网

在最下方可以设置子网IP和子网掩码。这里的子网IP指的是以上虚拟组件组成的子网的起始地址。这里默认设置为192.168.58.0 ,注意如果需要自行设置的话,与主机不能够处于同一网段,即不能够填写192.168.31.0

之后进入NAT设置,这里默认将网关IP设置为192.168.58.2

NAT模式设置子网

进入DHCP设置,这里可以设置虚拟机分配获得的IP地址范围。保证在前面设置的子网范围内,并且IP数量相较于加入的虚拟机数量足够即可。

NAT模式设置子网

以上配置将实现如下的网络拓扑

NAT模式设置子网

点击应用让配置生效,虚拟机即可成功上网。

NAT模式路由器

登录路由器后台,可以发现上线的仅剩主机(其他两台是同学的设备),虚拟机对于路由器已经不可见了。

ping一下

NAT模式设置子网

使用traceroute记录一下到达路由器中间的路径,可以发现抵达路由器前还经过了虚拟NAT设备(192.168.52.2),与理论一致。

NAT模式traceroute

NAT模式的优劣:

优势:

  • 当 IP 地址数量有限或主机系统通过非以太网适配器连接网络时,NAT 将非常有用。
  • 外部网络中的计算机无法发起对虚拟机的连接。该功能用于保护客户机操作系统。

限制:

  • NAT 可导致一些性能损失。由于 NAT 要求每个在虚拟机中收发的数据包必须位于 NAT 网络,因此会造成无法避免的性能损失。
  • NAT 并不完全透明。尽管您可以手动配置 NAT 设备来建立服务器连接,但 NAT 通常不允许从网络外部发起连接。在实际环境中,这会导致一部分需要从服务器计算机发起连接的 TCP 和 UDP 协议无法自动运行或根本不运行。
  • NAT 能提供一些防火墙保护。标准 NAT 配置能提供基本的防火墙保护功能,因为 NAT 设备可以从专用 NAT 网络发起连接,但外部网络上的设备通常无法发起对专用 NAT 网络的连接。

3. 仅主机模式

如果需要设置独立的虚拟网络,仅主机模式将非常有用。在默认配置中,仅主机模式中的虚拟机无法访问Internet,虚拟机和主机的虚拟网络适配器均连接到专用的以太网络,仅对主机操作系统可见。

仅主机模式物理连接

为了达到以上效果,仅主机模式相较于NAT模式取消了虚拟NAT设备,保留虚拟网络适配器用于与交换机通信。因此主机可以与虚拟机相互访问,但缺少了数据转发因此无法访问外网(如果主机上安装了适当的路由或代理软件,您可以在主机的主机虚拟网络适配器和物理网络适配器之间建立连接,从而将虚拟机连接到令牌环网络或其他非以太网网络)。

设置步骤与NAT模式类似,首先在虚拟机设置中将各个虚拟机的网络适配器设置为仅主机模式

仅主机模式设置

编辑中选择虚拟网络编辑器,VMnet1为仅主机模式默认使用的虚拟网络。

仅主机模式网络编辑器

同样,VMware已经默认配置好了子网地址以及DHCP分配的IP范围

仅主机模式设置DHCP

配置生效后,ping一下外网和另一台虚拟机,可以发现外网无法访问,而虚拟机之间能够在正常通信。

仅主机模式ping外网

仅主机模式ping虚拟机

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant