Linux nmcli 网络管理

   RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用 nmcli 命令来管理 NetworkManager 服务。nmcli 是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松地查看网络信息或网络状态:

[root@linuxprobe ~]# nmcli connection show
NAME         UUID                                  TYPE            DEVICE      
eno33554968  da2d8781-c673-40b6-aa34-72fdf99af1cf  802-3-ethernet  eno33554968 
eno16777728  36644a00-01b9-4fcb-a765-748bc7b42672  802-3-ethernet  eno16777728 

[root@linuxprobe ~]# nmcli con show eno16777728 
connection.id:                          eno16777728
connection.uuid:                        36644a00-01b9-4fcb-a765-748bc7b42672
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.timestamp:                   1577620101
connection.read-only:                   no
connection.permissions:                 
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.secondaries:                 
connection.gateway-ping-timeout:        0
………………省略部分输出信息………………

 

nmcli自带图形网络接口配置工具

[root@linuxprobe ~]# nmtui
[root@linuxprobe ~]# nm-connection-editor 

 

常用操作


 

查询操作


  • # 查询服务器所有网卡
  • nmcli connection show

  • # 查看正在使用的网卡
  • nmcli connection show -active

  • # 查看指定网卡信息详情
  • nmcli connection show 设备名称

  • # 查看所有网络设备状态
  • nmcli device status

  • # 查看所有网络设备状态详情
  • nmcli device show

  • # 查看指定网络设备状态详情
  • nmcli device show 设备名称 

 

修改操作


  • # 创建DHCP类型网络设备、新建配置文件
  • nmcli connection add con-name "连接名" type 设备类型 ifname 设备名称
  • 实例nmcli connection add con-name "dhcp" type ethernet ifname eno16777728

  • # 创建静态类型网络设备、新建配置文件、添加IP地址、添加网关。 
  • nmcli connection add con-name "连接名" ifname 设备名称 autoconnect no type 设备类型 ip4 IP地址 gw4 网关地址
  • 实例nmcli connection add con-name "static" ifname eno16777728 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
  • autoconnect 为是否开启网络设备
  • 对应配置文件: autoconnect no/yes  |  ONBOOT=no/yes

  • # 修该模式为手动(static
  • nmcli connection modify 设备名称 ipv4.method manual ipv4.addresses IP地址/网关
  • 实例nmcli connection modify eno16777728 ipv4.method manual ipv4.addresses 192.168.10.10/24
  • 原本DHCP模式需要手动添加IP地址,不然会报错
  • 对应配置文件:ipv4.method manual/auto  |  BOOTPROTO=static/dhcp

  • # 修该模式为自动(dhcp
  • nmcli connection modify 设备名称 ipv4.method auto
  • 实例nmcli connection modify eno16777728 ipv4.method auto
  • 对应配置文件:ipv4.method manual/auto  |  BOOTPROTO=static/dhcp

  • # 修该IP地址
  • nmcli connection modify 设备名称 ipv4.addresses IP地址/网关
  • 实例nmcli connection modify eno16777728 ipv4.addresses 192.168.10.10/24
  • 对应配置文件:ipv4.addresses x.x.x.x/x  |  IPADDR=x.x.x.x PREFIX=x

  • # 修该网关
  • nmcli connection modify 设备名称 ipv4.gateway 网关地址
  • 实例nmcli connection modify eno16777728 ipv4.gateway 192.168.10.1
  • 对应配置文件:ipv4.gateway x.x.x.x  |  GATEWAY=x.x.x.x

  • # 已创建静态网络设备、添加DNS
  • nmcli connection modify 设备名称 ipv4.dns DNS地址
  • 实例nmcli connection modify eno16777728 ipv4.dns 8.8.8.8
  • 对应配置文件:ipv4.dns x.x.x.x  |  DNS=x.x.x.x

  • # 已创建静态网络设备、添加第二个DNS
  • nmcli connection modify 设备名称 +ipv4.dns DNS地址
  • 实例nmcli connection modify eno16777728 +ipv4.dns 9.9.9.9
  • 对应配置文件:ipv4.dns x.x.x.x  |  DNS2=x.x.x.x

  • # 修该模式为手动(static)、IPV6
  • nmcli connection modify 设备名称 ipv6.addresses 'IPV6地址/掩码' ipv6.method 手动
  • 实例nmcli connection modify eno16777728 ipv6.addresses '2001:ac18::132/64' ipv6.method manual
  • 注:原本DHCP模式需要手动添加IP地址,不然会报错。

 
删除操作

  • # 删除指定网络设备、DNS地址
  • nmcli connection modify 设备名称 -ipv4.dns 已存在DNS地址
  • 实例:nmcli connection modify eno16777728 -ipv4.dns 8.8.8.8

  • # 删除网络连接配置文件
  • nmcli connection delete 设备名称
  • 实例nmcli connection delete eno16777728

 
其他操作

  • # 启用网络设备连接
  • nmcli connection up 设备名称
  • 实例nmcli connection up eno16777728

  • # 停用网络连接、可以被自动激活
  • nmcli connection down 设备名称
  • 实例nmcli connection up eno16777728

  • # 停用网络连接,禁止被激活
  • nmcli device disconnect 设备名称
  • 实例nmcli device disconnect eno16777728

  • # 重新加载网络配置文件
  • nmcli connection reload

 

你可能感兴趣的:(Linux nmcli 网络管理)