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. BZOJ2938:[POI2000]病毒(AC自动机)

    Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码 ...

  2. (探讨贴)POJ 1463 树形DP解法的不正确性

    POJ1463是一个典型的树状DP题. 通常解法如下代码所示: using namespace std; ; ]; int pre[maxn]; int childcnt[maxn]; int n; ...

  3. 斜率优化DP学习笔记

    先摆上学习的文章: orzzz:斜率优化dp学习 Accept:斜率优化DP 感谢dalao们的讲解,还是十分清晰的 斜率优化$DP$的本质是,通过转移的一些性质,避免枚举地得到最优转移 经典题:HD ...

  4. 【转】TCP端口号记录

    转载自:tcp/ip 端口号有哪些 常用端口一览表: 1 传输控制协议端口服务多路开关选择器 2 compressnet 管理实用程序 3 压缩进程 5 远程作业登录 7 回显(Echo) 9 丢弃 ...

  5. Ethereum IDE

    http://remix.ethereum.org/#optimize=false&version=builtin https://ethereum.github.io/browser-sol ...

  6. install flask

    pip install flask -i http://pypi.douban.com/simple

  7. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  8. 浅谈Android Studio3.0更新之路(遇坑必入)

    >可以参考官网设置-> 1 2 >> Fantasy_Lin_网友评论原文地址是:简书24K纯帅豆写的我也更新一下出处[删除]Fa 转自脚本之家 浅谈Android Studi ...

  9. hdu4686矩阵快速幂

    花了一个多小时终于ac了,有时候真的是需要冷静一下重新打一遍才行. 这题就是 |aod(n)|   =    |1        ax*bx       ax*by      ay*bx       ...

  10. gcd 与 扩gcd 总结

    gcd 定理的证明: 模板: ll gcd(ll a,ll b) { ) return a; else return gcd(b,a%b); } 扩gcd证明: 模板: ll extgcd(ll a, ...