IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux虚拟网卡bond网络模式 -> 正文阅读

[系统运维]linux虚拟网卡bond网络模式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、bonding简述

双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性。

现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持)。

1. bonding原理

网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进行处理。

2. Bonding模式(bonding mode)

1.轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能力

2.主备策略(active-backup),mode=1,只有主网卡处于工作状态,备网卡处于备用状态,主网卡坏掉后备网卡开始工作,提供容错能力

3.异或策略(load balancing (xor)),mode=2,根据源MAC地址和目的MAC地址进行异或计算的结果来选择传输设备,提供负载均衡和容错能力

4.广播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接口通过全部设备来传输所有数据,一个报文会复制两份通过bond下的两个网卡分别发送出去,提供高容错能力

5.动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合自动配置来共享相同的传输速度,网卡带宽最高可以翻倍,链路聚合控制协议(LACP)自动通知交换机聚合哪些端口,需要交换机支持 802.3ad协议,提供容错能力

6.输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输入数据时则只选定其中一块网卡接收,需要网卡和驱动支持ethtool命令

7.输入/输出负载均衡模式(adaptive load balancing),mode=6,输入和输出都实现负载均衡,需要网卡和驱动支持ethtool命令

二、网卡配置文件的配置

1. 配置环境

环境:系统CentOS 7 ,至少两块物理网卡(VMware上添加eth0,eth1)

2 .需要添加或修改的配置文件有5个(mode=1)

这5个配置文件是:

/etc/sysconfig/network-scripts/ifcfg-ens3{3,7}
/etc/sysconfig/network-scripts/ifcfg-bond0  #需要手动创建
/etc/modprobe.d/dist.conf                   #需要手动创建
/etc/rc.local

3/etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加

提示:先备份好ens33和ens37,再修改这几个文件

[root@mwy ~]# systemctl stop NetworkManager
[root@mwy ~]# systemctl disable NetworkManager

4.修改/etc/modprobe.d/dist.conf文件

在此文件中添加以下内容:

[root@wy ~]# cat /etc/modprobe.d/dist.conf 
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=ens33

alias bond0 bonding,表示系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0

? miimon=100,表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线

? mode=1,表示绑定模式为1

? primary=eth0,系统首先eth0作为bond0接口与外界信息的传输接口

5.修改配置文件/etc/rc.local

在此文件中添加以下内容:

[root@wy ~]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
#bondind ens33 &ens37 to bond0
modprobe bonding miimon=100 mode=1

6. 重启网络(systemctl restart network),并查看三个接口的mac地址

使用ifconfig命令显示,bond0,ens33,ens37物理地址相同,提示三个网卡均通过一个ip主机端口与外界通信

ifconfig查看

在mode=1的情况下,当前bond0采用eth0通信,查看实际物理网卡地址

cat /proc/net/bonding/bond0

7.验证网络的连通性

[root@wy ~]# ping www.baidu.com -c 6

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:20:33  更:2022-07-20 19:21:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:50:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码