0. 前言
在进行配置之前,我们首先需要明确几个概念:
I. VM的网络连接方式
①. 桥接模式(Bridge)
此模式下,VM centOS 在网络中作为一台独立主机存在,它可以访问网络中的任何一台设备,地位等同宿主机器(如下图,使用VMnet0虚拟网卡,不支持DHCP)。
由于VM作为一台独立主机存在,因此具备自己的TCP/IP地址和子网掩码等,你可以手动配置(必须与宿主机器处于同一个网段),它可以实现通过局域网的网关/路由器直接访问互联网。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
②. NAT模式
使用VMnet8虚拟网卡,支持DHCP。
NAT(Network Address Translation, 网络地址转换),就是让VM centOS 借助NAT功能,通过宿主机器所在的网络来访问Internet。换言之,使用NAT模式可以实现在虚拟系统里访问互联网。
NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的(往往不和宿主机在同一个网段),无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。
采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
③. 仅主机(host-only)
使用VMnet1虚拟网卡,支持DHCP,无法访问互联网。
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连;虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
II. loopback(本地环回)
本地环回接口,在网络设备(一般是路由器)上是一种特殊的接口,它不是物理接口,而是逻辑接口(也称虚拟接口),在终端通常被固定设置为127.0.0.1
(当然你可以自己更改)。
通常,我们检查网络时,首先检查此端口,若此端口不通,则表示我们TCP/IP的协议栈有问题,需要重新安装/更新。
III. 网关 & DNS
网关(GateWay),相当于一个门(或者关口),是一个网络通向另一个网络的IP地址;通常由距离我们终端最近的路由器充当这个角色。
DNS(Domain Name System,域名服务器), 简单点的解释就是:你准备访问www.baidu.com
,当你输入该网址后enter,该请求将会发送到DNS,将其转换为IP地址,然后才进行网络通信;若没有DNS,你必须记住你想访问网址的IP地址,这一般人做不到。
1. CentOS网卡无IP
现象:
很多时候,我们用centos好好的,下次开机的时候发现没有IP地址了,导致我们用其它软件SSH或者telnet不到该虚拟机了,莫名其妙。
方法一:
如果是你使用的桥接模式,因为桥接模式没有DHCP协议,所以不会自动分配IP地址,可从以下几步入手:
1). Edit--Virtual Network Editor:
2). 点击“更爱设置”:
3). 为VMnet0选择实际的物理网卡(不要为Automatical)
4). 进入到CentOS中,修改网络配置文件
CentOS 7 的网络配置文件修改命令如下:
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 #你的可能是eno0/eth0
将ONBOOT的no
改为 yes
,即开机自动获取IP地址;
保存,退出。
5). 重启网络服务
service network restart
ifconfig
看,是不是久违的IP地址出现了!
方法二:
直接暴力点,直接将桥接模式更改为NAT模式,一般情况下可以解决IP问题,当然也要执行方法一的第5步
,因为NAT由DHCP直接分配IP地址,VMnet8直接嫁接到物理网卡上的。
2. CentOS无可通信的网卡
现象
有时候我们复制或者移动了VM后,使用ifconfig
命令,无法找到eno16xxx
,只有一个lo
,这时候是比较棘手的。
方法一
如果是带GUI的, 可以
1). 进入CentOS,然后点击设置
2). 点击Network:
3). 查看是否有wired
4). 有的话,将OFF改成ON
5). 没有的话,请看方法二
6). 关机后,更改Linux下的CentOS为CentOS64
7). 开机,使用ifconfig
,将会看到网卡了
方法二
1). 针对自己的网卡型号,下载对应的驱动并拷贝安装;
2). 若第一步行不通,那就重新安装一次吧,记得安装的时候以下步骤的设置
网络设置默认为关闭的,需要开启,不然可能会导致安装完毕后找不到网卡的问题
PS: 持续更新总结中,遇到了其它问题会加入到本blog中