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中

VM CentOS7 网络配置问题汇总的更多相关文章

  1. 解决VirtualBox下关于CentOS7网络配置问题

    描述:安装了centos7,发现无法ping通网络,根据一些网上的建议,进行了一些修改,修改配置文件(/etc/sysconfig/network-scripts/ifcfg-enq03 ),但并没有 ...

  2. 【Linux常见问题】Centos7的网络配置问题

    在配置Centos7网络的时候,可能出出现虚拟机.本地以及外网三者之间ping不通的问题,可以从以下的几个方面排查: 1.确定需要管理员权限才能修改配置网络,如下图: 需要点下更改设置,然后出现下面的 ...

  3. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  4. Centos7网络配置,vsftpd安装及530报错解决

    今天在虚拟机安装CentOS7,准备全新安装LTMP,结果又是一堆问题,不过正好因为这些出错,又给自己长了见识. 1,CentOS7网络配置 最小化安装CentOs7后,ifconfig提示comma ...

  5. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...

  6. windbg配置问题汇总

    .loadby sos.dll mscorwks.symfix c:\windows\symbols windbg配置问题汇总 1.Failed to find runtime DLL (clr.dl ...

  7. centos7 系统安装问题汇总

    centos7 系统安装问题汇总: 1.使用u盘 安装centos7时,一直提示:'.../dev/root  does not exist,could not boot' 解决方法: 2.不能将原来 ...

  8. Virtual Box配置CentOS7网络

    1.先管理中配置两个网络 最好的办法就是使用两块网卡,nat(虚拟机访问互联网,使用10.0.2.x段)和host-only(虚拟机和主机互相通信,使用192.168.56.x段) 2.接下来对Cen ...

  9. centos7网络配置总结

    centos7网络配置 --wang 一.通过配置文件 配置/etc/sysconfig/network-scripts/en.. 记忆信息量大,易出错,不推荐使用.配置多台电脑静态ip可以通过复制模 ...

随机推荐

  1. kubernetes 应用基本准则

    不要直接部署裸的Pod. 为工作负载选择合适的Controller. 使用Init容器确保应用程序被正确的初始化. 在应用程序工作负载启动之前先启动service. 使用Deployment hist ...

  2. ip addr 相关操作

    1.添加ip: ip addr add 1.1.1.100/255.255.255.0 dev eth0 2.删除ip: ip addr del 1.1.1.100/255.255.255.0 dev ...

  3. Python3.5 学习十一

    关于消息队列 PY 中应用程序里对于消息队列的使用: 1 threading QUEUE 2 进程QUEUE 父进程.父进程下的子进程间进行交互 RabbitMQ 消息队列 :用于应用程序之间,可跨平 ...

  4. Python web后端接收到的json数据有前端格式的布尔值 true false

    最近在后端处理前端传过来的json数据,发现,因为数据是各种数据格式的嵌套,使用json.loads(),无法将内层的数据转换为原来格式的数据,所以需要使用eval( )函数进行转换,但是如果数据含有 ...

  5. super()的作用

    super能够用来訪问父类的构造方法和被子类所隐藏的方法.假设子类中有方法与父类中的方法名称和參数同样,则父类中的方法就被隐藏起来,也就是说在子类中重载了父类中的方法. 引用父类中所隐藏的语法格式例如 ...

  6. shiro授权-记调试过程

    根据张开涛老师的shiro教程学习过程中 感觉shiro授权这块有点绕 调试了十几遍 大概有个思路  记录一下 1.单元测试入口 2.subject().isPermitted("+user ...

  7. SpringBoot入门(IDEA篇)(一)

    一.SpringBoot简介 开发团队:Pivotal团队 主要目的:简化新Spring应用的初始搭建以及开发过程. 秉持理念:约定优于配置.(该框架使用了特定的方式来进行配置,从而使开发人员不再需要 ...

  8. centos7.2 get pid by process name with python3.6

    centos7.2 get pid by process name with python3.6 #-*- encoding:UTF-8 -*- import os import sys import ...

  9. 剑指offer三十七之数字在排序数组中出现的次数

    一.题目 统计一个数字在排序数组中出现的次数. 二.思路 解法一:遍历数组计数 解法二:考虑到时有序数组,所以采用分查找,找到第一个K 和 最后一个K的位置, 二者相减. 三.代码 解法一: publ ...

  10. Spark安装过程

    Precondition:jdk.Scala安装,/etc/profile文件部分内容如下: JAVA_HOME=/home/Spark/husor/jdk CLASSPATH=.:$JAVA_HOM ...