Linux链路聚合+网桥

 一、理论

1、链路聚合

网络组队(聚合链路)是一种以逻辑方式将NIC链接到一起,从而实现故障转移或更高吞吐量的方法。组队是一种新的实施方式,提供了更好的性能,并且由于其模块化设计,因此可扩展性更强。 NIC: network interface control 网络接口控制器

roundrobin: 以轮循询的模式传输所有端口的包;简单说就是两个网卡轮流收发信息;

activebakup: 主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输;简单说就是第一个网卡在工作时,第二个网卡就静默,当第一个网卡出现故障时,第二个网卡就接替第一个网卡的工作;

loadbalance: 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡;负载均衡

broadcast: 广播容错,设备通过所有端口传输数据包;

例:在web端和DNS端分别对网卡做了链路聚合,在WEB和DNS进行通讯时,WEB端正在工作的网卡出故障了,这时,网络组队中的另一个网卡就会迅速接替上一个网卡的工作继续对外通信

2、网桥

网桥是一个链路层设备,可基于MAC地址在网络中转发流量。网桥通过学习主机的MAC地址,构建MAC地址表,然后根据MAC地址表做出包转发决策。在Linux环境中使用软件网桥来仿真硬件网桥。软件网桥的最常见应用是在虚拟化应用程序中,用于在一个或多个虚拟NIC中共享一个硬件NIC。

MAC学习:学习MAC地址,它会关心每个收到或者发送的数据,关心数据包的来源MAC是从自己的哪个端口来的,然后慢慢的建立地址-端口的对照表(转发表)。

报文转发:每个发送一个数据包,它都会提取其目的MAC地址,从自己的地址-端口对照表(转发表)中查找应该由哪个端口把数据包发送出去,然后转发数据。

二、 链路聚合主备模式

环境:两台Rocky linux虚拟机,分别再添加两个网卡

1、创建组队

先将那两个网卡链接删除

nmcli connection delete Wired\ connection\ 1

2、创建team0逻辑组

nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'

3、team0添加网卡

先修改team0的IP信息

nmcli connection modify team0 ipv4.address 192.168.0.1/24 ipv4.method manual connection.autoconnect yes

添加网卡,将ens192和ens224都添加到team0逻辑组中

nmcli connection add con-name team0-ens192 ifname ens192 type team-slave master team0
nmcli connection add con-name team0-ens224 ifname ens224 type team-slave master team0

4、查看工作信息

激活一下team0

nmcli connection up team0

查看team0的IP信息 ip a

查看team0的状态信息

谁第一个添加进来谁就是运行网卡,剩下的就都是热备网卡

5、server2主机配置

先删除两个网卡链接

创建team0逻辑组并配置ipv4
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'
nmcli connection modify team0 ipv4.address 192.168.0.2/24 ipv4.method manual connection.autoconnect yes

添加网卡

将ens192和ens224添加到team0中

nmcli connection add con-name team0-ens192 ifname ens192 type team-slave master team0
nmcli connection add con-name team0-ens224 ifname ens224 type team-slave master team0

激活team0产看ip

6、模拟故障

我们ping一下server2的主机ip看能否ping通

当前server1工作的是ens192网卡,我们把它down掉

 查看team0工作状态,现在就变成ens224在工作了

这样一样可以通信

三、网桥实验

再次添加两个网卡

1、创建网桥

先删除两个网卡的链接

nmcli connection delete Wired\ connection\ 1

创建网桥

nmcli connection add con-name bridge0 ifname brigdge0 type bridge

给网桥设置ip

nmcli connection modify bridge0 ipv4.addresses 192.168.1.1/24 ipv4.method manual connection.autoconnect yes

将两个新建的网卡添加到网桥当中并将bridge0激活一下

nmcli connection add con-name bridge0-ens161 ifname ens161 type bridge-slave master brigdge0
nmcli connection add con-name bridge0-ens256 ifname ens256 type bridge-slave master brigdge0

查看bridge0的IP

最后重启一下网卡就能进行测试了

systemctl restart NetworkManager

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Linux 中,可以使用 `brctl` 命令行工具来实现网桥功能。`brctl` 命令行工具是 Bridge Control Utility,用于管理 Linux 操作系统中的网络桥接。 下面是创建和配置 Linux 网桥的步骤: 1. 安装 `bridge-utils` 包。 ``` sudo apt-get install bridge-utils ``` 2. 创建一个网络桥。 ``` sudo brctl addbr br0 ``` 3. 将物理网卡添加到网络桥中。 ``` sudo brctl addif br0 eth0 ``` 其中,`eth0` 是要添加到网络桥中的物理网卡。 4. 激活网络桥。 ``` sudo ifconfig br0 up ``` 5. 配置 IP 地址。 ``` sudo ifconfig br0 192.168.1.100 netmask 255.255.255.0 ``` 6. 配置默认网关。 ``` sudo route add default gw 192.168.1.1 br0 ``` 其中,`192.168.1.1` 是默认网关的 IP 地址。 通过以上步骤,可以创建并配置一个网络桥,从而实现 Linux 中的网桥功能。 ### 回答2: 在Linux中,可以通过使用Bridge工具实现网桥功能。下面是一种基本的实现方法。 首先,需要安装bridge-utils软件包,它包含了一些用于管理和配置Linux网桥的工具。 然后,需要创建一个网桥设备,可以使用以下命令: ``` sudo brctl addbr br0 ``` 这将创建一个名为br0的网桥设备。 接下来,将需要连接到网桥的物理接口添加到网桥上,可以使用以下命令: ``` sudo brctl addif br0 eth0 ``` 其中,eth0是要添加到网桥的物理接口名称。 要启用网桥设备,可以使用以下命令: ``` sudo ifconfig br0 up ``` 然后,需要将网桥设备配置为与主机相同的IP地址,并将其设置为默认网关。可以使用以下命令: ``` sudo ifconfig br0 <IP地址> netmask <子网掩码> sudo route add default gw <默认网关IP> ``` 其中,<IP地址>是与主机相同的IP地址,<子网掩码>是子网掩码,<默认网关IP>是默认网关的IP地址。 最后,还可以进行其他网络配置,如DNS设置等。 完成上述步骤后,网桥就配置完成了。现在,物理接口eth0就连接到了网桥br0上,而且整个系统中所有与网络相关的流量都将经过该网桥。 需要注意的是,实现网桥功能还可以通过在配置文件中进行相应的设置来完成。例如,在/etc/network/interfaces文件中添加以下配置: ``` auto br0 iface br0 inet static bridge_ports eth0 address <IP地址> netmask <子网掩码> gateway <默认网关IP> ``` 然后重启网络服务或重启系统,新的配置将生效。 这只是一种基本的实现网桥功能的方法,实际中还可以根据需求进行更多的配置和调整。 ### 回答3: 在Linux系统中,可以通过配置网络接口和网络桥接实现网桥功能。下面是一种实现网桥功能的常见方法: 1. 安装必要的软件包 首先,确保系统中安装了必要的软件包。常见的软件包有bridge-utils和iproute2。可以使用以下命令进行安装: ``` sudo apt-get install bridge-utils iproute2 ``` 2. 创建网桥 使用brctl命令可以创建一个新的网桥。例如,假设要创建一个名为br0的网桥,可以使用以下命令: ``` sudo brctl addbr br0 ``` 3. 将网络接口添加到网桥 将一个或多个网络接口添加到已创建的网桥中。假设要将eth0和eth1添加到br0网桥,可以使用以下命令: ``` sudo brctl addif br0 eth0 sudo brctl addif br0 eth1 ``` 4. 配置网络接口 将网桥网络接口配置为混杂模式(promiscuous mode),以便接收所有数据包。可以使用以下命令将eth0和eth1设置为混杂模式: ``` sudo ip link set eth0 promisc on sudo ip link set eth1 promisc on ``` 5. 启用网桥接口并启动网桥 使用以下命令启用网桥接口并启动网桥: ``` sudo ip link set br0 up sudo ifconfig br0 up ``` 现在,br0网桥已成功创建并且包含了eth0和eth1网络接口。数据包在这两个网络接口之间通过网桥进行转发。 注意:上述步骤只是一种常见的方法,具体的配置可能会因Linux发行版和版本而有所不同。在实际操作中,可以参考具体的Linux发行版的文档或网络资源进行配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值