nmcli是用于控制NetworkManager和报告网络状态的命令行工具。nmcli用于创建、显示、编辑、删除、激活和停用网络连接,以及控制和显示网络设备状态。

1. 基本用法
nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...]

可以使用TAB键来补全命令,忘记了语法,可以按TAB键查看可用选项。如果按TAB键没有反应,也许是没有安装bash-completion

#安装bash-completion
[root@localhost ~]# yum -y install bash-completion
#退出重新登录
[root@localhost ~]# exit

tab键查看可用选项
查看NetworkManager的状态:

[root@localhost ~]# nmcli general status 
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

列出连接配置文件信息:

[root@localhost ~]# nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
enp0s3  5005942f-a7fd-4e55-b8e7-77928d8da72d  ethernet  enp0s3

显示网卡的状态:

[root@localhost ~]# nmcli device status 
DEVICE  TYPE      STATE      CONNECTION 
enp0s3  ethernet  connected  enp0s3     
lo      loopback  unmanaged  --

在这里插入图片描述
可以使用nmcli命令行启动或停止网卡,相当于ifup/ifdown命令。

  • 停止网卡:
[root@localhost ~]# nmcli device disconnect enp0s3

在这里插入图片描述

  • 开启网卡:
[root@localhost ~]# nmcli device connect enp0s3

在这里插入图片描述

  • 修改网卡信息,由原来的dhcp自动获取改为手动添加地址:
[root@localhost ~]# nmcli connection modify enp0s3 ipv4.method manual ipv4.addresses 192.168.0.110/24 ipv4.gateway 192.168.0.1 ipv4.dns 202.102.128.68
或者
[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual ipv4.address 172.16.1.120/24 connection.autoconnect yes
然后
[root@localhost ~]# nmcli connection up enp0s3

在这里插入图片描述

  • 添加额外IP
[root@localhost ~]# nmcli connection modify enp0s3 +ipv4.addresses 192.168.0.108/24
# 启用配置文件
[root@localhost ~]# nmcli connection up enp0s3
# 查看ip地址
[root@localhost ~]# ip add show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:7b:d3:32 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.107/24 brd 192.168.0.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet 192.168.0.108/24 brd 192.168.0.255 scope global secondary noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::d4d9:9043:1056:9e1a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
  • 删除额外IP
[root@localhost ~]# nmcli connection modify enp0s3 -ipv4.addresses 192.168.0.108/24
# 启用配置文件
[root@localhost ~]# nmcli connection up enp0s3
# 查看ip地址
[root@localhost ~]# ip ad show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:7b:d3:32 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.107/24 brd 192.168.0.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::d4d9:9043:1056:9e1a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
2. 其他使用方法

参考:https://www.cnblogs.com/duzhaoqi/p/7491761.html

  • nmcli命令与接口配置文件选项的对应关系
    在这里插入图片描述
  • 使用例子
nmcli connection modify eth2 autoconnect no
nmcli connection modify eth2 ipv4.method auto
nmcli connection modify eth2 +ipv4.addresses 192.168.111.122/24
nmcli connection modify eth2 +ipv4.dns 8.8.8.8
nmcli connection reload
nmcli connection down eth0
nmcli connection up eth0

只显示活动连接
nmcli connection show --active

显示网卡详细信息(ens33是connection.id)
nmcli connection show ens33
nmcli device show eth0

显示设备状态
nmcli device status
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐