openwrt 负载均衡方法 openwrt负载均衡本地源接口
openwrt 负载均衡方法 openwrt负载均衡本地源接口_mob6454cc647bdb的技术博客_51CTO博客
本人注重原理分析,要求对其原理掌握,否则按教程操作,你怕是什么都学不会,仔细看,认真记比较好。
首先确认一下基本细节
1、路由器为openwrt且lan网口总数大于等于3个(有可能部分openwrt交换机部分不支持wan) 2、多个运营商不是多拨哈 3、固件支持交换机vlan配置和负载均衡配置 4、ssh使用与linux使用有一定的了解 5、闲的没事情做,有时间折腾
正文
首先你的路由器固件需要时openwrt,支持交换机vlan模式,如图
openwrt 负载均衡方法 openwrt负载均衡本地源接口_openwrt 负载均衡方法
好的,接下来配置vlan交换机




我这边选择lan1与lan4为上网接口,选择端口是随意的,重点是学习原理
openwrt 负载均衡方法 openwrt负载均衡本地源接口_负载均衡_02
openwrt 负载均衡方法 openwrt负载均衡本地源接口_数据_03
前面我们提到我将lan1与lan4设计为上网口,接下来将详细解释配置规则
1、如果这个lan口是用于上网的,那么他不应该跟lan口其他的接口关联,所以应当关闭其他vlan与这个接口的绑定关系。
openwrt 负载均衡方法 openwrt负载均衡本地源接口_网络_04
lan1在vlan1中描述为关,即lan1与vlan1无关系(设计层面,不考虑物理层面哈)。
lan1在vlan2中描述为untagged,该描述表示不对这个lan口进行打上标签,即该接口接收与发出的数据不应该具有标签,配置时一定不要选择其他选项就是了。
lan1在vlan3中描述为关,即lan1与vlan3无关系(设计层面,不考虑物理层面哈)。
接下来是lan2与lan3
openwrt 负载均衡方法 openwrt负载均衡本地源接口_负载均衡_05
由于lan2与lan3是lan口,他们不参与上网的配置,所以他们仅绑定vlan1,这2个接口不参与上网所以在vlan2与vlan3中的配置应该是关。
lan4与lan1的原理相同,注意规划就行了,不要规划错。
总结一下,当一个接口需要与其他接口隔离时,使用vlan是最方便的方式之一,其原理就是通过给其内部划分不同的vlan实现隔离,但因接收与发出的数据不带vlan所以不对其他的设备产生影响,重点在于,接收与发出不打上标签,其分离的vlan标签仅在cpu也就是内部运行。每一个独立的区域都应该是一个单独的vlan,当然所有的lan口算一个区域,每一个虚拟的上网口算一个区域,于是,本篇一共具备3个vlan属性。 接下来是对虚拟的上网口进行配置,文章将使用dhcp模式与pppoe进行演示
首先是lan口1的pppoe模式
openwrt 负载均衡方法 openwrt负载均衡本地源接口_数据_06
名称建议全大写,后面的配置用用得上,linux是大小写敏感的,所以要区分大小写。
协议按实际情况决定。 一定要注意绑定接口,WAN绑定的lan1,lan1对应绑定的是vlan2,所以我们选择eth0.2这个接口,其中,eth0是这个网卡的名称,.2是子接口2也就是虚拟接口vlan2。总结一下就是WAN绑定的是eth0这个网卡下的已在交换机中绑定了vlan2的那个子接口lan1,于是他的名称就是eth0.2。
对于lan4的dhcp
openwrt 负载均衡方法 openwrt负载均衡本地源接口_openwrt 负载均衡方法_07
emmm,由于删了到路由器192.168.123.0的接口,过不去了,明天再更新吧。还好没有交付到生产环境里面。
在更新之前,我先来解释一下为什么我删掉了到123.0的路由会导致我无法访问。 首先我是通过公网访问我的openwrt的,我的openwrt选择了lan1接移动光猫,lan4接主路由,模式是dhcp也就是获取主路由的ip实现该线路的上网功能,我之所以删掉认为其不会断网是因为,lan4用于上网,lan3也跟主路由相连,那按道理应该会环路才对,但是由于lan4内部有vlan3的标签,所以并不会造成环路,那么为什么删了lan4会断网,而不会通过lan3继续与主路由互通呢。原因在于静态路由 主路由到openwrt的截图
openwrt 负载均衡方法 openwrt负载均衡本地源接口_openwrt 负载均衡方法_08
openwrt是192.168.121.0/24网段的,网关为192.168.121.1,lan4获取到的主路由ip是192.168.123.20 那么主路由如果要到192.168.121.0/24这个网段就会通过192.168.123.20访问,如果删掉这个路由就没法提供lan4访问openwrt,因为lan3没有路由(注意是路由)到openwrt,所以不能互通,那么lan3的意义在哪里呢?在于我可以不改变原有架构实现双ip切换,我只需要改变ip地址就可以切换出口路由。我还是给拓扑图吧
openwrt 负载均衡方法 openwrt负载均衡本地源接口_负载均衡_09
这个是一个很糟糕的设计,如果不是有vlan的话,他一定会产生环路导致路由器故障。还好划分了vla 那么该怎么优化才能实现当我关闭了lan4依然可以用123.0网段访问121.0网段呢? 首先我没事不会去关闭lan4的上网功能。但是我还是改一下route吧
-----------------------------------
openwrt 负载均衡方法 openwrt负载均衡本地源接口
https://blog.51cto.com/u_16099186/9791625
相关文章:
openwrt 负载均衡方法 openwrt负载均衡本地源接口
openwrt 负载均衡方法 openwrt负载均衡本地源接口_mob6454cc647bdb的技术博客_51CTO博客 本人注重原理分析,要求对其原理掌握,否则按教程操作,你怕是什么都学不会,仔细看,认真记比较好。 首先确认一下基本细节 1、路由…...
Linux高级--3.3.2.6高并发编程之“内存屏障”“CPU屏障”“编译屏障”
一、内存屏障 在 Linux C 语言编程 中,内存屏障(Memory Barrier) 是一种用于控制内存访问顺序的技术。它主要用于多处理器系统中,确保某些操作按预期顺序执行,避免 CPU 和编译器对内存访问进行优化,从而影…...
【含开题报告+文档+PPT+源码】基于SpringBoot的智能安全与急救知识科普系统设计与实现
开题报告 在全球范围内,安全与急救知识的普及已成为提升公众安全素养、减少意外伤害发生率、提高突发事件应对能力的重要举措。尤其是在当今社会,人们面临的生活、工作环境日益复杂,交通事故、火灾、溺水、突发疾病等各种意外事件的发生概率…...
EMQX5.X版本性能配置调优参数
EMQX 主配置文件为 emqx.conf,根据安装方式其所在位置有所不同: 安装方式配置文件所在位置DEB 或 RPM 包安装/etc/emqx/emqx.confDocker 容器/opt/emqx/etc/emqx.conf解压缩包安装./etc/emqx.conf EMQ X 消息服务器默认占用的 TCP 端口包括: 端口 说明…...
电脑配置maven-3.6.1版本
不要使用太高的版本。 apache-maven-3.6.1-bin.zip 下载这个的maven压缩包 使用3.6.1版本。 解压缩放在本地软甲目录下面: 配置系统环境变量 在系统环境下面配置MAVEN_HOME 点击path 新增一条 在cmd中输入 mvn -v 检查maven的版本 配置阿里云镜像和本地的仓库 …...
水电站视频智能监控系统方案设计与技术应用方案
一、背景需求 水电站作为国家重要的能源基地,其安全运行对于保障能源供应和社会稳定具有重要意义。然而,传统的人工监控方式存在着诸多问题,如人力成本高、监控范围有限、反应不及时等。因此,水电站急需引进一种先进的视频智能监控…...
React 组件通信完整指南 以及 自定义事件发布订阅系统
React 组件通信完整指南 1. 父子组件通信 1.1 父组件向子组件传递数据 // 父组件 function ParentComponent() {const [data, setData] useState(Hello from parent);return <ChildComponent message{data} />; }// 子组件 function ChildComponent({ message }) {re…...
华为 AI Agent:企业内部管理的智能变革引擎(11/30)
一、华为 AI Agent 引领企业管理新潮流 在当今数字化飞速发展的时代,企业内部管理的高效性与智能化成为了决定企业竞争力的关键因素。华为,作为全球领先的科技巨头,其 AI Agent 技术在企业内部管理中的应用正掀起一场全新的变革浪潮。 AI Ag…...
【Pandas】pandas Series empty
Pandas2.2 Series Attributes 方法描述Series.index每个数据点的标签或索引Series.array对象底层的数据数组Series.values以NumPy数组的形式访问Series中的数据值Series.dtype用于获取 Pandas Series 中数据的类型(dtype)Series.shape用于获取 Pandas …...
Git如何设置和修改当前分支跟踪的上游分支
目录 前言 背景 设置当前分支跟踪的上游分支 当前分支已有关联,删除其关联,重新设置上游 常用的分支操作 参考资料 前言 仅做学习记录,侵删 背景 在项目开发过程中,从master新建分支时,会出现没有追踪的上游分…...
GitHub新手用法详解【适合新手入门-建议收藏!!!】
目录 什么是Github,为什么使用它? 一、GitHub账号的注册与登录 二、 gitbash安装详解 1.git bash的下载与安装 2.git常用命令 3. Git 和 GitHub 的绑定 1. 获取SSH keys 2.绑定ssh密钥 三、通过Git将代码提交到GitHub 1.克隆仓库 2.测试提交代码…...
游戏开发线性空间下PS工作流程
前言 使用基于物理的渲染,为了保证光照计算的准确,需要使用线性空间; 使用线性空间会带来一个问题,ui 在游戏引擎中的渲染结果与 PS 中的不一致: PS(颜色空间默认是sRGB伽马空间):…...
7-10 最长公共子序列
目录 题目描述 输入格式: 输出格式: 输入样例: 输出样例: 解题思路: 详细代码: 题目描述 给出 1~n 的两个排列 P1 和 P2,求它们的最长公共子序列。 n 在 5~1000 之间。 输入格式: 第一行是一个数 n 接下来两行,每行为 n 个数&…...
亚远景-ISO 21434标准下的汽车网络安全:风险评估与管理的关键实践
ISO 21434标准,全称为ISO/SAE 21434 "Road Vehicles - Cybersecurity Engineering",是国际标准化组织(ISO)发布的针对汽车领域的标准,旨在指导汽车制造商、供应商和相关利益相关方在汽车系统中应用适当的网络安全措施。在ISO 21434…...
C++ 的 source_location
1 __FILE__ 和 __LINE__ 你一定看过这样的代码: printf("Internal error at \"%s\" on line %d.\n", __FILE__, __LINE__); 这行代码的作用就是打印出 printf() 函数调用发生时所在的源代码文件名(包含路径)和这行代…...
[python SQLAlchemy数据库操作入门]-14.实时数据采集 记录股市动态
哈喽,大家好,我是木头左! 要使用 SQLAlchemy 进行实时数据采集,首先需要搭建相应的开发环境。以下是所需的主要步骤: 安装 Python:确保你的系统上已经安装了 Python,推荐使用 Python 3.x 版本。创建虚拟环境:为了隔离项目依赖,建议为每个项目创建一个虚拟环境。可以使…...
`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别
文章目录 1、什么是空字符串?2、两个引号之间加上空格 好的,我们来详细解释一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 这两个条件之间的区别,以及它们在 SQL 查询中的作用: 1. we_chat_union_id IS NOT NULL 含…...
【和春笋一起学C++】文本输入与读取
前言:前面学习了while语句后,下面用while语句实现一个重要的功能,逐字符的读取键盘输入的字符序列,并输出到显示屏上。 准备知识: C的输入输出包含以下3方面的内容: 对系统指定的标准设备的输入和输出。即…...
D类音频应用EMI管理
1、前言 对于EMI,首先需要理解天线。频率和波长之间的关系,如下图所示。 作为有效天线所需的最短长度是λ/4。在空气中,介电常数是1,但是在FR4或玻璃环氧PCB的情况下,介电常数大约4.8。这种效应会导致信号在FR4材…...
第N8周:使用Word2vec实现文本分类
文章目录 一、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 二、模型构建1.搭建模型2.初始化模型3.定义训练与评估函数 三、训练模型1.拆分数据集并运行模型 四、总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者&a…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...
