nmcli绑定device
时间: 2024-09-04 14:02:14 浏览: 89
nmcli (Network Manager command-line tool) 是 Network Manager 的一个命令行接口工具,用于管理和配置网络连接。如果你想要通过 nmcli 绑定一个设备(比如无线网卡或有线适配器),你可以使用以下步骤:
1. **获取设备信息**:首先,你需要了解设备的名称,可以使用 `nmcli device list` 命令查看已连接的设备列表,找到对应设备的 UUID 或名字。
```sh
$ nmcli device show <device_name_or_UUID>
```
2. **设置连接规则**:假设你想绑定一个Wi-Fi设备,可以使用 `nmcli connection add` 来创建一个新的连接规则,并指定该设备作为连接源。例如:
```sh
$ nmcli connection add type wifi con-name MyWiFiInterface ifname <interface_name> dev <device_name_or_UUID>
```
在这里,`con-name` 是连接的显示名称,`ifname` 是网络接口名,`dev` 是设备的UUID或名称。
3. **激活连接**:创建好规则后,使用 `nmcli connection up <connection_name>` 来启用该连接。
```sh
$ nmcli connection up MyWiFiInterface
```
相关问题
nmcli配置网络
### 使用nmcli配置网络连接的指南
`nmcli` 是一个用于控制 NetworkManager 和报告网络状态的强大命令行工具[^2]。它能够创建、显示、编辑、删除、激活和取消激活网络连接,同时还可以控制和显示网络设备的状态。以下是使用 `nmcli` 配置网络连接的详细指南。
#### 查看网络设备状态
通过以下命令可以查看所有网络设备的状态:
```bash
nmcli device status
```
此命令将列出当前系统中所有网络设备及其状态,例如是否已连接、设备类型等[^1]。
#### 创建新的网络连接
使用以下命令创建一个新的网络连接:
```bash
nmcli connection add type ethernet ifname eth0 con-name "MyConnection"
```
上述命令会创建一个名为 `MyConnection` 的以太网连接,并将其绑定到 `eth0` 网络接口[^4]。
#### 修改现有网络连接
如果需要修改现有的网络连接,可以使用以下命令:
```bash
nmcli connection modify "MyConnection" ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
```
此命令将为 `MyConnection` 设置静态 IP 地址、网关和 DNS 服务器,并指定 IPv4 方法为手动配置。
#### 激活网络连接
要激活某个特定的网络连接,可以运行以下命令:
```bash
nmcli connection up "MyConnection"
```
这将激活名为 `MyConnection` 的网络连接。如果成功,将返回类似以下的消息:
```
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
```
[^3]
#### 停用网络连接
如果需要停用某个网络连接,可以使用以下命令:
```bash
nmcli connection down "MyConnection"
```
#### 删除网络连接
若不再需要某个网络连接,可以通过以下命令删除它:
```bash
nmcli connection delete "MyConnection"
```
#### 查看网络连接详情
要查看某个网络连接的详细信息,可以运行以下命令:
```bash
nmcli connection show "MyConnection"
```
此命令将输出该连接的所有配置参数,包括 IP 地址、网关、DNS 等。
---
### 示例代码:完整流程
以下是一个完整的示例,展示如何使用 `nmcli` 创建并激活一个网络连接:
```bash
# 创建一个新的以太网连接
nmcli connection add type ethernet ifname eth0 con-name "TestConnection"
# 修改连接配置为静态IP
nmcli connection modify "TestConnection" ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
# 激活该连接
nmcli connection up "TestConnection"
# 查看连接状态
nmcli device status
```
---
nmcli bond0
### nmcli 命令中 Bond0 的配置使用方法
#### 1. 环境确认
在开始配置之前,需确保 `NetworkManager` 服务已启动并正常运行。通过以下命令验证:
```bash
systemctl status NetworkManager
```
如果服务未激活,则可通过以下命令启用并启动该服务:
```bash
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
```
还需检查网络管理器的状态是否正常:
```bash
nmcli general status
```
此操作可确保后续的配置能够被正确识别和应用[^3]。
---
#### 2. 创建 Bond 主接口 (bond0)
以下是创建名为 `bond0` 的主接口的具体命令,采用的是 **active-backup** 模式(即主备模式)。其他模式可根据需求调整,例如 balance-rr 或 broadcast 等。
```bash
nmcli con add type bond con-name bond0 ifname bond0 \
mode active-backup miimon=100 ipv4.method manual \
ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
```
上述命令解释如下:
- `type bond`: 表明这是一个绑定类型的连接。
- `con-name bond0`: 定义连接名称为 `bond0`。
- `ifname bond0`: 设置物理设备名或逻辑接口名为 `bond0`。
- `mode active-backup`: 设定工作模式为主备切换模式。
- `miimon=100`: 设置链路监测间隔时间为 100ms。
- `ipv4.method manual`: 手动指定 IPv4 地址分配方式。
- `ipv4.addresses 192.168.1.100/24`: 分配静态 IP 地址给 `bond0` 接口。
- `ipv4.gateway 192.168.1.1`: 设置默认网关地址。
---
#### 3. 添加 Slave 接口至 Bond 主接口
完成主接口创建后,需要将实际的物理网卡作为从属接口加入到 `bond0` 中。假设两块网卡分别为 `ens36` 和 `ens37`,则执行以下命令将其添加为 slave:
```bash
nmcli connection add type bond-slave ifname ens36 master bond0
nmcli connection add type bond-slave ifname ens37 master bond0
```
每条命令的作用分别是将 `ens36` 和 `ens37` 物理网卡设置成 `bond0` 的子接口,并由 `bond0` 进行统一管理和调度[^4]。
---
#### 4. 验证配置结果
为了确保配置成功,可以使用以下命令查看当前网络连接状态以及详细信息:
```bash
nmcli connection show
nmcli device show
```
这些命令会显示所有活动的网络连接及其关联关系,包括刚刚创建的 `bond0` 及其下属的 slave 接口。
---
#### 5. 删除 Bond 配置(可选)
如果不慎配置错误或者需要重新规划网络结构,也可以轻松删除现有的 Bond 配置。具体步骤如下:
1. 移除所有的 slave 接口:
```bash
nmcli connection delete bond-slave-ens36
nmcli connection delete bond-slave-ens37
```
2. 删除主接口 `bond0`:
```bash
nmcli connection delete bond0
```
以上命令即可完全清除之前的 Bond 配置。
---
### 总结
通过上述流程,可以实现基于 `nmcli` 工具的 Bond 网络配置,支持高可用性和负载均衡等功能。整个过程简单高效,适合快速部署复杂网络拓扑场景下的冗余机制[^2]。
---
阅读全文
相关推荐













