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. dstat常用参数组合

    io/if/vm三合一 dstat -cdlmnpsy dstat --top-mem --top-cpu --top-io

  2. jvm linux 时区设置

    # 背景 在接入集团一个平台的时候,发现录制某个接口到测试环境回放,发现接口入参一致,一个start_day 一个end_day,但回放的时候会多调用一次数据库查询,很是奇怪: 查阅业务代码,发现确实 ...

  3. Python初学手记----在window系统中安装环境

    官网地址: https://www.python.org/ Win版下载地址:https://www.python.org/downloads/windows/ 安装注意:安装路径推荐修改. path ...

  4. T-SQL判断是否存在表、临时表

    利用SQL SERVER的系统函数 object_id() 可以判断是否存在表.临时表, object_id() 的作用是返回架构范围内对象的数据库对象标识.(即返回系统视图  sys.objects ...

  5. git fetch and git pull &冲突

    1.git fetch和git pull之间的区别 git fetch只会将本地库所关联的远程库的commit id更新至最新,fetch不会改变代码,如果想使代码更新,需要使用git merge o ...

  6. centos 6 下,zephir的安装和使用

    centos 6 下,zephir的安装和使用 zephir或许会开启一个新的PHP编写方式. 在这之前,如果我们要编写php的扩展,一般都是c++/clang/vc等等. 但是现在,我们有了新的选择 ...

  7. [bug] JS sort 函数在 ios 中无效

    首先,请原谅我做一次标题党: 但我觉得从发现问题到最后解决问题的过程还是蛮有意思的,特此记录一下: 背景 近两天开发的航班延误宝是内嵌在客户端(android.ios)webview 中的 H5 页面 ...

  8. LINUX中如何查看某个端口是否被占用

    之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat  -anp  |grep   端口号 如下,我以3306为例,netstat  -anp  |grep   ...

  9. python pip安装模块提示错误failed to create process

    python pip安装模块提示错误failed to create process 原因: 报这个错误的原因,是因为python的目录名称或位置发生改动. 解决办法: 1.找到修改python所在的 ...

  10. Nginx安装、配置和使用

    Nginx 1. 什么是nginx 是一个使用c语言开发的高性能的http服务器及反向代理服务器. Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器. ...