http://dgd2010.blog.51cto.com/1539422/1592821/

为什么要进行一次测试?

在使用CentOS7的过程中发现网络部分有很多与CentOS6所不同的地方。

1.CentOS7默认使用NetworkManager管理系统的网络而不再是network

2.NetworkManager默认使用的是nmtui或nmcli进行管理,不再是sysconfig中的ifcfg配置文件,但这些ifcfg文件依然被支持

3.默认NetworkManager和network同时在系统中工作,但NetworkManager要先于network启动

4.实际使用过程中发现即使在ifcfg配置文件中使用了静态IP地址以及静态DNS,在NetworkManager中依然使用自动获取(DHCP)的方式,自动获取IP地址和DNS服务器地址

5.NetworkManager默认使用ip命令来配置网络而不是ifcfgxxx,ip命令配置的网络重启后失效

测试环境:

测试虚拟化环境:VMware ESXi 5.1.0

操作系统:CentOS7.0(1406-x86_64),采用最小化安装(默认即是NetworkManager管理网络服务)

网络环境:多vlan的网络环境、其中一vlan设有DHCP服务

测试结果:

  1. VMware VMXNET3 Ethernet Controller对应的网卡是ens160, VMware E1000 Ethernet Controller对应的网卡名称为ens32,CentOS7默认不支持VMXNET2,如果采用VMXNET3,则网卡编号为ens160、ens192和ens224,如果采用E1000则网卡编号为ens32、ens33、ens34。

  2. 如果在安装操作系统时在网络连接步骤中设定的是静态IP地址,则在ifcfg的配置文件中将会将IPADDR、PREFIX、GATEWAY的后面加一个0表示,并且将BOOTPROTO的值设为none,如果绑定一个公网IP地址的话将后面的数字将上加。

  3. ifcfg文件中默认使用“NAME=”而不是“DEVICE=”,ifup和ifdown这两个命令都是使用的是“DEVICE=”,测试过程中发现并不需要将ifcfg文件中默认使用的“NAME=”换成“DEVICE=”,network服务照样可以启动,但只有BOOTPROTO的值为none而不是dhcp时,nmcli中ipv4.method的值才是manual。

  4. 手动修改ifcfg文件不能触发NetworkManager应用这些变更,需要使用nmcli connection reload,或者使用systemctl restart NetworkManager.service,例如ifcfg中将BOOTPROTO从dhcp改为static,需要注意的是nmcli connection reload并不能代替systemctl restart NetworkManager.service,因为nmcli中的任何更改在save persistent之后将对ifcfg文件进行修改,但nmcli中的修改在系统中不会立刻生效,依然需要systemctl restart NetworkManager.service,此时通过ip a命令发现原先修改前的配置和修改后的配置都会留在系统中。

  5. 如果将NetworkManager禁用掉,那么nmcli、nmtui等命令将不再可用。

  6. nmcli中的结果集可能会叠加,例如IP地址或DNS服务器地址可能存在多个,remove只能删除一个配置属性但不能删除整个结果集。

  7. 偶然遇到NetworkManager中的连接名称不是网卡名称的情况,可以用nmcli手动更改。

测试总结:

NetworkManager不如network使用起来方便和不出错,因此在不明就里之前建议谨慎使用NetworkManager。

tips:

在配置服务器时尽可能按照如下提示进行配置,以免除NetworkManager 所带来的麻烦和困扰

  1. 在安装操作系统时将网络配置好,打算采用动态IP就使用dhcp,打算采用静态IP地址就手动设置,提前设定好DNS服务器地址,或将DNS地址写进文件并设定好计划任务或者开机自动更新配置

  2. 尽可能的将DHCP关掉,特别是需要静态IP地址的服务器不要使用DHCP来获取哪些可能没有使用的地址,以免遇到上述测试结果中遇到的nmcli的结果集存在重复的情况

  3. 将NetworkManager禁用掉使用network,并不需要将ifcfg文件中默认使用的“NAME=”换成“DEVICE=”,network服务照样可以启动,网络在ifcfg配置文件配置正确的情况下依然可用,由于systemctl与services的不同,systemctl status network时将显示此服务中命令行的运行状态,例如network调用的是/etc/rc.d/init.d/network start,正确情况下此命令会返回代码为0并退出,这并不意味着network服务已经停止,用户只需要关心此状态中是否是绿色的active即可。

虚拟化环境下的CentOS7网络环境存在的问题的更多相关文章

  1. Win7+VMware Workstation环境下的CentOS-Linux网络连接设置

    Win7+VMware Workstation环境下的CentOS-Linux网络连接设置 http://blog.sciencenet.cn/blog-430991-507041.html   近日 ...

  2. CentOS6.8环境下搭建yum网络仓库

    CentOS6.8环境下搭建yum网络仓库 本文利用ftp服务,在CentOS6.8系统下搭建一个yum仓库,然后用另一台虚拟机访问该仓库.并安装程序包 安装ftp服务 查询ftp服务是否安装 [ro ...

  3. Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)

    目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...

  4. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

  5. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  6. Linux环境下SolrCloud集群环境搭建关键步骤

    Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/close ...

  7. Linux环境下HDFS集群环境搭建关键步骤

    Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.or ...

  8. Linux环境下ZooKeeper集群环境搭建关键步骤

    ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...

  9. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

随机推荐

  1. 使用Vuejs编写单js组件

    1.引用方式 我们使用Vue进行普通页面开发却不使用webpack等技术时,定义组件可以只依赖单js文件进行开发 然后像正常引用js文件那样进行引用 <script src="../C ...

  2. mongodb的分片

    分片是把大型数据集合进行分区成更小的可管理的片的过程. 副本集的每一个成员(仲裁节点除外)都一份数据的完整拷贝! 分片的目的:在节省硬件成本的基础上,提高系统的整体性能.但是却增加了管理和性能的开销. ...

  3. Spring Data JPA中CrudRepository与JpaRepository的不同

    使用Spring Data JPA CrudRepository 和JpaRepository 的好处: 继承这些接口,可以使Spring找到自定义的数据库操作接口,并生成代理类,后续可以注入到Spr ...

  4. python2.7和python3.6共存,使用pip安装第三方库

    因为一般情况下,window命令行运行pip,默认的情况是运行python3.6的pip,安装第三方库的路径也是python3.6,安装路径是: 如何运行在2.7环境下安装PIP呢?有网上的教程说需要 ...

  5. IIS 7.5 配置 php 5.4.22 链接 sql 2008(用PDO链接数据库)

    最近在接触PHP这块,关于在wndows系统下的php配置,虽然网上已经很多文章,但有时候有些配置找起也麻烦,所以分享给大家. 一.php 5.4.22 下载地址 http://windows.php ...

  6. pku 2284 That Nice Euler Circuit

    题意: 给你n个点第n个点保证与第0个点相交,然后求这n个点组成的图形可以把整个平面分成几个面 思路: 这里的解题关键是知道关于多面体的欧拉定理 多面体: 设v为顶点数,e为棱数,f是面数,则v-e+ ...

  7. Html中的表格

    表格由<table>标签来定义.每个表格均有若干行(由<tr> 标签定义),每行被分割为若干单元格(由<td>标签定义). 字母 td 指表格数据(table da ...

  8. vue全家桶实现笔记本功能

    一个通过vue实现的练手小项目,数据保存和导出通过node进行处理 成品截图: 安装vue-cli,webpack: cnpm install webpack -g cnpm install vue- ...

  9. n人围圈报数,报3出圈

    题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. Scanner scanner = new Scanner(System. ...

  10. 局域网内web地图的简单实现

    首先,我先说一下这次的主要目的.我们的想法是在不连互联网的局域网中搭起来一个地图服务,类似于百度地图的网页版本,功能最少要有看地图.放缩.标记.批量标记.实时经纬度坐标.这个东西还是让我费了一番力气( ...