Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux 实现双网卡绑定单个IP——bond篇

linux 实现双网卡绑定单个IP——bond篇

作者头像
小手冰凉
发布于 2020-08-28 01:58:31
发布于 2020-08-28 01:58:31
6.2K00
代码可运行
举报
文章被收录于专栏:小手冰凉小手冰凉
运行总次数:0
代码可运行

双网卡绑定单个IP 地址 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。 bond在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。

实现双网卡绑定的方法有两种: bond和team 这里先记下bond的绑定方法

bond支持的模式

共支持bond[0-6]共七种模式,常用的就三种,如下: mode=0:默认,平衡负载模式,有自动备援,但需要配置交换机。 mode=1:主备模式,其中一条线若断线,其他线路将会自动备援,不需要配置交换机。 mode=6:平衡负载模式,有自动备援,不需要配置交换机。 .

至于其他的模式,解释如下:

mode=2:选择网卡的序号=(源MAC地址 XOR 目标MAC地址) % Slave网卡(从网卡)的数量,其他的传输策略可以通过xmit_hash_policy配置项指定 mode=3:使用广播策略,数据包会被广播至所有Slave网卡进行传送 mode=4:使用动态链接聚合策略,启动时会创建一个聚合组,所有Slave网卡共享同样的速率和双工设定 但是,mode4有两个必要条件

  • 1.支持使用ethtool工具获取每个slave网卡的速率和双工设定;
  • 2.需要交换机支持IEEE 802.3ad 动态链路聚合(Dynamic link aggregation)模式 mode=5:基于每个slave网卡的速率选择传输网卡。必要条件:支持使用ethtool工具获取每个slave网卡的速率。

配置bond

网卡

bond1 IP

bond 模式

ens33、ens36

192.168.171.111

mode 1

注: ip地址配置在bond1 上,物理网卡无需配置IP地址

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#加载bonding模块,并确认已经加载
[root@web01 ~]# modprobe --first-time bonding
[root@web01 ~]# lsmod | grep bonding
bonding               141566  0 
#编辑bond1配置文件
[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-bond1 << EOF
> DEVICE=bond1
> TYPE=Bond
> IPADDR=192.168.171.111
> NETMASK=255.255.255.0
> GATEWAY=192.168.171.2
> DNS1=114.114.114.114
> DNS2=8.8.8.8
> USERCTL=no
> BOOTPROTO=none
> ONBOOT=yes
> EOF
#修改ens33配置文件
[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
> DEVICE=ens33
> TYPE=Ethernet
> ONBOOT=yes
> BOOTPROTO=none
> DEFROUTE=yes
> IPV4_FAILURE_FATAL=no
> NMAE=ens33
> MASTER=bond1               # 需要和上面的ifcfg-bond0配置文件中的DEVICE的值一致
> SLAVE=yes
> EOF
#修改ens36配置文件
[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-ens36 << EOF
> DEVICE=ens36
> TYPE=Ethernet
> ONBOOT=yes
> BOOTPROTO=none
> DEFROUTE=yes
> IPV4_FAILURE_FATAL=no
> NMAE=ens36
> MASTER=bond1
> SLAVE=yes
> EOF

# 配置bonding
[root@web01 ~]# cat >> /etc/modules-load.d/bonding.conf << EOF
> alias bond1 bonding
> options bonding mode=1 miimon=200           # 加载bonding模块,对外虚拟网络接口设备为 bond1
> EOF

#重启网卡使配置生效
[root@web01 ~]# systemctl restart network                  # 如果重启失败,则说明bond没配置成功

注:如果配置完毕后重启网卡服务一直启动失败,而且日志里面也检查不出错误来,可以关闭NetworkManager后再次重启网卡试试 重启网络后查看各个网卡的信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web01 ~]# ip a show ens33
2: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000
    link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff
[root@web01 ~]# ip a show ens36
3: ens36: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000
    link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff
[root@web01 ~]# ip a show bond1
7: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff
    inet 192.168.171.111/24 brd 192.168.171.255 scope global noprefixroute bond1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe9f:339f/64 scope link 
       valid_lft forever preferred_lft forever

查看bond1相关信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#查看bond1的接口状态
[root@web01 ~]# cat /proc/net/bonding/bond1               
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)            # 绑定模式
MII Status: up           # 接口状态
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens33              # 备用接口: ens33
MII Status: up               # 接口状态
Speed: 1000 Mbps                 # 端口速率
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:9f:33:9f              # 接口永久MAC地址
Slave queue ID: 0

Slave Interface: ens36           # 备用接口: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:9f:33:a9
Slave queue ID: 0

当做到这一步的时候,ens33或ens36中任意一块网卡down掉,都不会影响通信

注: 如果你是使用vmware workstaction虚拟机进行测试,请不要直接执行命令ifdown ens33ifdown ens36进行测试,这样因为虚拟机的原因测试不到效果,可以在网络适配器里将已连接√给取消掉

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux下多网卡绑定bond及模式介绍
主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现了本地网卡的冗余,带宽扩容以及负载均衡。
用户8705048
2021/06/08
8.1K0
linux 实现双网卡绑定单个IP——team篇
2、停止NetworkManager 什么是NetworkManager呢? NetworkManager服务是管理和监控网络设置的守护进程,CentOS7更加注重使用NetworkManager服务来实现网络的配置和管理,CentOS7以前是通过network服务管理网络,以后的版本所有网络管理和设置统一由NetworkManager服务来维护。它是一个动态的,事件驱动的网络管理服务。
小手冰凉
2020/08/28
3.3K0
linux中配置双网卡实现双网卡绑定,负载均衡
linux 主机安装双网卡,共享一个IP地址,对外提供访问,实际 同样 连接两条物理线路到交换机 实现平时 双网卡同时工作,分流网络压力,同时提供冗余备份,监控,防止物理线路的单点故障。
jwangkun
2021/12/23
11.3K0
linux中配置双网卡实现双网卡绑定,负载均衡
CentOS 7.4双网卡绑定实现高可用
一、用bond方式  (1)bond几种主要模式介绍 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降
星哥玩云
2022/07/25
2K0
Linux 多网卡的7种bond模式原理
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
用户6543014
2019/10/25
8.3K0
Linux网卡bond的七种模式详解
像Samba、Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式。
子润先生
2021/06/17
6.7K0
详解Linux双网卡绑定之bond0「建议收藏」
网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。
全栈程序员站长
2022/07/21
13.5K0
Linux下实现多网卡绑定详解
由于服务器上对于可用性的要求都比较高,对于各项功能都会有有冗余设计,比如,磁盘、电源、网卡、甚至服务器本身等等,今天尝试做一下网卡绑定实现网卡的冗余。
星哥玩云
2022/07/13
3.7K0
Centos7多网卡绑定bond快速实践
二、添加网卡 为虚拟机再添加两块网卡,查看网卡信息,可以看到有ens32、ens34、ens35三块网卡 ip addr
王忘杰
2022/09/22
1.2K0
Centos7多网卡绑定bond快速实践
Centos下添加静态路由(临时和永久有效)的操作记录
公司IDC机房服务器上部署了一套外网LB环境,默认配置的是外网ip的路由地址,由于要和其他内网机器通信,所以需要配置内网ip的路由地址。整个操作过程,记录如下,以供以后参考学习: 1)内网网卡绑定 [root@external-lb01 ~]# cd /etc/sysconfig/network-scripts/ [root@external-lb01 network-scripts]# cat ifcfg-em1 DEVICE=em1 HWADDR=80:18:44:EB:0F:F4 TYPE=Ethe
洗尽了浮华
2018/01/23
1.6K0
linux 聚合链路
聚合链路是将多块网卡逻辑地连接到一起从而允许故障转移或者提高吞吐率的方法。提高服务器网络可用性。
星哥玩云
2022/09/15
1.6K0
CentOS7.x下bonding的配置及删除
记一次ct7系列下网卡bonding的配置过程,centos6的bonding配置请参考centos6下bonding的配置 环境介绍: 操作系统 版本 内核 网卡名称 CentOSLinux release7.2.1511(Core) 3.10.0-327.el7.x86_64 eno33554960/eno50332184 1.备份网卡配置文件: [root@localhost ~]$ cd /etc/sysconfig/network-scripts/ [root@localhost netw
染指流年
2023/03/13
2.4K0
Linux 双网卡绑定
Linux 双网卡绑定 Linux 双网卡绑定 双网卡绑定的常用模式: mode1:active-backup 模式,即主备模式。 mode0:round-broin 模式,即负载均衡模式(需要交换机配置聚合口 cisco叫 port channel) 步骤: 1.创建bond0启动配置文件: 2:编辑网卡配置文件ifcfg-eth0,ifcfg-eth1 2.1:配置网卡一 2.2:配置网卡二 3:创建并配置modprobe.conf文件 4:设置开机启动 5:查看并测试 5.1:查看bond0信息 (/
程序员同行者
2018/06/22
30.8K1
CentOS6/CentOS7 双网卡配置bonding
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/79582944
shaonbean
2019/05/26
5.3K0
CentOS7中使用nmcli命令配置网卡绑定
[root@CentOS7 ~]# cd /etc/sysconfig/network-scripts/
yuanfan2012
2019/08/20
3.6K0
Linux 双网卡绑定实践
工作中主要以SUSE为主,网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的mode=1(active-backup)作为主备关系。
星哥玩云
2022/07/04
4.4K0
Linux 双网卡绑定实践
Linux下绑定网卡的操作记录
公司采购的服务器安装了双网卡,并进行bond网卡绑定设置,网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6。 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过
洗尽了浮华
2018/01/23
4.8K0
Linux下快速设定ip bond
    在计算机网路普及的初期,很多OS系统都使用的为单网卡方式,即一个网卡使用一个IP地址。随着网络要求的不断提高,我们可以对多个网卡进行绑定聚合当一个逻辑网络接口来使用,从而大幅提升服务器的网络吞吐(I/O),同时也可以根据不同的场景和需求来设置其绑定模式。本文简要描述一下其配置过程。
Leshami
2018/08/13
3.4K0
centos 7.0双网卡主备和负载均衡模式配置(bond0)
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,bond共有7中模式,mode 0-6,但是常用的模式有三种:
吾爱运维
2022/09/29
10.4K0
centos 7.0双网卡主备和负载均衡模式配置(bond0)
Linux下的双网卡绑定bond0 em1 em2
大家好,又见面了,我是你们的朋友全栈君。一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者 modinfo bonding modprobe bonding lsmod | grep ‘bonding’ echo ‘modprobe bonding &> /dev/null’ >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX make menuconfig 选择 ” Network device support ” -> ” Bonding driver support “ make bzImage make modules && make modules_install make install (2)编译ifenslave工具 gcc -Wall -O -I kernel-XXX/include ifenslave.c -o ifenslave 第二步:主要有两种可选择(第1种:实现网络负载均衡,第2种:实现网络冗余) 例1:实现网络冗余(即:mod=1方式,使用em1与em2) (1)编辑虚拟网络接口配置文件(bond0),并指定网卡IP vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.254 BROADCAST=192.168.0.255 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 USERCTL=no TYPE=Ethernet 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em2 DEVICE=em2 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 (2)编辑模块载入配置文
全栈程序员站长
2022/07/23
2.5K0
相关推荐
Linux下多网卡绑定bond及模式介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验