nmcli是一个RedHat 7或CentOS 7之后的一个网络配置命令,用于完成网卡的配置工作,在8之后都默认使用nmcli了,因此学习使用它还是很有必要的。
我们最常使用的方法是修改/etc/sysconfig/network-scripts/ifcfg-*文件,采用手工方式,而使用nmcli则是将使用命令的方式来修改网卡,更加便捷或方便使用脚本来批量管理。
nmcli命令与配置文件的对应关系
下面将演示nmcli命令一些常见的操作与应用。
查看网卡信息
在查看网卡信息时,可以使用nmcli connection show或简写为nmcli con show来查看,可看到我的计算机上分别有两块网卡eth0与eth1。
[root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE eth0 adf11feb-6cf6-4b65-929b-1bdfeb8cf155 ethernet eth0 eth1 7ce24459-44b8-4340-b270-9702c6b27ba9 ethernet eth1 #或者将connection简写为con也是同样的结果 [root@localhost ~]# nmcli con show NAME UUID TYPE DEVICE eth0 adf11feb-6cf6-4b65-929b-1bdfeb8cf155 ethernet eth0 eth1 7ce24459-44b8-4340-b270-9702c6b27ba9 ethernet eth1 [root@localhost ~]#
查看网卡的状态
在linux下想要查看网卡的连接或断开状态也可以很方便。采用nmcli device status可以观察到eth0是处于连接状态,eth1处于断开状态,lo为回环网络,这里可以不用管。
[root@localhost ~]# nmcli device status DEVICE TYPE STATE CONNECTION eth0 ethernet 连接的 eth0 eth1 ethernet 不可用 -- lo loopback 未托管 -- [root@localhost ~]#
建立或删除新网卡
如一个服务器上有多个网卡的情况,可根据情况删除或添加网卡。在建立一块网卡时ifname和con-name建议修改与相同的名字,方便管理。
#删除一块不需要的网卡 nmcli connection delete ens33 #建立一块新网卡eth0 nmcli connection add type ethernet ifname eth0 con-name eth0 #查看建立好的网卡 nmcli con show
配置IP地址
采用命令的方式配置网卡为自动获取IP地址或配置为静态IP
#自动获取dhcp nmcli connection modify eth0 ipv4.method auto #手动配置为静态IP nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.7/47 ipv4.gateway 192.168.4.254 connection.autoconnect yes #激活 nmcli connection up eth0