高级网络配置:Bond网络接口、Team网络接口和网桥

一、Bond网络接口

(一)概述

Bonding就是把多个物理网络接口绑定到一起,使它们就像一个网络接口那样运行。通过Bonding技术,可以实现网口冗余,负载均衡,从而达到高可用高可靠的目的。
那在传输数据包的时候,如何从已经绑定的接口中选择数据包传输的接口,是所有的接口都传输数据包(如mode=3),还是说从中选择一个或多个,怎么选择。
目前Bonding有7种mode:
0. mode=0 ,即:(balance-rr)Round-robin policy(平衡轮循环策略)
   特点:传输数据包顺序是依次传输(第一个包走第一个接口,第二个包走第二个接口……),;此模式下,同一连接/会话的数据包可能使用不同的接口进行传输(走不同的路由路径),到达目的地的数据可能是无序的, 而无序到达的数据包需要重新要求被发送,进而导致网络的吞吐量下降。
  此模式提供负载平衡和容错能力
1. mode=1,即: (active-backup)Active-backup policy(主-备份策略)
  特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N
  此模式只提供了容错能力
2. mode=2,即:(balance-xor)XOR policy(平衡策略)
  特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过xmit_hash_policy选项指定。在此策略下,同一会话的数据包会使用同一个接口传输。
  此模式提供负载平衡和容错能力
3. mode=3,即:broadcast(广播策略)
  特点:在每个slave接口上传输每个数据包,
  此模式提供了容错能力
(在这里只列举前四个,完整请参考文章最后博客链接)

(二)实验:Bond设置(以mode=1,即 (active-backup)Active-backup policy主-备份策略为例)

1、命令行方式设置

本次实验在虚拟机上进行,首先给虚拟机设置两块网卡(NIC)
在这里插入图片描述
真机输入virt-manager 打开窗口 -->选中要添加网卡的虚拟机desktop选上方的open -->在新窗口中选左下角的Add Hardware --> Network -->Device model 选virtio。改完以后左侧栏就会有网卡显示
在这里插入图片描述
运行虚拟机查看,可以看到有eth0,eth1两块网卡
在这里插入图片描述
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.135/24 ####添加bond0网络接口,为active-backup模式,ip为172.25.254.135
在这里插入图片描述
可以查看到多了一个bond0的接口。此时虚拟机仍然不能与其他用户通信,因为bond0只是一个虚拟的接口,还没有绑定真实的网卡。在这里插入图片描述
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 ###插入一个网卡eth0
在这里插入图片描述
此时虚拟机可以与局域网内的用户通信
cat /proc/net/bonding/bond0 #####查看bond0状态
在这里插入图片描述
可以看到当前工作的网卡为eth0
同样的方式再插入一个网卡eth1并查看状态
在这里插入图片描述
此时处于工作状态的仍然是eth0
接下来我们把eth0网卡宕掉,看会有什么变化
ifconfig eth0 down
在这里插入图片描述
可以看到eth1立即顶替eth0工作,而eth0状态变为down,体现出ifconfig eth0 down的工作方式,可以看出容错能力增强,但资源利用率较低,只有一个网卡处于工作状态
在这里插入图片描述
激活eth0网卡,它就会等待着,只要eth1宕掉,立马替换上去当主设备开始工作

2、配置文件方式设置

实验之前先清空之前所有网卡的网络配置
可以通过图形方式nm-connection-editor
或命令方式
nmcli connection delete +网络配置名称(可以按Tab键两次查看都有哪些网络配置)
在这里插入图片描述
进入/etc/sysconfig/network-scripts/下看有没有网络配置文件
在这里插入图片描述
或者通过ifconfig命令查看一下两块网卡有没有配置ip,两个都行
在这里插入图片描述
可以看到两块网卡eth0,eth1都没有ip,bond0也删除了
在该目录下编辑bond0配置文件
vim ifcfg-bond0 -->输入
DEVICE=bond0
TYPE=Bond
BONDING_OPTS=mode=active-backup
BONDING_MASTER=yes
IPADDR=172.25.254.135
PREFIX=24
ONBOOT=yes
BOOTPROTO=none

在这里插入图片描述
然后编辑eth0网卡的配置文件并重启网络查看
vim ifcfg-eth0 -->输入
DEVICE=eth0
SLAVE=yes
MASTER=bond0
ONBOOT=yes
BOOTPROTO=none

在这里插入图片描述
注意:这里有的时候systemctl restart network完了查看发现没有生效,可能是太慢,这个时候systemctl restart NetworkManager再查看就好。

同样的方式插入eth1网卡并重启查看
这里直接复制eth0的配置文件然后将文件里的DEVICE=eth0改为DEVICE=eth1即可
在这里插入图片描述
在这里插入图片描述
可以看到配置生效,可以ping通其他用户

二、Team网络接口

(一)概述

1、Team和bond功能类似
2、Team不需要手动加载相应内核模块
3、Team有更强的拓展性
4、支持8块网卡,而bond只支持2块网卡

(二)实验

1、命令方式设置

实验之前先清楚掉之前的网络配置,与之前一样。
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.254.135/24 ###设置一个Team0网络接口,模式为activebackup,ip为172.25.254.135
teamdctl team0 stat ####查看Team0状态
在这里插入图片描述
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 ####插入eth0网卡
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0 ####插入eth1网卡
在这里插入图片描述
可以看到eth0为活跃状态,是工作的主设备
在这里插入图片描述
可以看到将eth0宕掉再恢复后eth1 变为活跃状态,成为主设备
实验完毕后删除网络配置(这是命令方式,图形方式也可以nm-connection-editor)
在这里插入图片描述

2、配置文件方式设置

仍然是先删除网卡的网络配置
进入/etc/sysconfig/network-scripts/目录下
在这里插入图片描述
插入eth0网卡
在这里插入图片描述
插入eth1网卡
在这里插入图片描述
删除Team网络接口配置
在这里插入图片描述

三、网桥设置

(一)命令方式设置

本次实验在虚拟机上进行(实际上是真机上设置的)
brctl show ####查看网桥信息
brctl addbr br0 ####添加网桥br0
在这里插入图片描述
ifconfig br0 172.25.254.135/24 ####给网桥设置ip
在这里插入图片描述
此时仍然不能与其他用户通信
在这里插入图片描述
brctl addif br0 eth0 ####插入eth0网卡
在这里插入图片描述
可以看到插入网卡后可以与其他用户通信

删除br0网桥
brctl delif br0 eth0 ####删除网卡
ifconfig br0 down ####宕掉网桥
brctl delbr br0 ####删除网桥
在这里插入图片描述
在这里插入图片描述

(二)配置文件设置

主要有两个文件ifcfg-br0和ifcfg-enp1s0,把其他的网卡的网络配置、wifi信息也删除
[kiosk@foundation97 network-scripts]$ cat ifcfg-br0
TYPE=Bridge
DEVICE=br0
IPADDR=172.25.254.35
ONBOOT=yes
BOOTPROTO=none
PREFIX=24
[kiosk@foundation97 network-scripts]$ cat ifcfg-enp1s0
DEVICE=enp1s0
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
这两个文件编辑完毕重启就好

参考博客:
https://blog.csdn.net/windeal3203/article/details/49586035
https://www.cnblogs.com/wzzkaifa/p/6806843.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值