VM CentOS7 网络配置问题汇总
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 网络配置问题汇总的更多相关文章
- 解决VirtualBox下关于CentOS7网络配置问题
描述:安装了centos7,发现无法ping通网络,根据一些网上的建议,进行了一些修改,修改配置文件(/etc/sysconfig/network-scripts/ifcfg-enq03 ),但并没有 ...
- 【Linux常见问题】Centos7的网络配置问题
在配置Centos7网络的时候,可能出出现虚拟机.本地以及外网三者之间ping不通的问题,可以从以下的几个方面排查: 1.确定需要管理员权限才能修改配置网络,如下图: 需要点下更改设置,然后出现下面的 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- Centos7网络配置,vsftpd安装及530报错解决
今天在虚拟机安装CentOS7,准备全新安装LTMP,结果又是一堆问题,不过正好因为这些出错,又给自己长了见识. 1,CentOS7网络配置 最小化安装CentOs7后,ifconfig提示comma ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...
- windbg配置问题汇总
.loadby sos.dll mscorwks.symfix c:\windows\symbols windbg配置问题汇总 1.Failed to find runtime DLL (clr.dl ...
- centos7 系统安装问题汇总
centos7 系统安装问题汇总: 1.使用u盘 安装centos7时,一直提示:'.../dev/root does not exist,could not boot' 解决方法: 2.不能将原来 ...
- Virtual Box配置CentOS7网络
1.先管理中配置两个网络 最好的办法就是使用两块网卡,nat(虚拟机访问互联网,使用10.0.2.x段)和host-only(虚拟机和主机互相通信,使用192.168.56.x段) 2.接下来对Cen ...
- centos7网络配置总结
centos7网络配置 --wang 一.通过配置文件 配置/etc/sysconfig/network-scripts/en.. 记忆信息量大,易出错,不推荐使用.配置多台电脑静态ip可以通过复制模 ...
随机推荐
- dstat常用参数组合
io/if/vm三合一 dstat -cdlmnpsy dstat --top-mem --top-cpu --top-io
- jvm linux 时区设置
# 背景 在接入集团一个平台的时候,发现录制某个接口到测试环境回放,发现接口入参一致,一个start_day 一个end_day,但回放的时候会多调用一次数据库查询,很是奇怪: 查阅业务代码,发现确实 ...
- Python初学手记----在window系统中安装环境
官网地址: https://www.python.org/ Win版下载地址:https://www.python.org/downloads/windows/ 安装注意:安装路径推荐修改. path ...
- T-SQL判断是否存在表、临时表
利用SQL SERVER的系统函数 object_id() 可以判断是否存在表.临时表, object_id() 的作用是返回架构范围内对象的数据库对象标识.(即返回系统视图 sys.objects ...
- git fetch and git pull &冲突
1.git fetch和git pull之间的区别 git fetch只会将本地库所关联的远程库的commit id更新至最新,fetch不会改变代码,如果想使代码更新,需要使用git merge o ...
- centos 6 下,zephir的安装和使用
centos 6 下,zephir的安装和使用 zephir或许会开启一个新的PHP编写方式. 在这之前,如果我们要编写php的扩展,一般都是c++/clang/vc等等. 但是现在,我们有了新的选择 ...
- [bug] JS sort 函数在 ios 中无效
首先,请原谅我做一次标题党: 但我觉得从发现问题到最后解决问题的过程还是蛮有意思的,特此记录一下: 背景 近两天开发的航班延误宝是内嵌在客户端(android.ios)webview 中的 H5 页面 ...
- LINUX中如何查看某个端口是否被占用
之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat -anp |grep 端口号 如下,我以3306为例,netstat -anp |grep ...
- python pip安装模块提示错误failed to create process
python pip安装模块提示错误failed to create process 原因: 报这个错误的原因,是因为python的目录名称或位置发生改动. 解决办法: 1.找到修改python所在的 ...
- Nginx安装、配置和使用
Nginx 1. 什么是nginx 是一个使用c语言开发的高性能的http服务器及反向代理服务器. Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器. ...