一、简介
NetworkManager服务是管理和监控网络设置的守护进程,是2004年RedHat启动的项目,皆在能够让Linux用户更轻松的处理现代网络需求,尤其是无线网络,能够自动发现网卡并配置IP地址。Centos7之前的版本都是通过network.service管理网络配置。到了Centos7就同时支持network.service和NetworkManager.service(简称NM),相当于在Centos7的一个过渡,默认情况下这2个服务都有开启,但是因为NetworkManager.service当时的兼容性不好,大部分人都会将其关闭。在RHEL 8/Centos 8上已废弃network.service(默认不安装),只能通过NetworkManager进行网络配置。
NetworkManager的作用:
NetworkManager主要管理2个对象: Connection(网卡连接配置) 和 Device(网卡设备),他们之间是多对一的关系,但是同一时刻只能有一个Connection对于Device才生效。
在RHEL 8/Centos 8有三种方法配置网络:
- 通过nmcli connection add命令配置,会自动生成ifcfg文件。
- 手动配置ifcfg文件,通过nmcli connection reload来加载生效。
- 手动配置ifcfg文件,通过传统network.service来加载生效。
NetworkManager在系统中的管理工具为nmcli
二、nmcli简单使用
2.1、nmcli命令的选项与参数
语法:
nmcli [OPTIONS] OBJECT {
COMMAND | help }
OPTIONS
-a, --ask ask for missing parameters
-c, --colors auto|yes|no whether to use colors in output
-e, --escape yes|no escape columns separators in values
-f, --fields <field,...>|all|common specify fields to output
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f
-h, --help print this help
-m, --mode tabular|multiline output mode
-o, --overview overview mode
-p, --pretty pretty output
-s, --show-secrets allow displaying passwords
-t, --terse terse output
-v, --version show program version
-w, --wait <seconds> set timeout waiting for finishing operations
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
2.1、general 常规选项
命令格式:nmcli general {status|hostname|permissions|logging}
命令描述:使用此命令可以显示网络管理器状态和权限,你可以获取和更改系统主机名,以及网络管理器日志记录级别和域。
2.1.1、显示网络管理器的整体状态(status)
$ nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
2.1.2、获取主机名或该更主机名(hostname)
# 查询主机名
$ nmcli general hostname
centos8-nat-168-182-152
# 设置主机名
$ nmcli general hostname centos8-nat-168-182-152-