安装centos 8之后,使用systemctl命令重启启动网络时,会出现以下报错
Failed to restart network.service: Unit network.service not found.
原因是找不到network网络服务
解决方法在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何脚本文件,没有传统的network.service。因此只能通过其它方法进行网络配置,包括NM命令工具集。
手动配置IP地址
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes NAME=ens160 DEVICE=ens160 onBOOT=yes IPADDR=10.0.0.10 NETMASK=255.255.255.0 GATEWAY=10.0.0.2 DNS1=114.114.114.114 DNS2=223.5.5.5
重启网络服务
#使用nmcli重新回载网络配置
[root@localhost ~]# nmcli c reload
# 查看网络是否成功配置
[root@localhost ~]# ip a | grep inet | sed -n 3p
inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute ens160
nmcli命令补充
nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全(详见本文最后的Tips),也可在命令最后通过-h、–help、help查看帮助。
nmcli基本选项
| 选项 | 作用 |
|---|---|
| -t | 简洁输出,会将多余的空格删除 |
| -p | 人性化输出,输出很漂亮 |
| -n | 优化输出,有两个选项tabular(不推荐)和multiline(默认) |
| -c | 颜色开关,控制颜色输出(默认启用) |
| -f | 过滤字段,all为过滤所有字段,common打印出可过滤的字段 |
| -g | 过滤字段,适用于脚本,以:分隔 |
| -w | 超时时间 |
在nmcli中有2个命令最为常用:
nmcli connection
译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c
nmcli device
译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。
connection有2种状态:
▷ 活跃(带颜色字体):表示当前该connection生效
▷ 非活跃(正常字体》):表示当前该connection不生效
device有4种常见状态:
connected:已被NM纳管,并且当前有活跃的connection
disconnected:已被NM纳管,但是当前没有活跃的connection
unmanaged:未被NM纳管
unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ens32 down)



