安装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=EthernetBOOTPROTO=staticDEFROUTE=yesNAME=ens160DEVICE=ens160onBOOT=yesIPADDR=10.0.0.10NETMASK=255.255.255.0GATEWAY=10.0.0.2DNS1=114.114.114.114DNS2=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基本选项
在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)