VMWare网络模式(Centos7)
VM三种网络模式
在介绍VM三种网络模式之前,先聊一下CentOS 7安装时会有一项网络配置,可以让IP采用DHCP的方式动态获取,也可以静态设置,这就是对应IP获取的两种方式,一种是DHCP,另一种是静态分配的方式,通常在安装的时候,都默认是DHCP模式,这也就有可能出现网络上遇到的各种各样的问题,比如ping不通(互ping)、虚拟机访问不了外网,更改网络连接模式后之前正常的网络突然不正常了。
动态主机配置协议DHCP
DHCP(Dynamic Host Configuration Protocol),该协议用于自动管理局域网内主机的IP地址、子网掩码、网关地址及DNS地址等参数,可以有效地提升IP地址的利用率,提高配置效率,并降低管理与维护成本。
1、动态主机配置协议
动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数。
简单来说,DHCP协议就是让局域网中的主机自动获得网络参数的服务。在下图所示的拓扑图中存在多台主机,如果手动配置每台主机的网络参数会相当麻烦,日后维护起来也让人头大。而且当机房内的主机数量进一步增加时(比如有100台,甚至1000台),这个手动配置以及维护工作的工作量足以让运维人员崩溃。借助于DHCP协议,不仅可以为主机自动分配网络参数,还可以确保主机使用的IP地址是唯一的,更重要的是,还能为特定主机分配固定的IP地址。
DHCP协议的应用十分广泛,无论是服务器机房还是家庭、机场、咖啡馆,都会见到它的身影。比如,本书的某位读者开了一家咖啡厅,在为顾客提供咖啡的同时,还为顾客免费提供无线上网服务。这样一来,顾客就可以一边惬意地喝着咖啡,一边连着无线网络刷朋友圈了。但是,作为咖啡厅老板的您,肯定不希望(也没有时间)为每一位造访的顾客手动设置IP地址、子网掩码、网关地址等信息。另外,考虑到咖啡馆使用的内网网段一般为192.168.10.0/24(C类私有地址),最多能容纳的主机数为200多台。而咖啡厅一天的客流量肯定不止200人。如果采用手动方式为他们分配IP地址,则当他们在离开咖啡厅时并不会自动释放这个IP地址,这就可能出现IP地址不够用的情况。这一方面会造成IP地址的浪费,另外一方面也增加的IP地址的管理成本。而使用DHCP协议,这一切都迎刃而解—老板只需安心服务好顾客,为其提供美味的咖啡;顾客通过运行DHCP协议的服务器自动获得上网所需的IP地址,等离开咖啡厅时IP地址将被DHCP服务器收回,以备其他顾客使用。
常用术语
作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数。
超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表。
排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。
地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围。(有效IP范围)
租约:DHCP客户端能够使用动态分配的IP地址的时间。(租用期)
预约:保证网络中的特定设备总是获取到相同的IP地址。
在VMWare Nat模式下可以设置上述的一些属性,如下图
DHCP协议对于真实环境来说,确实有很大的好处,但是对于虚拟环境来说,DHCP却略逊一筹,下面主要的操作都是基于静态分配IP的方式。这样做的好处,下文会有介绍。
VM网络模式包括三种:桥接、NAT、仅主机。
如果之前网络相关的配置被弄乱了,可以点击上图的还原默认设置选项,一切都会初始化到VM安装时的配置。在明白理论的前提下从新配置,八九不离十就好了。
桥接
桥接模式,主机上的网卡和虚拟机上的网卡通过VMnet0虚拟交换机进行通信,虚拟网卡和物理网卡在网络拓扑上具有同等的地位,并且处于同一网段,桥接模式下的虚拟机相当于局域网上的一台真实主机,局域网内的主机、虚拟机都可以互相通信并且可以访问外网。
桥接模式配置:桥接模式需要手动配置虚拟机的IP地址、网关等信息,要想实现桥接,就是要让虚拟机和主机处于同一网段。
1)查看主机IP信息,主要是IP地址、GATEWAY。
2)编辑虚拟机网络配置文件
/etc/sysconfig/network-scripts/ifcfg-网卡名称
3)重启服务
4)ping测试(互ping、外网)
VM对于每个虚拟机都会有自己的网络模式,确保上述所做的操作都是在桥接模式下进行的。如下图,右下角有一个图标可以查看设置当前网络模式。
NAT
NAT模式中,虚拟机借助NAT(网络地址转换)功能,通过宿主机所在的网络来访问公网。NAT模式下的虚拟系统的TCP/IP配置信息是由 VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,不需要进行任何其他的配置,只需要主机器能访问互联网即可。主机,局域网其他主机,虚拟机,三者中主机和虚拟机可互相访问,但是局域网下的其他主机和虚拟机不能互相访问。
NAT模式配置:NAT模式相对于其它模式来说,配置修改的较少,如果在安装CentOS的时候选择了NAT模式,并且在网络配置选项中设置的是DHCP,那么安装后不需要做任何的配置就可以访问外网和主机。如果网络配置的是静态分配IP,那么就需要做一些必要的配置才能进行通信。
步骤(针对静态分配IP来说)
1)查看NAT下的网关、有效IP地址范围
前面NAT介绍已经提到过NAT下的IP配置无法手动修改,并且注意NAT下的网关为192.168.20.2
重要的是最后一位是2不是1,当时我在配置CentOS网络信息时,自以为网关是最后一位1,导致无法进行主机间的通信。
为什么这里的网关不同寻常?换句话说
192.168.20.1
分配给谁了?虚拟机安装完成后,会存在一块VMnet8的网卡,通过在cmd窗口下执行ipconfig就可以看到这块网卡的相关IP信息,其中它的IP地址就是
192.168.20.1
,这块网卡的作用就是让主机和虚拟机之间能够通信,如果禁用VM8网卡,虚拟机仍然可以ping通外网,但是主机和虚拟机之间就不能互相ping通。
修改网络配置文件填写的IP地址必须有效,那么怎么知道是否有效,点击DHCP设置就可以看到,之前默认的IP起始结束地址的范围是128-254,当时由于所填的IP不在这个地址段中,掉入了这个坑中。后来我对它进行了修改。就是下面看到的这样。
Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式的阉割版,虚拟机通过使用Vmnet1虚拟网卡连接Vmnet1虚拟交换机来与主机进行通信的,该模式下,虚拟机只能与主机进行通信,但是通过共享网络的形式也可以连通外网。
常见问题解决思路
VM的三种网络模式下,在正常配置的情况下,都是可以和主机进行通信的,最大的区别就是和外网能不能通信。
1、PING
通信问题
1.1)是否是同一个网段,win下防火墙是否关闭(如果之前关闭过,再次检查一下,win10有时很奇怪,不经意间又会打开),查看IP分配方式,如果是静态分配,检查网络配置文件是否正确(网关、IP)。
1.2)主机和虚拟机之间能够互相PING通,但是PING不通外网
Host-Only默认是PING不通外网的,除非做了一些配置。
NAT模式下,即使禁用VM8网卡也没有对其影响,所以说VM8主要是用于主机和虚拟机之间进行通信的,与外网PING不通没多大关系。该模式下重点检查IP的分配方式
NAT模式下,默认是勾选了上述选项,如果虚拟机(CentOS)网络配置也采用的是DHCP的方式,那么无需要做任何配置。如果没有勾选上述选项,虚拟机采用DHCP方式是行不通的,因为得不到IP,解决方案一个是选中选项,另一个是更改网络配置文件手动分配IP。
NAT勾选了DHCP,但是CentOS网络配置却采用的是静态分配的方式,PING不通,此时就应该重点检查配置文件了,检查的要领仔细领会上文要点。
桥接模式下,主机和虚拟机PING不通的原因,在采用静态分配IP的条件下,大都是因为网络配置文件的问题。
桥接模式下虚拟机PING不通外网的原因:
下面仅仅是个人记录时留下的一些疑问,可以略过
笔记本电脑使用WIFI联网,配置桥接模式,因为桥接模式下的虚拟机和真实主机没有什么区别,无论是静态还是动态分配IP都可以网络通信。
举个例子,你用手机连接wifi时,不就是找到自己家的wifi名称,然后输入密码,就能访问以太网了,也没有任何 IP的设置,其中IP的配置全都由DHCP来做了。上网的前提是我们能有一个公网IP,公网IP的获得,现在都是通过Internet提供商(移动联通电信)ISP来获取一个公网IP的。
为什么要路由器?将网线直接插入电脑和插入路由器的区别是什么?
从使用层面上来说,网线直插电脑(电脑无热点配置的功能),最终结果是只有该电脑可上网,公网IP利用率低;网线直插路由器,我们就可以得到多个内网IP,路由器通过NAT地址转换,能够实现内部IP可以转化为公网IP,从而实现上网,大大提高了公网IP利用率。在无线模式下,内网IP地址范围是确定的,无论设备是通过DHCP还是静态分配IP的方式上网,只要IP在有效范围内,都能上网。
但是如果我在校园网下,网线直插电脑的情况下桥接,当虚拟机采用静态分配IP的方式时,网络不能通信,但是如果改为DHCP的话,没有尝试。在校园网下,大多数情况下IP的分配是DHCP管理的,插入网线后,通过网页端输入手机号和密码才能接入,DHCP就会分配给电脑一个IP,但是虚拟机如果是设置的静态IP,尽管填写的IP符合ipconfig查出来的,但是该IP可能已经被DHCP分配了并且还没有到租用时长未归还到IP池中,所以说,这时候就如果采用DHCP模式,情况可能就有所不同,暂且没有尝试。
为什么一般将虚拟机中的IP设置为静态的?
DHCP是动态分配IP,对于单机来说,DHCP模式下获取到的IP大多数情况下都是固定的,但是如果有多个虚拟机,虚拟机启动顺序的先后可能就会导致单机先前的IP发生了变化,这有什么影响吗?对于网络通信来说这并没有什么影响,但是如果你正在使用远程连接工具(putty、XShell)进行连接的话,当下次再次使用工具连接的时候,可能会出现掉线连不上的情况或者连上了不是之前的虚拟机1而是虚拟机2,愿意就是其IP发生了变化。另外,如果你正在尝试搭建集群,也最好不要使用DHCP的方式,搭建集群必定要对相应的配置文件进行网络方面的配置,若涉及到IP的话,对于DHCP方式,尽管能有一个IP可写,但是下次就不一定再是这个IP了,但对于静态配置来说,IP每次都是固定的。
DHCP方式总的影响主要有两方面:
(1)远程连接工具
(2)集群环境
参考: