CentOS 7系统双网卡配置动态链路聚合(bond4)
一、应用场景
在机房建设时,服务器的网卡需要配置成bond4,可以使用我下面的配置文件和脚本来进行配置,简化配置流程。
bond4,即动态链路聚合,它可以将服务器上的两个物理网卡聚合为一个,两个网口逻辑成一个网口,配置一个ip地址,其中一个网口故障down掉,另一个网口仍然可以正常工作,起到一个冗余的作用,本文章只讲配置过程,大家可以搜索一下,深入学习一下链路聚合的知识。
服务器操作系统为:CentOS 7.9
CentOS 7.x应该是通用,其他LInux发行版可能需要进行调整,欢迎大家评论区交流学习。
二、详细配置
cat bond.sh
脚本中除了bond4配置外,还对服务器进行了一些简单的初始化操作,不需要可以注释掉
# 检查是否提供了 $1 参数
if [ -z "$1" ]; thenecho "错误: 你没有提供任何参数。"echo "用法: $0 <参数1>"exit 1
fi# 获取并打印 $1 的值
echo "IP is : $1"
cd /mnt/bound# 将网卡配置文件备份,将新的配置文件移动到/etc/sysconfig/network-scripts/下
ls /etc/sysconfig/network-scripts/
echo "___________________________"
mv /etc/sysconfig/network-scripts/ifcfg-ens13f0 /etc/sysconfig/network-scripts/ifcfg-ens13f0.bak
mv /etc/sysconfig/network-scripts/ifcfg-ens13f1 /etc/sysconfig/network-scripts/ifcfg-ens13f1.bak
cp ifcfg-ens13f0 /etc/sysconfig/network-scripts/ifcfg-ens13f0
cp ifcfg-ens13f1 /etc/sysconfig/network-scripts/ifcfg-ens13f1
cp ifcfg-bond4 /etc/sysconfig/network-scripts/ifcfg-bond4 sed -i "s/^IPADDR=.*/IPADDR=$1/" /etc/sysconfig/network-scripts/ifcfg-bond0
# 如果不想输入完整的ip地址,可以将上一行的sed命令注释,将下一行的sed的注释解开
#sed -i "s/\(IPADDR=[0-9]*\.[0-9]*\.[0-9]*\.\)[0-9]*/\1$1/" /etc/sysconfig/network-scripts/ifcfg-bond0
echo "stop fw & selinux" # 禁用selinux和防火墙
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
systemctl is-active firewalld# 修改root密码
echo "change passwd"
echo "mypass" | passwd --stdin root
echo# 重启网络服务,使配置生效
echo "restart network"
systemctl restart network
# 查看配置结果
echo
ip -4 a | grep bond -A 3
cat ifcfg-ens13f0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens13f0"
DEVICE=ens13f0 # 根据实际网卡名进行修改
MASTER=bond4
SLAVE=yes
ONBOOT=yes
cat ifcfg-ens13f1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens13f1"
DEVICE=ens13f1 # 根据实际网卡名进行修改
MASTER=bond4
SLAVE=yes
ONBOOT=yes
cat ifcfg-bond4
DEVICE=bond4
TYPE=bond
BONDING_MASTER=yes
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.3.101 # ip地址、掩码、网关修改为自己实际的ip地址、掩码、网关
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
BONDING_OPTS="mode=4 miimon=100"
三、脚本用法
将bond.sh、ifcfg-ens13f0、ifcfg-ens13f1、ifcfg-bond4放在同一目录下。
对于ifcfg-ens13f0、ifcfg-ens13f1:先确认自己的服务器原本的网卡配置文件名是否为ifcfg-ens13f0和ifcfg-ens13f1,请大家根据实际情况修改为自己服务器的网卡配置文件名,并注意修改DEVICE=的参数
对于ifcfg-bond4:根据实际情况修改ip地址、掩码和网关地址
然后执行脚本:sh bond.sh IP地址
举例,比如,我想配置ip地址为 192.168.3.15,那么我的脚本执行命令为:sh bond.sh 192.168.3.15
如果你的ip地址是个c类地址,你可以将我的bond.sh脚本中的sed命令进行更换,然后脚本执行的命令就简化为:sh bond.sh 15
四、配置验证
通过查看ip的命令可以看到bond的配置结果,此时会有一个名为bond4的网卡,看配置信息是否符合预期
ip a
通过以下命令可以查看bond的详细状态
cat /proc/net/bonding/bond4
相关文章:
CentOS 7系统双网卡配置动态链路聚合(bond4)
一、应用场景 在机房建设时,服务器的网卡需要配置成bond4,可以使用我下面的配置文件和脚本来进行配置,简化配置流程。 bond4,即动态链路聚合,它可以将服务器上的两个物理网卡聚合为一个,两个网口逻辑成一…...
ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录(失败记录)
ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录 这次是装实体机,一次失败的尝试。。。 名称型号CPUIntel Xeon E5-2673 V3GPURTX 3060 mobile 安装的时候不要选install third-party software for graphics and Wi-fi hardware and additional …...
【深度学习】神经网络-怎么理解DNN、CNN、RNN?
怎么分清DNN、RNN、CNN? 最“大”的概念是人工神经网络(Artificial Neural Network, ANN),它是较为广泛的术语,通常指的是一类模拟生物神经网络的数学模型,其中包括神经元、权重和连接。在这个术语下&#…...
组织应在其网络安全策略中考虑MLSecOps吗?
随着越来越多的组织拥抱人工智能 (AI) 和机器学习 (ML) 来优化操作并获得竞争优势,关于如何最好地保障这一强大技术的安全性的问题也日益受到关注。其中的核心是用于训练ML模型的数据,这对模型的行为和性能有着根本影响。因此,组织需要密切关…...
Windows安装HeidiSQL教程(图文)
一、软件简介 HeidiSQL是一款开源的数据库管理工具,主要用于管理MySQL、MariaDB、SQL Server、PostgreSQL和SQLite等数据库系统。它提供了直观的用户界面,使用户可以轻松地连接到数据库服务器、执行SQL查询、浏览和编辑数据、管理数据库结构等操作。 跨…...
存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)
我们知道,在处理大量高并发网络时,一般考虑并发,以及设计对应的方案(比如select,poll,epoll)等。 那么如果频繁进行文件或者磁盘的操作,如何考虑性能和并发,这里就可以考虑用到io_uring。 0&a…...
前端HTML+CSS+JS的入门学习
一.HTML HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页和网页应用程序的标准标记语言。它不是一种编程语言,而是一种标记语言,通过一系列的元素(elements)来告诉浏览器如何…...
通信电路和信道的区别与联系
通信电路和信道的区别 区分通信电路和信道主要在于理解它们的功能范围与作用机制。通信电路侧重于信息的处理和信号的调整,而信道更侧重于信号的实际传输。电路可以视为信道的接入点,但它们的设计和优化考量各不相同。例如,电路设计重视的传…...
基于深度学习的蛋白质结构预测
基于深度学习的蛋白质结构预测是利用深度学习模型来预测蛋白质的三维结构,这在生物学和药物研发领域具有重要意义。蛋白质的功能在很大程度上取决于其三维结构,准确预测蛋白质结构可以帮助科学家理解蛋白质的功能和相互作用,并加速药物发现的…...
基于 Redis 的分布式锁实现原理及步骤
实现分布式锁的目的是在分布式系统中,保证多个节点之间对共享资源的并发访问是互斥的。常用的分布式锁实现方式有以下几种:基于数据库、基于 Redis、基于 Zookeeper。下面详细介绍基于 Redis 的分布式锁实现原理及步骤。 一、Redis 分布式锁原理 唯一性…...
21_动态规划与数据结构结合
菜鸟:老鸟,我最近在处理一个数据操作时遇到了性能问题。我需要计算一个数组中某些子数组的和,但直接计算太慢了,有没有什么更高效的方法? 老鸟:你提到的这个问题其实可以通过动态规划结合数据结构来解决。…...
React与Vue的对比
异同总结 相同点: 都有组件化思想 都支持服务器端渲染 都有Virtual DOM(虚拟dom) 数据驱动视图 都有支持native的方案:Vue的weex、React的React native 都有自己的构建工具:Vue的vue-cli、React的Create React A…...
精密量测软件(仿KLA免费浏览器程序ProfilmOnline)
KLA在线软件分析图 软件仿KLA公司免费浏览器软件ProfilmOnline,软件地址ProfilmOnline - 用于3D轮廓仪和AFM的表面成像、分析和测量软件 可以直接从profilmonline上下载3D图加载对比分析,当前已完成的内容有 1、调平 2、尖峰去噪 3、能量密度图&…...
Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)
一、项目简介 本项目是一套基于SpringBootmybatismaven实现的IT技术交流和分享平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美…...
STL02——手写简单版本的list
手写一个简单版本的list 设计一个名为 List 的 List 类,该类具有以下功能和特性: 1、基础成员函数 构造函数:初始化 List 实例析构函数:清理资源,确保无内存泄露 2、核心功能 在 List 末尾添加元素在 List 开头添…...
基于SpringBoot的校园自助洗衣服务管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的校园自助洗衣服务…...
音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件
在文章《音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放》中讲述了生成PCM文件的方法。通过FFmpeg命令可以把该PCM文件转为AAC裸流文件: ./ffmpeg -f s16le -ar 44100 -ac 2 -i audio1.pcm audio1.aac 由于…...
第 6 篇 自定义 Helm Chart
文章目录 第 1 步:创建 chartChart.yamlvalues.yamltemplates 模板文件_helpers.tpl 模板辅助文件serviceaccount.yamlservice.yamldeployment.yamlhpa.yamlingress.yamlNOTES.txttests/test-connection.yaml 第 2 步:检查 chart 格式第 3 步:…...
Jenkis部署vue前端项目提示:sh: vue-cli-service: command not found
解决方法: 1. 进入到/var/lib/jenkins/workspace/项目名下,查看是否有node_modules,如果没有执行 npm install 2. 如果执行npm intall的过程中提示:npm ERR! 407 Proxy Authentication Required - GET http://registry.npm.taob…...
中介者模式mediator
学习笔记,原文链接 https://refactoringguru.cn/design-patterns/mediator 减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
OPENCV图形计算面积、弧长API讲解(1)
一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积,这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能,常用的API…...
P10909 [蓝桥杯 2024 国 B] 立定跳远
# P10909 [蓝桥杯 2024 国 B] 立定跳远 ## 题目描述 在运动会上,小明从数轴的原点开始向正方向立定跳远。项目设置了 $n$ 个检查点 $a_1, a_2, \cdots , a_n$ 且 $a_i \ge a_{i−1} > 0$。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时࿰…...
