一、VMware网络模式
我们安装 VMware Workstations后,进行虚拟机的网络配置时,一般有四种网络连接方式
在我们安装好 VMware Workstations后,我们可以打开网络中心会发现生成 两个虚拟网卡,我们打开网络和共享中心能够看到下面的两个
关于这两个网卡对应的规则,我们可以到VMware的虚拟网络编辑器查看
可以发现VMnet1网卡,对应的是 仅主机模式,VMnet8 对应的是NAT模式
1.1 桥接模式(Bridged)
桥接模式,可以这样进行理解
它是通过主机网卡,假设了一条桥,直接连入到网络中了,因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。
桥接模式下的虚拟机,我们把它认为是真实计算机就行了~
虚拟机和主机:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问
虚拟机与其它主机:可以相互访问,同样因为虚拟机在真实网络端中有独立IP,虚拟机与所有网络其它主机处于同一个网络段中,彼此可以通过各自IP相互访问
虚拟机与虚拟机: 同样可以相互转换,原因同上
桥接模式下,虚拟机就像一台真正的计算机一样,直接连接到实际网络,与宿主机没有任何联系
1.2 NAT模式
NAT:Network Address Translation,网络地址转换
NAT模式是最简单的实现虚拟机上网的方式
Guest访问网络的所有数据都是主机提供的,Guest并不真实存在与网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在
Guest可以访问主机能访问的所有网络,但是对于主机以及主机网络的其它机器,Guest又是不可见的,甚至主机也访问不到Guest
虚拟机与主机:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机
虚拟机与其它主机:只能单向访问,虚拟机可以访问到网络中其它主机,其它主机不能通过网络访问到虚拟机
虚拟机与虚拟机:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此
NAT模式下,虚拟机网络连接到宿主机的VMnet8上,此时系统的VMWare NAT Service服务器就充当了路由器的作用,负责将虚拟机发送到VMnet8的包 进行地址转换之后,发到实际的网络上,再将实际网络上返回的包进行地址转换后通过VMnet8发送到虚拟机。VMware DHCP Service 负责为虚拟机提供DHCP服务。
也就是说NAT模式下,虚拟机网卡连接到宿主机的VMnet8的网卡,当VMnet8收到虚拟机发送的数据包时,会吧数据包转发给物理机的网卡。相当于物理网卡不能直接接触虚拟机的数据包,而是接触VMnet8进行处理,实际上VMnet8是NAT模式,自带DHCP功能,能够给虚拟机分配IP地址。
1.3 主机模式(Host-only Adapter)
主机模式:这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这个模式下,通过虚拟机及网卡的设置都可以被实现。
我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,所有的虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网以及其他功能
二、为什么使用NAT模式
桥接模式的配置很简单,但是如果网络环境ip资源很缺少,或者对ip管理比较严格的时候,那么桥接模式就不适用了,因为我们通过上面的理解可以知道,桥接模式就是创建一个和宿主机同一级别的网络环境,它是在网络地址中真实存在的ip地址。
如果我们又想让虚拟机上网,又不想占用真实的IP地址,那么就需要使用NAT模式是最好的选择,NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:
在NAT模式下,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟机交换机VMnet8上,这样就实现了虚拟机联网。
三、使用NAT模式配置虚拟机固定IP
3.1 找到VMnet8网卡
因为NAT模式需要借助宿主机的Vmnet8网卡进行虚拟机与主机之间的通信的,因此我们需要首先找到宿主机上的VMnet8网卡
然后我们右键属性,找到IPv4协议,然后选择 自动获取 IP地址
3.2 虚拟网络编辑器
在设置好VMnet8网卡后,我们到VMware中,点击 编辑 -> 虚拟网络编辑器,然后选择 还原默认值
在还原后,我们在上面能够看到有三种模式了,这里我们主要是 操作 NAT模式
- 首先选择NAT模式
- 然后取消勾选使用本地DHCP服务将IP地址分配虚拟机
- 第三步就是打开NAT设置
然后设置网关IP为: 192.168.13.254 【这里需要记住这个值,以后会用到】,然后保存
- 第四步点击 DHCP设置
这里能看到我们的起始ip地址 和 结束ip地址,也就是后面我们在设置固定ip地址时,必须在这个范围内
- 设置完成后,回到主页面,点击应用
3.3 设置CentOS网络连接方式
我们到我们的创建的CentOS系统,右键选择 设置
然后找到网络适配器,选择NAT模式,这样我们的系统就通过NAT模式连接了
3.4 设置网络
然后我们就可以启动我们的CentOS系统进行网络配置了
# 编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
然后在文件中,修改如下内容
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=1f6d2414-12b7-40ef-8fb1-d2e6db9c739b DEVICE=ens33 ONBOOT=yes IPADDR=192.168.13.130 NETMASK=255.255.255.0 GATEWAY=192.168.13.254 DNS1=114.114.114.114 DNS2=1.2.4.8
这里需要注意的几个点就是下面几个参数
#设置静态模式 BOOTPROTO=static ONBOOT=yes #ip地址【DHCP中的范围内的】 IPADDR=192.168.13.130 #子网掩码 NETMASK=255.255.255.0 #网关【刚刚我们在NAT设置中配置的】 GATEWAY=192.168.13.254 DNS1=114.114.114.114 DNS2=1.2.4.8
配置完成后,我们就重启网络即可
#重启网卡
service network restart
3.5 测试
下面我们通过 ping命令,查看是否能够正常访问网络
ping www.baidu.com
发现能够成功访问网络了,这个时候说明我们虚拟机已经能够正常联网~
四、最后
在说一个我遇到的问题,就是在配置好网络后,重启电脑,发现之前配置的虚拟机又不能上网了,后面经过群里小伙伴的指点,发现是重启后,VMware的NAT和DHCP服务已经关闭了,所以我们需要手动启动