nmcli工具使用方法

发布于 2021-08-02  63 次阅读


nmcli工具使用方法

1.简介

nmcli命令赋予你直接在 Linux 命令行操作 NetworkManager 工具的能力。它是 NetworkManager 软件包集成的一部分,通过使用一些 应用程序接口(API)来获取 NetworkManager 的功能。 nmcli 发布于 2010 年,用以替代其他配置网络接口和连接的方法,例如 ifconfig。因为它是一个 命令行界面(CLI)工具,被设计用在终端窗口和脚本中,所以对于那些工作在没有图形用户界面(GUI)的系统的管理员来说,它是一个非常理想的工具。

2. nmcli语法

 nmcli <选项> <子命令> <操作>

nmcli 一共有 8 个子命令,每个子命令有一些相关的网络操作:

  • help 提供有关 nmcli 命令和使用方法的帮助信息

  • general 返回 NetworkManager 的状态和总体配置信息

  • networking 提供命令来查询某个网络连接的状态和启动、禁用连接的功能

  • radio 提供命令来查询某个 WiFi 网络连接的状态和启动、禁用连接的功能

  • monitor 提供命令来监控 NetworkManager 的活动并观察网络连接的状态改变

  • connection 提供命令来启用或禁用网络接口、添加新的连接、删除已有连接等功能

  • device 主要被用于更改与某个设备(例如接口名称)相关联的连接参数或者使用一个已有的连接来连接设备

  • secret 注册 nmcli 来作为一个 NetworkManager 的秘密代理,用以监听秘密信息。这个子命令很少会被用到,因为当连接到网络时,nmcli 会自动做这些事

3. 实例

connection管理连接

查看所有连接

 nmcli connection show

仅查看活跃连接

 nmcli connection show --active

创建连接default,IP地址通过DHCP自动获取

 nmcli connection add con-name default type ethernet ifname eth1

删除连接

 nmcli connection delete default

创建连接static,并指定静态IP地址

 nmcli connection add con-name static ifname eth1 /
 autoconnect no /
 type ethernet /
 ipv4.method manual /
 ipv4.addresses 192.168.1.2/24 /
 gw4 192.168.1.1

修改连接配置

 nmcli connection modify "static" ipv4.dns 8.8.8.8#为static连接添加dns地址
 nmcli connection modify "static" ipv4.addresses 192.168.1.10#修改static连接的IP地址

常用参数和网卡配置文件参数对应关系

nmcli con add/mod 网卡配置文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses IPADDR、PREFIX、GATEWAY
ipv4.dns DNS
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
ipv4.ignore-auto-dns yes 手动设置dns

device管理网卡

查看网卡信息

 nmcli device

查看网卡详细信息

 nmcli device show

激活或关闭网卡

 nmcli device connect eth1#激活网卡
 nmcli device disconnect eth1#关闭网卡

删除网卡(无法删除物理网卡)

 nmcli device delete virbr0

4. 使用nmcli配置bonding

 #查看网卡
 nmcli device
 #添加bonding接口
 nmcli connection add con-name bond0 type bond ifname bond0 mode 4
 #添加从属接口
 nmcli connection add type bond-slave ifname eth1 master bond0
 nmcli connection add type bond-slave ifname eth2 master bond0
 #修改bond0配置(也可直接修改配置文件)
 nmcli connection modify "bond0" /
 ipv4.method manual ipv4.addresses /
 192.168.1.2/24 /
 gw4 192.168.1.1 /
 ipv4.dns 114.114.114.114
 #重启网络服
 systemctl restart network