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 关掉一个网卡,网络依然可以联通。

相关推荐
AlfredZhao5 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346611 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪12 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant