向网桥添加bond口及配置bond模式

本文介绍如何使用OVS命令行工具配置不同模式的网卡绑定,包括平衡负载模式(balance-slb)、平衡TCP模式(balance-tcp)及主备模式(active-backup),并展示了如何设置LACP为关闭或激活状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


balance-slb

ovs-vsctl --no-wait --may-exist add-bond br-data1 bond_0  eth1  eth2

ovs-vsctl --timeout=0 -- set port bond_0 bond_mode=balance-slb

ovs-vsctl --timeout=0 -- set port bond_0 lacp=off


balance-tcp,起用 lacp

ovs-vsctl --timeout=0 -- set port bond_0 bond_mode=balance-tcp

ovs-vsctl --timeout=0 -- set port bond_0 lacp=active


主备

ovs-vsctl --timeout=0 -- set port bond_0 bond_mode=active-backup

ovs-vsctl --timeout=0 -- set port bond_0 lacp=off

<think>我们正在配置systemd-networkd以支持以太网(Ethernet)、绑定(Bond)、VLAN和网桥(Bridge)。以下步骤将指导您完成配置过程。 ### 1. 配置以太网接 首先,为每个物理以太网接创建配置文件。假设我们有两个物理接`enp3s0f0`和`enp3s0f1`。 创建`/etc/systemd/network/enp3s0f0.network`: ```ini [Match] Name=enp3s0f0 [Network] # 将此接加入绑定(bond)或网桥(bridge),这里我们将在后续步骤中将其加入绑定 Bond=bond0 ``` 同样,创建`/etc/systemd/network/enp3s0f1.network`: ```ini [Match] Name=enp3s0f1 [Network] Bond=bond0 ``` ### 2. 配置绑定(Bond)接 接下来,创建一个绑定接bond0)来聚合两个物理接。创建`/etc/systemd/network/bond0.netdev`: ```ini [NetDev] Name=bond0 Kind=bond [Bond] Mode=active-backup # 可以根据需要选择其他模式,如balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb ``` 然后,为绑定接配置网络。创建`/etc/systemd/network/bond0.network`: ```ini [Match] Name=bond0 [Network] # 这里我们将在绑定接配置VLAN,所以不需要直接分配IP # 如果需要绑定接本身有IP,可以在这里配置,但通常我们在VLAN或网桥配置IP # 本例中,我们将绑定接作为VLAN的底层接,所以不直接配置IP VLAN=vlan10 VLAN=vlan20 VLAN=vlan30 ``` ### 3. 配置VLAN 现在,在绑定接bond0)上创建VLAN接。例如,创建VLAN10、VLAN20和VLAN30。 创建`/etc/systemd/network/vlan10.netdev`: ```ini [NetDev] Name=vlan10 Kind=vlan [VLAN] Id=10 ``` 同样,创建`vlan20.netdev`和`vlan30.netdev`,分别设置Id为20和30。 然后,为每个VLAN接配置网络。例如,为vlan10创建`/etc/systemd/network/vlan10.network`: ```ini [Match] Name=vlan10 [Network] # 将VLAN10加入网桥(如果需要),或者直接分配IP # 本例中,我们将VLAN10加入网桥br0 Bridge=br0 ``` 同样,配置其他VLAN的网络文件。注意:如果不需要网桥,可以直接在VLAN接配置IP地址。 ### 4. 配置网桥(Bridge) 最后,创建一个网桥(例如br0),并将VLAN接(或直接其他接)加入网桥。 创建`/etc/systemd/network/br0.netdev`: ```ini [NetDev] Name=br0 Kind=bridge ``` 然后,为网桥配置网络。创建`/etc/systemd/network/br0.network`: ```ini [Match] Name=br0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8 ``` 注意:在这个配置中,我们假设网桥br0将使用VLAN10(通过vlan10.network中指定`Bridge=br0`)作为其成员。您也可以将其他接(如物理接、绑定接或VLAN接)加入网桥,只需在相应接的`.network`文件中指定`Bridge=br0`。 ### 5. 重启systemd-networkd服务 配置完成后,重启服务以应用更改: ```bash sudo systemctl restart systemd-networkd ``` ### 验证配置 使用以下命令检查接状态: ```bash networkctl list ``` 查看网桥信息: ```bash bridge link ``` 查看VLAN配置: ```bash cat /proc/net/vlan/config ``` ### 注意事项 - 确保所有配置文件命名正确,且位于`/etc/systemd/network/`目录下。 - 配置文件中的接名称必须与实际接名称匹配。 - 如果使用DHCP,可以将`[Network]`部分中的`Address`替换为`DHCP=yes`。 以上步骤提供了一个基本的配置框架。根据实际网络需求,您可能需要调整IP地址、网关、DNS以及绑定模式等参数。 ### 引用说明 在配置绑定接时,我们使用了`active-backup`模式,这是一种常见的故障转移模式[^1]。另外,在配置VLAN时,我们通过单独的`.netdev`文件定义VLAN接,然后在对应的`.network`文件中将其加入网桥[^3]。systemd-networkd会自动处理接的启动顺序和依赖关系。 [^1]: 引用自用户提供的参考配置中的绑定模式说明。 [^3]: 引用自用户提供的参考配置中关于VLAN和网桥配置示例。 §§相关问题§§ 1. 如何为绑定接配置不同的负载均衡模式? 2. 在systemd-networkd中如何配置多个网桥? 3. 如何配置VLAN接的IP地址而不是将其加入网桥?</think>### 配置 systemd-networkd 实现以太网+绑定+VLAN+网桥 以下是完整的配置步骤,通过 systemd-networkd 实现以下拓扑: ``` 物理接 (enp3s0f0, enp3s0f1) → 绑定接 (bond0) → VLAN 接 (vlan10) → 网桥 (br0) ``` #### 1. **配置物理以太网接** 创建配置文件 `/etc/systemd/network/10-physical.network`: ```ini [Match] Name=enp3s0f0 enp3s0f1 # 物理网卡名称 [Network] Bond=bond0 # 加入绑定组 ``` #### 2. **创建绑定接 (Bond)** 创建配置文件 `/etc/systemd/network/20-bond.netdev`: ```ini [NetDev] Name=bond0 Kind=bond [Bond] Mode=802.3ad # 常用绑定模式 TransmitHashPolicy=layer3+4 MIIMonitorSec=1s ``` > 支持模式:`balance-rr`(轮询)、`active-backup`(主备)、`802.3ad`(LACP聚合)[^1] #### 3. **配置绑定接网络** 创建配置文件 `/etc/systemd/network/30-bond.network`: ```ini [Match] Name=bond0 [Network] VLAN=vlan10 # 指定承载的VLAN ``` #### 4. **创建 VLAN 接** 创建配置文件 `/etc/systemd/network/40-vlan10.netdev`: ```ini [NetDev] Name=vlan10 Kind=vlan [VLAN] Id=10 # VLAN ID ``` #### 5. **配置 VLAN 接网络** 创建配置文件 `/etc/systemd/network/50-vlan10.network`: ```ini [Match] Name=vlan10 [Network] Bridge=br0 # 加入网桥 ``` #### 6. **创建网桥 (Bridge)** 创建配置文件 `/etc/systemd/network/60-br0.netdev`: ```ini [NetDev] Name=br0 Kind=bridge ``` #### 7. **配置网桥网络** 创建配置文件 `/etc/systemd/network/70-br0.network`: ```ini [Match] Name=br0 [Network] Address=192.168.1.100/24 # 网桥IP Gateway=192.168.1.1 DNS=8.8.8.8 ``` #### 8. **启用并重启服务** ```bash sudo systemctl enable systemd-networkd sudo systemctl restart systemd-networkd ``` #### 9. **验证配置** ```bash # 查看接状态 networkctl list # 检查绑定状态 networkctl status bond0 # 查看VLAN配置 cat /proc/net/vlan/config # 检查网桥 bridge link show br0 ``` 输出应显示: ``` bond0: bond (802.3ad) [slaves: enp3s0f0, enp3s0f1] vlan10@bond0: vlan [id 10] br0: bridge [vlan10] ``` ### 关键配置说明 1. **绑定模式选择**: - `802.3ad`:需交换机支持LACP - `active-backup`:简单主备模式 - 使用`MIIMonitorSec`设置链路检测间隔 2. **VLAN隔离**: - 每个VLAN需要独立的`.netdev`文件 - VLAN ID在`[VLAN]`段定义 3. **网桥优势**: - 支持STP(需额外配置) - 可连接虚拟机/容器 - IP地址配置网桥而非物理接[^3] 4. **配置依赖顺序**: ```mermaid graph LR A[物理接] --> B[绑定接] B --> C[VLAN接] C --> D[网桥] ``` > 注意:所有配置文件需按数字前缀顺序加载,确保依赖关系正确[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值