VM CentOS7 网络配置问题汇总

0. 前言

在进行配置之前,我们首先需要明确几个概念:

I. VM的网络连接方式

mark

mark
①. 桥接模式(Bridge)

  此模式下,VM centOS 在网络中作为一台独立主机存在,它可以访问网络中的任何一台设备,地位等同宿主机器(如下图,使用VMnet0虚拟网卡,不支持DHCP)。
mark

  由于VM作为一台独立主机存在,因此具备自己的TCP/IP地址和子网掩码等,你可以手动配置(必须与宿主机器处于同一个网段),它可以实现通过局域网的网关/路由器直接访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

②. NAT模式

  使用VMnet8虚拟网卡,支持DHCP。

mark

  NAT(Network Address Translation, 网络地址转换),就是让VM centOS 借助NAT功能,通过宿主机器所在的网络来访问Internet。换言之,使用NAT模式可以实现在虚拟系统里访问互联网。

  NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的(往往不和宿主机在同一个网段),无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。

  采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

③. 仅主机(host-only)

  使用VMnet1虚拟网卡,支持DHCP,无法访问互联网。
mark

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用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不到该虚拟机了,莫名其妙。

mark

方法一:

如果是你使用的桥接模式,因为桥接模式没有DHCP协议,所以不会自动分配IP地址,可从以下几步入手:

1). Edit--Virtual Network Editor:
mark

2). 点击“更爱设置”
mark

3). 为VMnet0选择实际的物理网卡(不要为Automatical)
mark

4). 进入到CentOS中,修改网络配置文件
CentOS 7 的网络配置文件修改命令如下:

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736  #你的可能是eno0/eth0

mark
将ONBOOT的no改为 yes,即开机自动获取IP地址;
保存,退出。

5). 重启网络服务

service network restart

ifconfig

看,是不是久违的IP地址出现了!
mark

方法二

直接暴力点,直接将桥接模式更改为NAT模式,一般情况下可以解决IP问题,当然也要执行方法一的第5步,因为NAT由DHCP直接分配IP地址,VMnet8直接嫁接到物理网卡上的。

2. CentOS无可通信的网卡

现象

有时候我们复制或者移动了VM后,使用ifconfig命令,无法找到eno16xxx,只有一个lo,这时候是比较棘手的。

方法一

如果是带GUI的, 可以
1). 进入CentOS,然后点击设置
mark

2). 点击Network
mark

3). 查看是否有wired
mark

4). 有的话,将OFF改成ON

5). 没有的话,请看方法二

6). 关机后,更改Linux下的CentOS为CentOS64
mark
7). 开机,使用ifconfig,将会看到网卡了

方法二

1). 针对自己的网卡型号,下载对应的驱动并拷贝安装

2). 若第一步行不通,那就重新安装一次吧,记得安装的时候以下步骤的设置
网络设置默认为关闭的,需要开启,不然可能会导致安装完毕后找不到网卡的问题
mark

mark




PS: 持续更新总结中,遇到了其它问题会加入到本blog中

posted @ 2017-12-09 17:34  Jimmy_Nie  阅读(3272)  评论(0编辑  收藏  举报