Ubuntu 20.04 24.04 双网卡 Bond 配置指南

前言:在现代服务器管理中,网络的稳定性和可靠性至关重要。为了提高网络的冗余性和负载能力,我们经常需要配置多个网络接口以实现链路聚合或故障转移。Ubuntu系统自17.10版本起,引入了Netplan作为新的网络配置抽象化工具,它提供了一种简洁的YAML文件格式来管理网络配置。本指南旨在为Ubuntu 20.04和24.04用户提供一个详细的步骤说明,帮助您通过Netplan配置bonding(链路聚合)以及设置故障转移模式,确保网络的高可用性。

在本指南中,我们将从备份原始网络配置文件开始,逐步引导您编辑Netplan配置文件,应用新的网络设置,并验证配置的正确性。无论您是网络管理员还是系统管理员,本指南都将为您提供必要的知识和工具,以便您能够自信地管理Ubuntu服务器的网络配置。请按照以下步骤操作,确保在进行任何更改之前都已经理解每个命令的作用,并准备好应对可能出现的问题。让我们开始吧!

第一步:先将原网卡备份

路径:sudo cp etc/netplan/50-cloud-init.yaml etc/netplan/50-cloud-init.yaml.bak

第二步:打开配置文件

命令:sudo -i #输入普通用户的密码切到root
命令:sudo vim /etc/netplan/50-cloud-init.yaml

第三步:Ubuntu24.04系统添加以下配置(步骤可选,根据自己具体的系统版本来)

network:version: 2renderer: networkdethernets:ens18f1np0:dhcp4: no  # 这里指定是否为静态ip,no为静态,您需要根据实际情况选择合适的模式ens20f1np0:dhcp4: no  # 这里指定是否为静态ip,no为静态,您需要根据实际情况选择合适的模式bonds:bond0:interfaces: [ens18f1np0, ens20f1np0]parameters:mode: active-backup   # 这里指定了绑定模式(主备),您需要根据实际情况选择合适的模式primary: ens18f1np0   # 主接口addresses:- 10.10.10.8/24       # 静态IP地址routes:- to: 0.0.0.0/0via: 10.10.10.2     # 网关type: unicastnameservers:addresses: [8.8.8.8, 8.8.4.4]

第三步:Ubuntu20.04系统添加以下配置(步骤可选,根据自己具体的系统版本来)

network:version: 2renderer: networkdethernets:ens18f1np0:dhcp4: no   # 这里指定是否为静态ip,no为静态,您需要根据实际情况选择合适的模式ens20f1np0:dhcp4: no   # 这里指定是否为静态ip,no为静态,您需要根据实际情况选择合适的模式bonds:bond0:interfaces: [ens18f1np0, ens20f1np0]parameters:mode: active-backup           # 这里指定了绑定模式(主备),您需要根据实际情况选择合适的模式primary: ens18f1np0           # 主接口addresses:- 10.10.10.8/24               # 静态IP地址gateway4: 10.10.10.2            # 网关nameservers:addresses: [8.8.8.8, 8.8.4.4]

注意以上步骤不可用串系统,否则虽能生效但是会报以下错误,如24.04系统用20.04系统的配置:

第四步:重启网络

命令:netplan apply

根据您提供的信息,以下是查看网卡信息是否正常、查看bond0状态、验证主备以及用nload查看各网卡流量的具体命令和步骤:

第五步:查看网卡信息是否正常

  1. 使用ifconfig查看网卡信息

    ifconfig
    

    或者使用ip命令:

    ip a
    
  2. 检查bond0是否已经创建并且配置了正确的IP地址

    ifconfig bond0
    

    或者使用ip命令:

    ip a show bond0
    

第六步:查看bond0状态

  1. 查看bond0的详细信息
    cat /proc/net/bonding/bond0
    
    这个命令会显示bond0的详细信息,包括模式、主备状态、MII状态等。

第七步:验证主备

  1. 验证主备状态
    通过查看/proc/net/bonding/bond0文件,您可以检查Active字段,它会显示当前活动的接口,即主接口。

  2. 模拟主接口故障
    您可以通过关闭主接口来模拟故障,检查备用接口是否接管:

    sudo ip link set ens18f1np0 down
    

    然后再次查看/proc/net/bonding/bond0文件,检查Active字段是否显示为备用接口ens20f1np0

  3. 恢复主接口
    模拟故障后,记得恢复主接口:

    sudo ip link set ens18f1np0 up
    

第八步:用nload查看各网卡流量

  1. 安装nload
    如果系统中没有安装nload,可以通过以下命令安装:

    sudo apt-get update
    sudo apt-get install nload
    
  2. 使用nload查看流量
    启动nload查看所有网卡流量:

    nload
    

    或者,您可以通过指定网卡名称来查看特定网卡的流量:

    nload ens18f1np0 ens20f1np0 bond0
    

请注意,nload可能需要超级用户权限才能显示所有网卡的流量,如果遇到权限问题,可以尝试使用sudo运行nload。

以上步骤可以帮助您检查网络配置是否正确,bond0的状态,以及主备接口的工作情况,并通过nload实时监控网卡流量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCR实践—PaddleOCR

有个项目需求,对拍摄的问卷图片,进行自动得分统计【得分是在相应的分数下面打对号】,输出到excel文件 原始问卷文件见下图,真实的图片因使用手机拍摄的图片,存在一定的畸变, 技术调研 传统方法 传统方法…

ubuntu+ros新手笔记(五):初探anaconda+cuda+pytorch

深度学习三件套:初探anacondacudapytorch 系统ubuntu22.04 ros2 humble 1.初探anaconda 1.1 安装 安装过程参照【详细】Ubuntu 下安装 Anaconda 1.2 创建和删除环境 创建新环境 conda create -n your_env_name pythonx.x比如我创建了一个名为“py312“的环境…

【测试】Pytest

建议关注、收藏! 目录 功能pytest 自动化测试工具。 功能 单元测试:用于验证代码的最小功能单元(如函数、方法)的正确性。 简单的语法:不需要继承特定类或使用复杂的结构。断言语句简化。 自动发现测试:P…

Unity性能优化---使用SpriteAtlas创建图集进行批次优化

在日常游戏开发中,UI是不可缺少的模块,而在UI中又使用着大量的图片,特别是2D游戏还有很多精灵图片存在,如果不加以处理,会导致很高的Batches,影响性能。 比如如下的例子: Batches是9&#xff0…

环境和工程搭建

1.案例介绍 1.1 需求 实现⼀个电商平台 该如何实现呢? 如果把这些功能全部写在⼀个服务⾥, 这个服务将是巨⼤的. 巨多的会员, 巨⼤的流量, 微服务架构是最好的选择. 微服务应⽤开发的第⼀步, 就是服务拆分. 拆分后才能进⾏"各⾃开发" 1.2 服务拆分 拆分原则 …

解决Jmeter HTTP Cookie管理器cookie不生效

解决Jmeter HTTP Cookie管理器cookie不生效问题 解决Jmeter HTTP Cookie管理器cookie不生效问题1、设置Jmeter HTTP Cookie管理器cookie后,发起的请求显示[no cookies]jmeter问题复现:这里同样使用postman进行重试,发现是可以正常获取数据的&…

操作系统课后习题2.2节

操作系统课后习题2.2节 第1题 CPU的效率指的是CPU的执行速度,这个是由CPU的设计和它的硬件来决定的,具体的调度算法是不能提高CPU的效率的; 第3题 互斥性: 指的是进程之间的同步互斥关系,进程是一个动态的过程&#…

二叉搜索树 平衡树(c嘎嘎版)

定义: 二叉搜索树是一种二叉树的树形数据结构,其定义如下: 空树是二叉搜索树。 若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。 若二叉搜索树的右子树不为空,则其右子树上所有点的附加权值均大于其根节点的值。 二叉搜索树的左右子树均为…

Everything搜索实现

最近编写NTFS文件实时搜索工具, 类似 Everything 这样, 速度快还小巧, 于是花了约3周进行研究, 总结下学习过程中一些经验 实现分3部分完成 一. 解析NTFS 主文件表(MFT) 这一步是获取文件数据的唯一迅速且可靠的来源 NTFS_MFT_Parse.h #pragma once #include "NTFS_Bas…

23.DDD与微服务

学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 DDD与微服务的关系1. DDD可以用微服务实现,也可以不用微服务实现2. DDD是微服务拆分的必须参考项之一3. 微服务架构…

vscode 打开 setting.json

按下Ctrl Shift P(Windows/Linux)或Cmd Shift P(Mac)来打开命令面板。输入open settings,然后选择 Open User Settings(JSON)。打开settings.json文件 ------修改设置-----: 1、 html代码的行长度&am…

汽车电子元件的可靠性保障:AEC-Q102认证

AEC-Q102标准的起源与价值 随着汽车电子系统的日益复杂,电子器件必须能够在极端的温度、湿度、振动和电磁干扰等恶劣条件下保持性能。AEC-Q102标准由汽车电子委员会(AEC)制定,专门针对LED、激光二极管和光电二极管等光电器件&…

RK3576 Android14,内存大于4G时UVC应用无法申请内存

最近有个项目需要将Linux虚拟成UVC摄像头,开发过程中遇到一个奇怪的事情,通过V4l2框架接口申请内存时,相同的板子,只是内存一个4G一个8G。4G的内存可以申请成功,8G就不行。提示“内存不足” 内存更大反而内存不足&…

RK356X camera 配置

目录 一、RK356x camera硬件 Mipi接口 DVP接口 二、软件链路 三、dts配置 DVP MIPI sensor->dphy->isp_vir 一、RK356x camera硬件 RK356X包含RK3566和RK3568,在camera方面,两颗芯片的软硬件是兼容的,共有两种硬件连接方式:DVP和MIPI。 Mipi接口 图一 如图…

用前端html如何实现2024烟花效果

用HTML、CSS和JavaScript编写的网页&#xff0c;主要用于展示“2024新年快乐&#xff01;”的文字形式烟花效果。下面是对代码主要部分的分析&#xff1a; HTML结构 包含三个<canvas>元素&#xff0c;用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…

批量合并多个Excel到一个文件

工作中&#xff0c;我们经常需要将多个Excel的数据进行合并&#xff0c;很多插件都可以做这个功能。但是今天我们将介绍一个完全免费的独立软件【非插件】&#xff0c;来更加方便的实现这个功能。 准备Excel 这里我们准备了两张待合并的Excel文件 的卢易表 打开的卢易表软件…

GLM4模型详解 - 智谱AI开源大模型全面解析

&#x1f4da; 2024年6月5日,智谱AI在开发者大会上正式开源GLM-4-9B系列大模型。本文将全面解析GLM4的技术特点、部署方案和应用场景。 GLM-4-9B 模型具备了更强大的推理性能、更长的上下文处理能力、多语言、多模态和 All Tools 等突出能力。 “All Tools” 一、模型概述 1.…

ssm-day04 mybatis

mybatis是一个持久层框架&#xff0c;针对的是JDBC的优化 简化数据库操作&#xff0c;能进行单表、多表操作&#xff0c;在这个框架下&#xff0c;需要我们自己写SQL语句 Mapper接口和MapperXML文件就相当于Dao和Dao层的实现 通常将xml文件放在resources包下 &#xff0c;放在…

观测云亮相 Doris Summit,展示流式聚合创新技术

01 技术亮点&#xff1a;重新定义流式聚合的效率与体验 在演讲中&#xff0c;熊豹详细介绍了 GuanceDB 如何支撑观测云的全量业务场景&#xff0c;并分享了 SelectDB 在处理复杂查询中的应用与挑战。从动态表结构管理到函数下推优化&#xff0c;观测云通过灵活的架构设计有效解…

qt中tr的使用

在 Qt 中使用 tr 函数对字符串进行翻译时&#xff0c;通常会通过 Qt Linguist 工具来处理翻译。以下是一个基本的步骤说明&#xff0c;展示如何将 QPushButton *btnnew QPushButton(tr("Hello World"),this); 翻译成其他语言&#xff0c;比如中文&#xff1a; 1.创建…