Bond网卡

一、Bond网卡

1.1 Bond网卡概述

Bond网卡是指使用 Linux 系统中的 Bonding 技术创建的虚拟网络接口。

Bonding 技术允许将多个物理网卡(也称为接口或端口)绑定在一起,形成一个虚拟的网络接口,以增加网络带宽、提高网络容错性和负载均衡能力。

在 Linux 中,可以使用工具如 ifenslaveifconfigip 等来配置和管理 Bonding 接口。

1.2 Linux网卡的绑定模式

  • mode=0 :load-balancing 负载均衡方式,两个网卡都工作,最简单常用

  • mode=1 :冗余模式,只有主工作,从监听,主挂了,从才工作

  • mode=2 :平衡策略,既能提供负载均衡,也有容错能力,冗余的升级版

  • mode=3 :网卡的广播策略,极少用

  • mode=4 :动态链聚合(连接交换即)

  • mode=5 :也是负载均衡模式,但是需要额外插件:ethtool支持每个slave的速率(定制模式,很少见)

  • mode=6 :适配器的负载均衡,也很少用

二、配置简单Bond网卡

要求:新增一个网络适配器到虚拟机,配置网卡,使虚拟机的两个网卡实现Bond网卡。

共用IP地址:20.0.0.30

实现:

  1. 新增网卡后,ifconfig查看新增网卡的设备名为ens36

  2. 对两个网卡的配置文件进行修改:ens33 ens36

    ens33

    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    #配置文件内容如下
    TYPE=Ethernet
    DEVICE=ens33	#当前设备名
    ONBOOT=yes
    BOOTPROTO=none	#不设置IP地址
    MASTER=bond0	#主设备为bond0
    SLAVE=yes		#从属于bond0
    USERCTL=no		#禁止普通用户启用/禁止设备

    ens36

    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens36 
    #配置文件内容如下
    TYPE=Ethernet
    DEVICE=ens36	#当前设备名
    ONBOOT=yes
    BOOTPROTO=none	#不设置IP地址
    MASTER=bond0	#主设备为bond0
    SLAVE=yes		#从属于bond0
    USERCTL=no		#禁止普通用户启用/禁止设备
  3. 创建并编辑虚拟网卡bond0

    BASH 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-bond0
    #配置文件内容如下
    TYPE=Ethernet
    DEVICE=bond0		#虚拟网卡设备bond0
    ONBOOT=yes
    BOOTPROTO=static	#静态IP地址
    IPADDR=20.0.0.30
    NETMASK=255.255.255.0
    GATEWAY=20.0.0.2
    DNS1=218.2.135.1
    BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

    最后一行的解释:绑定的模式和选项
    BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

  • miimon=100 :检查所有从设备的连接状态,100表示100ms,即每隔100ms检查从设备网卡的连接状态

  • mode=0 :绑定网卡的mode=0

  • fail_over_mac=1 :表示在故障切换时,备用接口会获取主接口的MAC地址,减少切换过程中可能出现的故障。如果计算机连接交换机,交换机不需要重新学习MAC地址。ens33,ens36都知道对方的MAC地址。

刷新bond配置,重启网卡

bash 复制代码
modprobe bonding 	#刷新bond配置
systemctl restart network

ifconfig查看网卡信息

可以看到:ens33ens36都没有IP地址,它们共用bond0的IP地址。

测试连通性、查看数据流向。

复制代码
tcpdump -i ens33
tcpdump -i ens36

可以看到两个网卡都有数据,实现简单的负载均衡。

tcpdump :Linux自带的抓包工具

-i :接设备名,抓取指定设备的数据包流量

也可以ifdown 关掉一个网卡,网络依然可以联通。

相关推荐
独小乐几秒前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
SPC的存折10 分钟前
2、Docker命令与镜像、容器管理
linux·运维·服务器·docker·容器·eureka
D4c-lovetrain14 分钟前
Linux个人心得26 (redis主从复制全流程,详细版)
linux·运维·服务器
晴天¥24 分钟前
达梦数据库共享存储集群搭建(DSC双节点+Openfiler-IP SAN存储)
linux·数据库·达梦数据库
吃着火锅x唱着歌27 分钟前
LeetCode 150.逆波兰表达式求值
linux·算法·leetcode
Bert.Cai27 分钟前
Linux whoami命令详解
linux·运维
x***r15136 分钟前
驱动精灵离线版使用指南:免联网快速安装驱动(万能网卡版)
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志44 分钟前
Linux GPIO子系统与中断驱动开发:从入门到实战(完整版)
linux·运维·驱动开发
青城山下————1 小时前
CentOS 7 安装 PostgreSQL 13(国内镜像 + 远程访问)完整实践教程
linux·postgresql·centos
青城山下————1 小时前
CentOS 7(3.10 内核)成功安装 MySQL 5.7 全流程实践(附问题总结)
linux·mysql·centos