Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。

 NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,×××连接以及很多其它的特殊参数。

 可以用命令行工具 nmcli 来控制 NetworkManager。

 在CentOS / RHEL 7中网络管理命令行工具,也叫nmcli。经常使用ifconfig的用户应该在CentOS 7中避免使用ifconfig了。nmcli的功能要强大、复杂的多。


地址配置工具:nmcli

 nmcli - command-line tool for controlling NetworkManager


命令语法:

 nmcli[ OPTIONS ] OBJECT { COMMAND | help }

 

 OBJECT和COMMAND可以用全称也可以用简称,最少可以只用一个字母,建议用头三个字母。OBJECT里面我们平时用的最多的就是connection和device,这里需要简单区分一下connection和device。

 device叫网络接口,是物理设备

     device -show and manage network interfaces

     nmcli device help

 connection是连接,偏重于逻辑设置

     connection -start, stop, and manage network connections

     nmcli connection help

 多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应connection


wKioL1fP3L-g1fdXAAAvAZncXO0325.png

修改IP地址等属性:

 # nmcli connection modify IFACE [+|-]setting.propertyvalue

     setting.property:

         ipv4.addresse        ipv4.gateway

         ipv4.dns1           ipv4.methodmanual | auto

    

修改配置文件执行生效:systemctl restart network 或 nmcli con reload

nmcli命令生效:nmclicon down eth0 ; nmclicon up eth0



使用nmcli配置网络:

 NeworkManager是管理和监控网络设置的守护进程

  设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。


  • 显示所有包括不活动连接

 nmcli con show

  • 显示所有活动连接

 nmcli con show --active

  • 显示网络连接配置

 nmcli con show "System eth0“

  • 显示设备状态

 nmcli dev status