nmcli命令详解
本文最后更新于 225 天前,其中的信息可能已经有所发展或是发生改变。

1. nmcli device介绍


`nmcli device`是NetworkManager命令行工具(nmcli)中的子命令,用于管理网络设备。NetworkManager是一个在许多Linux发行版中用于管理网络连接的守护程序。

`nmcli device`命令提供了有关网络设备的信息和操作。它可以用来列出系统中的网络设备、显示设备的状态、启用/禁用设备、配置设备的连接等。

以下是一些常用的`nmcli device`子命令和用法:

- `nmcli device show`:显示所有网络设备的详细信息,包括设备名称、类型、MAC地址、IP地址、连接状态等。
- `nmcli device status`:显示网络设备的简要状态信息,包括设备名称、设备类型、设备状态(已连接、已禁用等)。
- `nmcli device connect <设备名称>`:连接指定的网络设备。
- `nmcli device disconnect <设备名称>`:断开指定的网络设备的连接。
- `nmcli device wifi list`:列出可用的无线网络。
- `nmcli device wifi connect `:连接到指定的无线网络。
- `nmcli device wifi connect  password <密码>`:连接到需要密码的无线网络,并提供密码。
- `nmcli device wifi rescan`:重新扫描可用的无线网络。

这些命令可以通过在终端中输入`nmcli device help`来获取更多的帮助和详细的命令用法。

2. nmcli connectione 介绍

`nmcli conn`是NetworkManager命令行工具(nmcli)中的子命令,用于管理网络连接。NetworkManager是一个在许多Linux发行版中用于管理网络连接的守护程序。

`nmcli conn`命令用于创建、修改、删除和管理网络连接。它允许您列出系统中的所有连接、显示连接的详细信息、激活/禁用连接、添加/删除连接等。

以下是一些常用的`nmcli conn`子命令和用法:

- `nmcli conn show`:显示所有网络连接的详细信息,包括连接名称、连接类型、设备、IP配置等。
- `nmcli conn up <连接名称>`:激活指定的网络连接。
- `nmcli conn down <连接名称>`:禁用指定的网络连接。
- `nmcli conn add <连接类型> <连接配置>`:添加一个新的网络连接。
- `nmcli conn modify <连接名称> <连接配置>`:修改现有的网络连接。
- `nmcli conn delete <连接名称>`:删除指定的网络连接。

这些命令可以通过在终端中输入`nmcli conn help`来获取更多的帮助和详细的命令用法。

3. 网络管理

`nmcli` 命令默认使用 NetworkManager 来管理网络连接
同时使用传统接口配置文件和 NetworkManager 来管理网络连接可能会导致冲突。

传统接口配置文件(例如 `/etc/network/interfaces`)是用于手动配置网络接口的文件。当您使用传统接口配置文件时,NetworkManager 将不会管理相应的网络连接。这意味着,如果您在传统接口配置文件中手动配置了网络接口,NetworkManager 将不会对该接口进行任何管理操作,包括自动连接、DHCP、DNS 等。

如果您同时使用传统接口配置文件和 NetworkManager,可能会发生以下情况之一:

1. NetworkManager 忽略传统接口配置文件中的配置:NetworkManager 将不会加载或应用传统接口配置文件中的任何配置。这意味着您在传统接口配置文件中设置的固定IP等配置将不会生效。

2. NetworkManager 与传统接口配置文件中的配置发生冲突:如果传统接口配置文件中的配置与 NetworkManager 的配置冲突,可能会导致网络连接出现问题。例如,如果传统接口配置文件中设置了固定IP,而 NetworkManager 同时尝试使用 DHCP 分配IP地址,可能会导致冲突和连接问题。

为避免冲突,建议您在使用 NetworkManager 的情况下避免同时使用传统接口配置文件。如果您希望使用 NetworkManager 来管理网络连接,请使用 NetworkManager 提供的工具(如 nmcli)来配置和管理连接。如果您希望手动配置网络接口,请使用传统接口配置文件并禁用 NetworkManager。

NetworkManager网络配置文件路径:
NetworkManager 会将连接配置信息存储在 `/etc/NetworkManager/system-connections/` 目录中的单独文件中。每个连接都有一个对应的文件,其中包含了该连接的详细配置信息。

4. device 和connection区别

`nmcli conn up eth0`和`nmcli device conn eth0`是两个不同的命令,具有不同的功能和用途。

1. `nmcli conn up eth0`:这个命令用于启用(连接)指定的网络连接。`eth0`是网络连接的名称或UUID。它会尝试连接该网络连接并激活相关的网络设备。

2. `nmcli device conn eth0`:这个命令用于将指定的网络设备与一个网络连接关联起来。`eth0`是网络设备的名称或UUID。它不会直接连接或启用网络连接,而是将网络设备与网络连接关联起来,以便在需要时进行连接。

总结来说,`nmcli conn up eth0`用于连接网络,而`nmcli device conn eth0`用于将网络设备与网络连接关联起来。


`nmcli device`命令用于管理网络设备,它主要涉及到网卡硬件的配置和操作。通过`nmcli device`命令,您可以列出系统中的网络设备、显示设备的状态、启用/禁用设备、配置设备的连接等。

`nmcli conn`命令则是用于管理网络连接的命令。它涉及到的是网络连接的配置和操作,包括创建、删除、修改和连接网络连接。

总结:
- `nmcli device`命令用于管理网络设备,涉及到网卡硬件的配置和操作。
- `nmcli conn`命令用于管理网络连接,涉及到网络连接的配置和操作。

5. 更改connection 中name的名称

其实要修改的是 网络连接 的显示名称
有些情况下使用nmcli conn show 看到的是以下情况
修改命令:
要修改连接的名称(con-name),您可以使用`nmcli con modify`命令。以下是修改连接名称的示例命令:

nmcli con modify old-name con-name new-name

在上面的命令中,将"old-name"替换为要修改的连接的当前名称,将"new-name"替换为您想要修改为的新名称。

例如,如果要将连接名为"Wired connectione 1"的连接修改为"eth1",则可以使用以下命令:

nmcli conn mod Wired\ connection\ 1 con-name eth1 

请注意,修改连接名称可能需要管理员权限。如果命令执行成功,连接的名称将被修改为新的名称。
修改完成后如下图

6. con-name 和 ifname区别

ifname(interface-name)表示是硬件设备的名称即 device, 这个名称和ifconfig看到的网卡名称应该是一致的
con-name 表示的是 网络连接 的名称
nmcli conn show中显示的 NAME=con-name DEVICE=ifname

以下显示结果表示:
名为eth0的一个网络连接绑定在了硬件名为eth0的上面
NAME                UUID                                  TYPE      DEVICE 
eth0                690f2e83-809d-47b8-ac1e-d675deb1ca3b  ethernet  eth0 

===========================
GPT的解释:
在命令`nmcli conn add con-name eth0 ifname eth0 type ethernet`中,`con-name eth0`和`ifname eth0`分别表示以下内容:

- `con-name eth0`:`con-name`是`nmcli conn add`命令的选项,用于指定要创建的连接的名称。在这里,`eth0`是连接的名称,您可以根据需要自定义连接的名称。连接名称用来标识和识别不同的网络连接。

- `ifname eth0`:`ifname`是`nmcli conn add`命令的选项,用于指定连接要绑定的网络设备的名称。在这里,`eth0`是要绑定的网络设备的名称。`eth0`通常是用于表示第一个以太网接口的名称,您可以根据实际情况更改网络设备的名称。

综上所述,命令`nmcli conn add con-name eth0 ifname eth0 type ethernet`的作用是创建一个名为`eth0`的连接,并将其绑定到名为`eth0`的网络设备上。这将创建一个以太网类型的连接,并使用指定的名称将其关联到指定的网络设备。

7. 查看连接绑定了哪个网卡

8. 添加一个新的连接

新增一个名为zx-eth1的连接,并绑定在名为eth1的网卡上,类型为ethernet
nmcli conn add con-name zx-eth1 ifname eth1 type ethernet 

给zx-eth1的连接配置一个固定IP,并配置dns
1. 配置固定IP地址:

nmcli con modify zx-eth1 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1

2. 配置DNS服务器:
nmcli con modify zx-eth1 ipv4.dns 8.8.8.8

3. 应用更改:
nmcli con up zx-eth1   //这将使更改生效。

请注意,执行上述命令可能需要管理员权限。确保替换命令中的连接名称和IP地址为您实际使用的值。

9. ipv4.method字段解释

在 NetworkManager 的连接配置文件中,`ipv4.method` 字段用于指定 IPv4 地址的获取方式。它可以有以下几个取值:

1. `auto`:表示自动获取 IPv4 地址。这意味着 NetworkManager 将使用 DHCP 协议自动获取 IP 地址、子网掩码、网关和 DNS 服务器等网络配置信息。

2. `manual`:表示手动配置 IPv4 地址。这意味着您需要在连接配置中指定固定的 IP 地址、子网掩码、网关和 DNS 服务器等网络配置信息。

3. `link-local`:表示使用 IPv4 连接本地地址。这是一种特殊的自动配置方式,只适用于本地网络通信,不需要 DHCP 服务器。

4. `disabled`:表示禁用 IPv4。这意味着 NetworkManager 将不会为该连接配置 IPv4 地址。

默认情况下,`ipv4.method` 字段通常设置为 `auto`,以便使用 DHCP 自动获取 IPv4 地址。根据您的网络环境和需求,您可以根据需要修改该字段的值来选择不同的 IPv4 地址获取方式。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇