nmcli slave-type
时间: 2025-06-11 21:10:00 浏览: 10
<think>我们正在处理关于nmcli命令中slave-type的用法的问题。根据用户的问题,他们想了解slave-type的用法、配置和示例。在Linux的网络配置中,nmcli是NetworkManager的命令行工具。slave-type通常用于绑定(bond)、团队(team)或桥接(bridge)等连接中,用来指定从属连接的类型。在绑定(bond)或团队(team)中,可以有多个从属接口(slaves),这些从属接口可以是物理接口(如以太网接口)或其他虚拟接口。常见的slave-type有:-对于绑定(bond)连接,从属类型可以是'bond',但通常我们是指定从属接口的类型,比如以太网(ethernet)或其他的。-更准确地说,在创建绑定或团队时,我们会在添加从属接口时指定slave-type。例如,当我们创建一个绑定时,我们会先创建绑定连接,然后将以太网接口作为从属加入到这个绑定连接中。此时,在添加从属连接时,需要指定slave-type为'bond'(如果是从属于绑定)或'team'(如果是从属于团队),但实际上,这个slave-type指的是从属连接所依附的主连接的类型。另一种情况是桥接(bridge),我们可以将接口作为从属添加到桥接中,此时slave-type就是'bridge'。注意:在nmcli中,从属连接是通过在创建连接时指定`master`和`slave-type`参数来实现的。示例步骤:1.首先,创建一个主连接(例如绑定或桥接)。2.然后,创建从属连接,并将它们关联到主连接,同时指定slave-type(即主连接的类型)。用户询问的是slave-type的用法,因此我们应该提供具体的示例命令。根据引用[3]中创建连接的格式,我们可以参考:nmcliconnectionaddcon-namehometypeethernetifnameeth1autoconnectyesip410.1.252.60/24gw410.1.0.254但是,这没有使用slave-type。所以我们需要展示如何创建一个作为从属的连接。具体步骤示例(以绑定为例):a.创建绑定主连接:nmcliconnectionaddtypebondcon-namemy-bondifnamebond0bond.options"mode=active-backup"ip4192.168.1.100/24b.将物理接口(比如eth1)作为从属添加到绑定连接中:nmcliconnectionaddtypeethernetcon-namebond-slave-eth1ifnameeth1mastermy-bondslave-typebond在第二步中,我们创建了一个类型为以太网的连接,但它是一个从属连接,所以指定了master(主连接的名称或UUID)和slave-type(主连接的类型,这里是bond)。同样,对于桥接:a.创建桥接主连接:nmcliconnectionaddtypebridgecon-namemy-bridgeifnamebr0ip4192.168.1.100/24b.添加从属接口(例如eth1)到桥接:nmcliconnectionaddtypeethernetcon-namebridge-slave-eth1ifnameeth1mastermy-bridgeslave-typebridge注意:slave-type的值必须是主连接的类型(如bond,team,bridge等)。另外,也可以使用modify命令将现有的连接修改为某个主连接的从属:nmcliconnectionmodify<从属连接名>master<主连接名>slave-type<主连接类型>但是,在修改现有连接时,要注意该连接可能是活动的,修改可能导致网络中断。因此,我们主要使用添加新从属连接的方式。总结一下用法:-在创建从属连接时,使用`nmcliconnectionadd`命令,并指定参数:master<主连接名称或UUID>slave-type<主连接的类型(bond,bridge,team等)>下面我们给出两个完整的示例。</think>
### nmcli 命令中 `slave-type` 的用法详解
在 NetworkManager 中,`slave-type` 用于定义**从属连接(Slave Connection)的类型**,主要应用于网络绑定(Bond)、桥接(Bridge)或团队(Team)等聚合场景,指示物理/虚拟接口如何作为主连接的从属设备工作。
#### 核心功能
1. **定义依赖关系**:指定从属接口如何关联主接口(如 bond、bridge)。
2. **配置聚合**:用于链路聚合(如 mode-6 负载均衡)或故障转移配置。
3. **关联设备**:将物理接口(如 `eth0`)绑定到虚拟主接口(如 `bond0`)。
---
### 配置语法及参数
```bash
nmcli connection add type [slave_type] con-name <连接名> ifname <接口名> master <主连接名> slave-type <类型>
```
- **`slave-type` 可选值**:
- `bond`(绑定聚合)
- `bridge`(桥接)
- `team`(团队设备,替代 bond)
- **关键参数**:
- `master`:指定主连接的名称或 UUID
- `ifname`:从属接口的物理名称(如 `eth1`)
- `con-name`:从属连接的逻辑名称(自定义)
---
### 示例场景
#### 1. 绑定(Bond)从属配置
将 `eth1` 添加为绑定主连接 `my-bond` 的从属接口:
```bash
# 创建绑定主连接
nmcli connection add type bond con-name my-bond ifname bond0 bond.options "mode=active-backup,miimon=100"
# 添加从属接口 eth1
nmcli connection add type ethernet con-name bond-slave-eth1 ifname eth1 master my-bond slave-type bond
```
> **参数说明**:
> - `slave-type bond`:声明从属类型为绑定
> - `master my-bond`:关联主连接 `my-bond`
> - `bond.options`:定义绑定模式(此处为主动备份)
#### 2. 桥接(Bridge)从属配置
将 `eth2` 添加为桥接主连接 `my-bridge` 的从属接口:
```bash
# 创建桥接主连接
nmcli connection add type bridge con-name my-bridge ifname br0 ipv4.method manual ipv4.addresses 192.168.1.10/24
# 添加从属接口 eth2
nmcli connection add type ethernet con-name bridge-slave-eth2 ifname eth2 master my-bridge slave-type bridge
```
#### 3. 修改现有连接为从属
将已有连接 `home-ethernet` 改为桥接从属:
```bash
nmcli connection modify home-ethernet master my-bridge slave-type bridge
nmcli connection up home-ethernet # 激活变更
```
---
### 关键注意事项
1. **依赖顺序**:
- 需先创建主连接(bond/bridge),再添加从属连接。
2. **状态验证**:
```bash
nmcli connection show --active # 查看活动连接
nmcli device status # 检查接口状态
```
> 从属接口状态应为 `connected (slave)`。
3. **移除从属**:
```bash
nmcli connection delete bond-slave-eth1 # 删除从属连接
```
---
### 故障排查
- **常见错误**:
- `Error: Connection master not found` → 主连接未创建或名称错误。
- `Error: slave-type is incompatible with master` → 类型不匹配(如 `slave-type=bridge` 但 `master` 是 bond)。
- **解决步骤**:
1. 确认主连接存在:`nmcli connection show`。
2. 检查 `slave-type` 与 `master` 类型一致。
> 官方文档建议:复杂聚合场景优先使用 `nm-connection-editor` 图形工具辅助配置[^1][^3]。
阅读全文
相关推荐


















