Linux下更高级的网络配置(网络桥接、bond及team网络接口的配置)

网卡的链路聚合是什么

网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。

网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。

bond(绑定)网络接口是什么

网卡bond的定义:

网卡bond(绑定),也称作网卡捆绑。就是将两个或者更多的物理网卡 绑定成一个虚拟网卡。

bonding是通过把多张网卡绑定为一个逻辑网卡,实现本地 网卡的冗余,带宽扩容和负载均衡,在应用部署中是一种常用的技术。

多网卡绑定实际上需要提供一个额外的软件的bond驱动程序实现。通过 驱动程序可以将多块网卡屏蔽。对TCP/IP协议层只存在一个Bond网卡,在 Bond程序中实现网络流量的负载均衡,即将一个网络请求重定位到不同的网 卡上,来提高总体网络的可用性。

网卡绑定的目的:

1.提高网卡的吞吐量。

2.增加带宽,提供冗余。

网卡bond的实现步骤

实验环境:server虚拟机
实验背景:server主机应该拥有至少两块网卡,没有的话手动添加。
实验步骤
1.添加网卡
2.nmcli connection show 查看已经存在的ip链接
3.nmcli connection delete xxxx1 xxx2 xx3 删除所有链接
4.nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.110/24 添加主备模式bond接口
在这里插入图片描述
5.打开一个shell watch -n 1 cat /proc/net/bonding/bond0 此完整目录只有在添加bond0之后才会出现
6.打开一个shell ping 172.25.254.2
7.ifconfig 查看
在这里插入图片描述
8.nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 添加网卡eth0
在这里插入图片描述
9.nmcli connection add eth1 ifname eth1 type bond-slave master bond0 添加网卡eth1
在这里插入图片描述在这里插入图片描述
10.ifconfig eth0 down 关闭eth0
在这里插入图片描述
11.ifconfig eth0 up
12.ifconfig eth1 down 关闭eth1

在这里插入图片描述补充:bond模式

bond模式:

(1)Mode=0(balance-rr) 表示负载分担round-robin,平衡轮询策略,具有负载平衡和容错功能 bond的网卡MAC为当前活动的网卡的MAC地址,需要交换机设置聚合模式,将多个网卡绑定为一条 链路。
(2)Mode=1(active-backup) 表示主备模式,具有容错功能,只有一块网卡是active,另外一块是 备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包 是丢弃的。 (3)Mode=2(balance-xor) 表示XOR Hash负载分担(异或平衡策略),具有负载平衡和容错功能 每个slave接口传输每个数据包和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)。
(4)Mode=3(broadcast) 表示所有包从所有interface发出,广播策略,具有容错能力,这个不均 衡,只有冗余机制…和交换机的聚合强制不协商方式配合。
(5)Mode=4(802.3ad) 表示支持802.3ad协议(IEEE802.3ad 动态链接聚合) 和交换机的聚合 LACP方式配合(需要xmit_hash_policy)。
(6)Mode=5(balance-tlb) 适配器传输负载均衡,并行发送,无法并行接收,解决了数据发送的瓶 颈。 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。
(7)Mode=6(balance-alb) 在5的tlb基础上增加了rlb。适配器负载均衡模式并行发送,并行接收 数据包

常用的有三种
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

team聚合

team,聚合连接(链路聚合),由多块网卡(team-slave)一起组建而成的虚拟网卡,即“组队”。

作用1:轮询式(roundrobin)的流量负载均衡 这是它和bond的不同之处,哪一块负载小,让哪块去工作.

作用2:热备份(activebackup)连接冗余
热备份配置 : {“runner”:{“name”:“activebackup”}}

网卡team的实现步骤

实验环境:server虚拟机
实验背景:server主机应该拥有至少两块网卡,没有的话手动添加。
实验步骤

将上一个实验所建立的链接删除
nmcli connection show
nmcli connection delete xxx1  xxx2

在这里插入图片描述

1.nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.210/24
#添加team0
2.ifconfig 查看

设置监控和测试
3.watch -n teamd ctl team0 state
4.ping 172.25.254.2

5.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 添加网卡
6.nmcli connection add con-name eth1 ifname eth1 type team-slave master team0 

测试:
ifconfig eth0 down 关闭eth0
ifconfig  eth0 up
ifconfig eth1 down 
 当把某个网卡down掉之后,另一块自动up 另一块顶替工作 实现无缝对接

1.在这里插入图片描述2.在这里插入图片描述在这里插入图片描述3.在这里插入图片描述4.在这里插入图片描述在这里插入图片描述5.在这里插入图片描述在这里插入图片描述
注意:
在做实验时 nmcli connection show 这里面的链接必须都是可用的,如果有错误的,则网络不会通畅
team实验本来应该设置轮循(轮到谁就是谁)但是实验效果不明显,在这里做了主备。

网络的桥接是什么

网络桥接用网络桥实现共享上网主机和客户机除了利用软件之外,还可以用系统自带的网络桥建立连接 用双网卡的机器做主机

例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题。

NAT和桥接的走向图

1.NAT走向图
在这里插入图片描述
2.桥接 Bridge走向图
在这里插入图片描述br0模式enp0s25 物理网卡上没有ip ip都在br0上

网络桥接的实现步骤

实验环境:真机

1.删掉真机的除了lo之外的ip配置文件
在这里插入图片描述2.编辑配置文件ifg-enp0s25,使得自己的主机拥有一个ip 可以上网
在这里插入图片描述
在这里插入图片描述接口名称取决于硬件的物理位置。 en 仅仅就是 “ethernet” 的意思,就像 “eth” 用于对应 eth0,一样。 p 是以太网卡的总线编号,s 是插槽编号

3.在真机设置桥接
在这里插入图片描述

3.当没有添加br0 桥接时,新建一个虚拟机与添加了桥接的做比对。
发现:
没有桥接的使用nat模式:
虚拟机和真机是寄生关系 虚拟机ssh某个主机时 ,那个真机显示的是真机ip在ssh它

br0模式:
br0 虚拟机和真机是平行关系 桥接 更稳定 速度快 因为直接连接,不需要经过地址转换

注意:
为了恢复真机的ip,用文件形式设置br0,这种效果是永久的。

网卡桥接的相关配置

实验环境:虚拟机server
添加网卡桥接

1.删除原有的ip链接
nmcli connection show
nmcli connection delete xxx

在这里插入图片描述

2.添加br0
brctl addbr br0
brctl show #显示桥接
ifconfig
ifconfig br0 172.25.254.110/24
ifconfig

在这里插入图片描述在这里插入图片描述

3.添加接口 真实网卡
brctl addif br0 eth0
brctl show

在这里插入图片描述

测试:
ping 172.25.254.2

删除桥接网卡:

1.停止 br0
ifconfig br0 down
2.删除br0
brctl delif br0 eth0  从eth0上把br0卸载下来
brctl show
brctl delbr br0 删除它br0
brctl show

在这里插入图片描述在这里插入图片描述
注意:
命令方式管理桥接 临时的 在虚拟机里
添加的接口 也就是真实的物理设备 是真实存在的 虚拟机是eth0 而不是enp0s25

对于桥接的理解
1.桥接主要用于虚拟化虚拟机
2.nat:装机后 获得的ip 不和真机处在同一个网段 192.168…

bridge:装虚拟机速度快 ping (数据交换)时速度快

3.虚拟机的网卡是软件模拟出来的,它是通过真机的网卡与外界进行数据交换的,真机的网卡受到真机内核的控制。

4.虚拟机也有内核。

5.虚拟机向外界发送数据时,先把自己的数据包给真机内核,在真机内核做了NAT地址转换 ,(不做的话分不清是虚拟机还是真机器的数据包)再从真机网卡出去。每一个数据包都要做NAT,会影响数据传输。

6.网桥是什么?
通俗的说就是让真机内核开个口,在虚拟机网卡和真机网卡之间架起一座桥梁,让它两直接通信。此桥梁就是桥接,br0。
因此,虚拟机传输出来的数据,并且它的ip,可以和真机对外开放的ip 在同一个网段。
7.桥接也是真机物理网卡上开放的接口。接口可以让虚拟机使用。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,bonding 是一种网络适配器绑定技术,可以将多个物理网络适配器(网卡)绑定成一个逻辑适配器,从而提高网络吞吐量和可靠性。在这里,我们假设您要配置一个 bond4 网络适配器。 以下是在 CentOS 7 操作系统中配置 bond4 的步骤: 1. 安装 bonding 模块 使用以下命令安装 bonding 模块: ``` yum install -y bonding ``` 2. 创建 ifcfg-bond4 文件 在 /etc/sysconfig/network-scripts 目录下创建 ifcfg-bond4 文件,并添加以下内容: ``` DEVICE=bond4 BOOTPROTO=none ONBOOT=yes NETMASK=255.255.255.0 IPADDR=<IP 地址> GATEWAY=<网关地址> BONDING_OPTS="mode=<模式>, miimon=100" ``` 其中,<IP 地址> 和 <网关地址> 分别为您需要分配给 bond4 的 IP 地址和网关地址,<模式> 为您选择的 bonding 模式,可以是以下其中之一: - balance-rr:负载均衡模式,数据包按照轮询方式发送到不同的物理网卡上; - active-backup:主备模式,一个物理网卡为活动状态,其他网卡为备份状态,当活动网卡失效时,备份网卡管工作; - balance-xor:异或模式,数据包按照一定规则发送到不同的物理网卡上,确保相同的数据包发送到相同的网卡上; - broadcast:广播模式,数据包广播到所有物理网卡上; - 802.3ad:链路聚合控制协议(LACP)模式,可以实现多个物理网卡的带宽叠加。 3. 创建 ifcfg-ethX 文件 在 /etc/sysconfig/network-scripts 目录下创建 ifcfg-ethX 文件(X 为物理网卡的编号),并添加以下内容: ``` DEVICE=ethX BOOTPROTO=none ONBOOT=yes MASTER=bond4 SLAVE=yes ``` 4. 重启网络服务 使用以下命令重启网络服务: ``` systemctl restart network ``` 5. 验证配置 使用以下命令验证 bond4 的配置是否生效: ``` cat /proc/net/bonding/bond4 ``` 如果输出类似以下内容,则说明配置成功: ``` Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: <模式> MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ethX MII Status: up Speed: <网卡速度> Duplex: <网卡双工模式> Link Failure Count: 0 Permanent HW addr: <网卡 MAC 地址> Slave queue ID: 0 Slave Interface: ethY MII Status: up Speed: <网卡速度> Duplex: <网卡双工模式> Link Failure Count: 0 Permanent HW addr: <网卡 MAC 地址> Slave queue ID: 0 ``` 其中,<模式>、<网卡速度>、<网卡双工模式>、<网卡 MAC 地址> 等值会根据您的配置而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值