日前在新安装CentOS8,发现没有network.service,在/etc/sysconfig/network-scripts/里只看见ifcfg-*等文件,并不包含其他脚本。
CentOS7原来习惯使用network.service来管理网络。CentOS7支持network.service和NetworkManager.service,默认2个服务都有开启。
CentOS8默认采用NetworkManager.service来管理。也支持network.service,只是默认没有安装,如需要也可以自行安装使用。需要注意的是,未来network.service会废除掉,因此不大建议继续使用。
本文介绍下NetworkManager.service来进行网络管理。NetworkManager(简称NM)是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求。
NM能管理各种网络,如:有线网卡、无线网卡、动态IP、静态IP、以太网、虚拟网卡等。
nmcli命令用法说明:
[root@server ~]# nmcli --helpUsage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS -o[verview] overview mode (hide default values) -t[erse] terse output -p[retty] pretty output -m[ode] tabular|multiline output mode -c[olors] auto|yes|no whether to use colors in output -f[ields] |all|common specify fields to output -g[et-values] |all|common shortcut for -m tabular -t -f -e[scape] yes|no escape columns separators in values -a[sk] ask for missing parameters -s[how-secrets] allow displaying passwords -w[ait] set timeout waiting for finishing operations -v[ersion] show program version -h[elp] print this helpOBJECT 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 m[onitor] monitor NetworkManager changes
注意:nmcli命令设计巧妙之处是参数支持首字母缩写,甚至是只写前N个字母,不用写全,也能够识别。
比如:nmcli help,以下写法都是可以的。
nmcli hnmcli henmcli helnmcli help
有2个维度:连接(connection)和设备(device),多对一的关系。想给某个网卡配ip,首先NM要能管理这个网卡。设备里存在的网卡,就是NM纳管的。接着,可以为一个设备配置多个连接,每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。
connection:
[root@server ~]# nmcli connection NAME UUID TYPE DEVICE virbr0 a14d0651-1dde-4e15-8563-2111bdce6fb9 bridge virbr0 wifi-5g 28ddd211-67c0-41e2-87e6-3111145909a7 wifi wlp5s0 enp4s0 62111101-5006-4011-116-24591a11156d6 ethernet --
连接有2种:生效和不生效。DEVICE为--的表示不生效的。
connection下一级参数(按TAB键列出):
[root@server ~]# nmcli connection add clone delete down edit export help import load modify monitor reload show up
有兴趣可自行研究细节。
device:
[root@server ~]# nmcli device DEVICE TYPE STATE CONNECTION wlp5s0 wifi connected wifi-5g virbr0 bridge connected virbr0 enp4s0 ethernet unavailable -- lo loopback unmanaged -- virbr0-nic tun unmanaged --
设备包括包括物理网卡和虚拟网卡等。有几种状态(STATE):
connected:已被NM纳管,并且当前有活跃的connection 。
disconnected:已被NM纳管,但是当前没有活跃的connection。
unmanaged:未被NM纳管。
unavailable:不可用,NM无法纳管,比如有线网卡没有连接网线。
device下一级参数(按TAB键列出):
[root@server ~]# nmcli device connect delete disconnect help lldp modify monitor reapply set show status wifi
有兴趣可自行研究细节。
general:
[root@server ~]# nmcli general STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN connected full enabled enabled enabled enabled
可以看到连接是否开启。
networking:
[root@server ~]# nmcli networking enabled
networking下一级参数(按TAB键列出):
[root@server ~]# nmcli networking connectivity help off on
radio:
[root@server ~]# nmcli radio WIFI-HW WIFI WWAN-HW WWAN enabled enabled enabled enabled
radio下一级参数(按TAB键列出):
[root@server ~]# nmcli radio all help wifi wwan
nmcli基本信息:
[root@demon ~]# nmcli wlp5s0: connected to wifi-5g "Realtek RTL8822BE 802.11a/b/g/n/ac" wifi (r8822be), 0C:96:E1:1C:51:21, hw, mtu 1500 ip4 default inet4 10.2.3.123/24 route4 0.0.0.0/0 route4 10.2.3.0/24 inet6 fe80::cba1:c905:c860:83e1/64 route6 fe80::/64 route6 ff00::/8virbr0: connected to virbr0 "virbr0" bridge, 52:54:00:B8:41:B1, sw, mtu 1500 inet4 192.168.122.1/24 route4 192.168.122.0/24enp4s0: unavailable "Realtek RTL8111/8168/8411" ethernet (r8169), E8:1A:61:7F:C1:02, hw, mtu 1500lo: unmanaged "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536virbr0-nic: unmanaged "virbr0-nic" tun, 52:54:00:B1:15:B1, sw, mtu 1500DNS configuration: servers: 10.1.2.1 10.2.3.1 interface: wlp5s0Use "nmcli device show" to get complete information about known devices and"nmcli connection show" to get an overview on active connection profiles.Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage details.
nmcli涵盖了完整的网络管理功能,有兴趣可自行查阅文档,逐一研究,这里只是引导,不再细说。
注:本文为Toyo Lau原创,未经许可不得在任何平台转载,侵权必究。如需转载,可关注微信公众号:技术训练营,在后台留言,与作者联系,取得许可才能转载~
微信扫一扫,发现更精彩。