运维管理利器系列–nmcli命令讲解

  • A+
所属分类:linux技术
摘要

nmcli示例。CentOS / RHEL 7/8中的nmcli速查表。nmcli命令示例。nmcli con重新加载。nmcli帮助。使用nmcli添加以太网连接。Linux中的nmclic命令示例速查表。在Linux中使用nmcli添加绑定连接。使用nmcli添加和配置网络分组。nmcli命令速查表。使用nmcli配置networkmanager。nmcli示例。nmclic命令示例速查表。退出与nmcli的现有连接。nmcli命令示例。nmcli启用dhcp。man nmcli的例子。nmcli重命名连接。nmcli删除静态ipv4地址。nmcle备忘单。nmcli删除dns。

目录

nmcli示例。CentOS / RHEL 7/8中的nmcli速查表。nmcli命令示例。nmcli con重新加载。nmcli帮助。使用nmcli添加以太网连接。Linux中的nmclic命令示例速查表。在Linux中使用nmcli添加绑定连接。使用nmcli添加和配置网络分组。nmcli命令速查表。使用nmcli配置networkmanager。nmcli示例。nmclic命令示例速查表。退出与nmcli的现有连接。nmcli命令示例。nmcli启用dhcp。man nmcli的例子。nmcli重命名连接。nmcli删除静态ipv4地址。nmcle备忘单。nmcli删除dns。

了解nmcli

  • nmcli是用于控制NetworkManager和报告网络状态的命令行工具。
  • 它可以替代nm-applet或其他图形客户端。nmcli用于创建,显示,编辑,删除,激活和停用网络连接,以及控制和显示网络设备状态。
  • 连接存储在配置文件中
  • 必须运行NetworkManager服务才能管理这些文件

另请阅读:

16个ip命令示例,用于配置网络接口(备忘单)

nmcli命令语法简要清单

命令 目的
**nmcli dev status** 显示所有网络接口的网络管理器状态
**nmcli con show** 列出所有连接
**nmcli con show *name*** 列出连接名称的当前设置
**nmcli con add con-name *name* ..** 添加一个名为name的新连接
**nmcli con mod *name* ..** 修改连接名称
**nmcli con reload** 告诉networkManager重新读取配置文件(在手工编辑之后有用)
**nmcli con up *name*** 激活连接名称
**nmcli dev dis *dev*** 停用并断开网络接口开发人员上的当前连接
**nmcli con del *name*** 删除连接名称及其配置文件

1.检查NetworkManager是否正在运行

您可以使用以下命令检查NetworkManager是否正在运行

[root@cobbler-p-010200064008 ~]# nmcli -t -f RUNNING general running  

获得一般身份

[root@cobbler-p-010200064008 ~]# nmcli general STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN connected  full          enabled  enabled  enabled  enabled [root@cobbler-p-010200064008 ~]#  

2.列出所有可用的设备

查看和列出Linux系统上所有可用的设备

[root@cobbler-p-010200064008 ~]# nmcli dev status DEVICE      TYPE      STATE         CONNECTION br0         bridge    connected     Bridge br0 virbr0      bridge    connected     virbr0 bond0       bond      connected     bond0 eno49       ethernet  connected     System eno49 eno50       ethernet  connected     System eno50 vnet0       tun       connected     vnet0 ens2f0      ethernet  disconnected  -- ens2f1      ethernet  disconnected  -- lo          loopback  unmanaged     -- virbr0-nic  tun       unmanaged     -- [root@cobbler-p-010200064008 ~]#  

3.列出所有可用的连接

列出所有可用的连接

[root@cobbler-p-010200064008 ~]# nmcli con show NAME          UUID                                  TYPE      DEVICE Bridge br0    d2d68553-f97e-7549-7a26-b34a26f29318  bridge    br0 virbr0        19ec752e-976f-4c23-b236-deb684b9db07  bridge    virbr0 bond0         ad33d8b0-1f7b-cab9-9447-ba07f855b143  bond      bond0 System eno49  31fc52de-447b-46f6-33cf-1d4dbbcddef5  ethernet  eno49 System eno50  12e7087a-5ced-5405-d350-7726d3570bae  ethernet  eno50 vnet0         149dcea1-7c1f-439b-b4eb-b2f0ca31f0b4  tun       vnet0 ens2f0        98e575e9-2fcc-428f-bc02-1663f81402b9  ethernet  -- ens2f1        daa451f8-b227-4d91-95e4-48c8e46d002d  ethernet  -- [root@cobbler-p-010200064008 ~]#  

4.列出接口的所有配置

查看接口的所有配置值(默认和自定义)

[root@cobbler-p-010200064008 ~]# nmcli con show "System eno49" connection.id:                          System eno49 connection.uuid:                        31fc52de-447b-46f6-33cf-1d4dbbcddef5 connection.stable-id:                   -- connection.type:                        802-3-ethernet connection.interface-name:              eno49 connection.autoconnect:                 yes connection.autoconnect-priority:        0 connection.autoconnect-retries:         -1 (default) connection.multi-connect:               0 (default) connection.auth-retries:                -1 connection.timestamp:                   1606981056 connection.read-only:                   no connection.permissions:                 -- connection.zone:                        -- connection.master:                      bond0 connection.slave-type:                  bond connection.autoconnect-slaves:          -1 (default) connection.secondaries:                 -- connection.gateway-ping-timeout:        0 connection.metered:                     unknown connection.lldp:                        default connection.mdns:                        -1 (default) connection.llmnr:                       -1 (default)  

5.检查物理网络设备状态

现在所有连接网络设备的状态

[root@cobbler-p-010200064008 ~]# nmcli dev status DEVICE      TYPE      STATE         CONNECTION br0         bridge    connected     Bridge br0 virbr0      bridge    connected     virbr0 bond0       bond      connected     bond0 eno49       ethernet  connected     System eno49 eno50       ethernet  connected     System eno50 vnet0       tun       connected     vnet0 ens2f0      ethernet  disconnected  -- ens2f1      ethernet  disconnected  -- lo          loopback  unmanaged     -- virbr0-nic  tun       unmanaged     -- [root@cobbler-p-010200064008 ~]#  

6.使用nmcli更改主机名

理想情况hostnamectl下,您可以使用命令更改主机名,但也可以使用以下命令更新主机名nmcli

获取当前主机名

[root@cobbler-p-010200064008 ~]#  nmcli general hostname cobbler-p-010200064008.hz.td  

下一步更新主机名

#nmcli general hostname  centos-8.lianglab.com 

验证相同

#nmcli general hostname centos-8.lianglab.com  # hostname centos-8.lianglab.com 

7.创建一个新的以太网连接并分配静态IP地址

在此示例中nmcli,使用IPv4地址和网络前缀192.168.6.66/24以及默认网关静态配置eth2接口192.168.6.1 ,但仍会在
启动时自动连接并将其配置保存到/etc/sysconfig/network-scripts/ifcfg-ens2f0文件中。

#nmcli con add con-name ens2f0 type ethernet ifname ens2f0 ipv4.method manual ipv4.address 192.168.6.66/24 ipv4.gateway 192.168.6.1   ---执行要谨慎  连接'ens2f0'(460b16aa-e755-403e-b0ec-5e1560dcc441)已成功添加。 

8.创建一个新的以太网连接并分配DHCP IP地址

以下命令将为接口eth2添加一个新连接,该连接将使用DHCP获取IPv4网络信息,并在启动时自动连接。配置将被
保存,/etc/sysconfig/network-scripts/ifcfg-ens2f0因为con-nameens2f0

#nmcli con add con-name ens2f0 type ethernet ifname ens2f0 ipv4.method auto 连接'ens2f0'(d75cb87f-cd15-40a2-9c33-138e69a06a1f)已成功添加。 

我们可以在映射的接口配置文件中验证相同

#egrep BOOTPROTO /etc/sysconfig/network-scripts/ifcfg-ens2f0 BOOTPROTO = DHCP 

9.使用两个从属接口创建和配置绑定连接(活动备份)

您可以使用nmcli与多个从属接口创建绑定连接。

绑定模式有802.3ad / balance-alb / balance-tlb / broadcast / active-backup / balance-rr / balance-xor六种类型

删除从接口存在的任何配置文件

# nmcli con del "eth1" # nmcli con del "Wired connection 1" 

使用nmcli添加键接口。此命令添加主绑定连接,命名绑定接口mybond0并使用活动备份模式。我给了MIIUPDELAYDOWNDELAY一些虚拟值。如果您想使用“ primary=<ifname>”添加主界面

#nmcli con add type bond ifname mybond0 bond.options "mode=active-backup,downdelay=5,miimon=100,updelay=10" 已成功添加连接'bond-mybond0'(a5c76dbe-550b-4abf-8dc0-88184ade369e)。 

同样,对于循环绑定,您可以将bond.options用作“ downdelay=5,miimon=100,mode=balance-rr,updelay=10

接下来,添加mybond0使用nmcli的从站。此命令将第一个从站绑定到eth1接口

#nmcli con add type ethernet ifname eth1 master mybond0 已成功添加连接'bond-slave-eth1'(54dc4282-b90b-4469-9cbf-82bce042de85)。 

该命令将slave 2绑定到eth2接口

#nmcli con add type ethernet ifname eth2 master mybond0 已成功添加连接'bond-slave-eth2'(41a5b4a6-8e6b-4df9-bff2-b67c5328311a)。 

列出活动的连接。因此,我们与我们建立了绑定和从属接口。

[root@cobbler-p-010200064008 ~]# nmcli con show NAME          UUID                                  TYPE      DEVICE Bridge br0    d2d68553-f97e-7549-7a26-b34a26f29318  bridge    br0 virbr0        19ec752e-976f-4c23-b236-deb684b9db07  bridge    virbr0 bond0         ad33d8b0-1f7b-cab9-9447-ba07f855b143  bond      bond0 System eno49  31fc52de-447b-46f6-33cf-1d4dbbcddef5  ethernet  eno49 System eno50  12e7087a-5ced-5405-d350-7726d3570bae  ethernet  eno50 vnet0         149dcea1-7c1f-439b-b4eb-b2f0ca31f0b4  tun       vnet0 ens2f1        daa451f8-b227-4d91-95e4-48c8e46d002d  ethernet  --  

在这里,我使用nmcli将静态IP地址,netmask,网关,DNS和DNS搜索设置为mybond0

# nmcli con mod bond-mybond0 ipv4.method manual ipv4.address 10.10.10.8/24 ipv4.gateway 10.10.10.1 ipv4.dns 8.8.8.8 ipv4.dns-search example.com 

注意:

要使用DHCP IP,请使用ipv4.methodauto,并且在上述命令中不提供任何与IP地址相关的详细信息

验证您的mybond0配置文件

# egrep 'BOOTPROTO|IPADDR|PREFIX|GATEWAY|DNS' /etc/sysconfig/network-scripts/ifcfg-bond-mybond0 BOOTPROTO=none IPADDR=10.10.10.8 PREFIX=24 GATEWAY=10.10.10.1 DNS1=8.8.8.8 

刷新/重新加载mybond0的网络配置更改

# nmcli con up bond-mybond0 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/11) 

验证绑定IP地址

# ip addr show mybond0 7: mybond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000     link/ether 08:00:27:0d:ca:0c brd ff:ff:ff:ff:ff:ff     inet 10.10.10.8/24 brd 10.10.10.255 scope global noprefixroute mybond0        valid_lft forever preferred_lft forever 

验证可用连接列表

[root@cobbler-p-010200064008 ~]# nmcli con show --active NAME          UUID                                  TYPE      DEVICE Bridge br0    d2d68553-f97e-7549-7a26-b34a26f29318  bridge    br0 virbr0        19ec752e-976f-4c23-b236-deb684b9db07  bridge    virbr0 bond0         ad33d8b0-1f7b-cab9-9447-ba07f855b143  bond      bond0 System eno49  31fc52de-447b-46f6-33cf-1d4dbbcddef5  ethernet  eno49 System eno50  12e7087a-5ced-5405-d350-7726d3570bae  ethernet  eno50 vnet0         149dcea1-7c1f-439b-b4eb-b2f0ca31f0b4  tun       vnet0 [root@cobbler-p-010200064008 ~]#  

10.创建和配置网桥

11.创建和配置网络分组

12.使用nmcli重新加载连接(重新启动)

13.以交互方式添加/编辑连接

14.将以太网连接BOOTPROTO从DHCP更改为静态

15.将以太网连接BOOTPROTO从静态更改为DHCP

16.使用nmcli更改ONBOOT指令

17.更改DEFROUTE指令(切勿将此网络用作默认路由)

18.禁用用于以太网连接的IPv6地址(IPV6INIT)

19.更改“自动连接”指令

20.向现有连接添加或修改DNS

21.将单个/多个DNS服务器附加到连接

22.从连接中删除单个/多个DNS服务器

23.显示带有连接值的选定字段

24.监视连接和设备活动

25.激活连接

26.停用连接

27.删除连接