Linux中聚合链路与软件网桥配置指南
Linux中聚合链路与软件网桥配置指南
一、聚合链路(Team)概述
-
定义
- 通过逻辑方式将多个物理网卡(NIC)链接到一起绑定为单一逻辑接口,实现故障转移或提升吞吐量
- 优点:模块化设计、高可扩展性、更好的性能
-
工作模式
模式 功能说明 roundrobin
轮询调度:以轮询的模式传输所有端口的包 activebackup
主备模式:是一个故障迁移程序,监控链接更改并选择活动的端口进行传输 loadbalance
负载均衡:监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡 broadcast
广播容错:设备通过所有端口传输数据包
二、配置链路聚合(以主备activebackup为例)
-
添加网卡:
添加网卡后,删除网络连接的配置文件
nmcli connection show nmcli connection delete Wired\ connection\ 1 nmcli connection delete Wired\ connection\ 2
-
创建组接口:
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}'
-
为组接口手动配置IP:
nmcli connection modify team0 ipv4.addresses 192.168.200.10/24 ipv4.method manual connection.autoconnect yes
-
分配端口接口:
将ens36、ens37网络接口加入到team0中
nmcli connection add con-name team0-ens36 ifname ens36 type team-slave master team0 nmcli connection add con-name team0-ens37 ifname ens37 type team-slave master team0
-
激活team0组接口:
此时已经配置好了聚合链路,但是还是建议重启一下网卡服务
nmcli connection up team0 systemctl restart network
查看网络连接的配置
-
查看IP:
ip a
-
查看team0组队的状态:
teamdctl team0 state
按照加入组的顺序决定
-
按照同样的顺序配置
server2
:略
-
测试:
在server1上ping server2的team0组接口的IP192.168.200.20,能ping通
ping 192.168.200.20
三、软件网桥(Bridge)概述
-
定义:
- 网桥是一个链路层设备,可基于MAC地址在网络中转发流量
- 在Linux 环境中使用软件网桥来仿真硬件网桥
-
核心功能:
- MAC地址学习:记录数据包来源MAC与端口的映射关系,构建转发表
- 报文转发:基于转发表将数据包从目标MAC对应的端口转发
四、配置软件网桥
-
添加网卡:
添加网卡后,删除网络连接的配置文件
nmcli connection show nmcli connection delete Wired\ connection\ 1 nmcli connection delete Wired\ connection\ 2
-
创建软件网桥:
nmcli connection add con-name bridge0 ifname bridge0 type bridge
-
给软件网桥分配静态IP地址:
nmcli connection modify bridge0 ipv4.addresses 192.168.200.10/24 ipv4.method manual connection.autoconnect yes
-
将ens36、ens37网络接口连接至软件网桥bridge0上:
nmcli connection add con-name bridge0-ens36 ifname ens36 type bridge-slave master bridge0 nmcli connection add con-name bridge0-ens37 ifname ens37 type bridge-slave master bridge0
-
激活bridge0软件网桥设备连接:
nmcli connection up bridge0 systemctl restart network
-
查看IP:
ip a
-
查看bridge0的状态:
brctl show
使用
STP
(生成树)进行选举 -
按照同样的顺序配置
server2
:略
-
测试:
在server1上ping server2的team0组接口的IP192.168.200.20,能ping通
ping 192.168.200.20