LVS-NAT实战案例,实现四层负载均衡

news2024/9/29 22:01:05

工作原理

  1. 架构概述

    • 在LVS-NAT架构中,客户端的请求首先到达负载均衡器(LVS服务器),然后由LVS根据一定的算法将请求转发到后端的真实服务器。负载均衡器会通过NAT技术修改数据包的源地址和目标地址。
  2. 数据流转

    • 客户端发起请求,发送到LVS服务器的虚拟IP(VIP)。
    • LVS服务器接收到请求后,根据负载均衡算法(如轮询、最少连接等)选择一台真实服务器,并将请求转发到该服务器的真实IP(RIP)。
    • 真实服务器处理请求并返回响应,响应包的目的地址为真实服务器的IP,源地址为LVS服务器的VIP。
    • LVS服务器会把数据包的源地址改为真实的IP,在经过后续的路由转发后,将响应返回给客户端。
  3. 特点

    • LVS-NAT涉及到的网络地址转换,可能会导致一定的性能损耗,因为所有流量都要通过LVS服务器进行一次地址转换。
    • 适用于较多的服务器集群和复杂的应用场景。

环境准备:三台虚拟机,关闭firewalld、selinux,配置阿里云镜像和epel-release扩展源。

第一台:192.168.88.12   网卡2:192.168.74.131(LVS)(两张网卡,一个仅主机模式,一张net模式)

第二台:192.168.74.132(仅主机web1)

第三台:192.168.74.133(仅主机web2)

虚拟机全部自动获取IP,以上是我做实验自动获取IP的情况。

一、192.168.88.31(LVS)

1、添加网络适配器

2、网络适配器调制仅主机模式

3、编辑---虚拟网络编辑器----更改设置---仅主机---确定

4、修改ens33配置文件,设置自动获取ip

vim /etc/sysconfig/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=ens33
DEVICE=ens33
ONBOOT=yes

5、修改ens36(第二块网卡)配置文件,设置自动获取ip

vim /etc/sysconfig/ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=ens36
DEVICE=ens36
ONBOOT=yes

6、配置完毕重启生效,看看自动获取的ip

systemctl restart network
ip a

二、web1,web2相关配置

1、安装httpd服务,便于后续测试

yum install -y httpd

2、开启httpd服务

systemctl start httpd.service

3、设置开机自启,永久生效

systemctl enable httpd.service

4、修改httpd默认网页,便于后续访问区别

web1操作

echo   web111 >   /var/www/html/index.html

web2操作

echo   web222 >   /var/www/html/index.html

web1,web2设置自动获取ip

vim /etc/sysconfig/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=ens33
DEVICE=ens33
ONBOOT=yes

三、关闭虚拟机web1,web2调制仅主机模式

开机后web1的IP是:192.168.74.132      web2的IP是:192.168.74.133

 1、web1配置路由

route add -net  192.168.88.0/24 gw 192.168.74.131

 2、web2配置路由

route add -net  192.168.88.0/24 gw 192.168.74.131

四、LVS-NAT配置路由功能和负载策略

1、启动路由转发功能

echo  1  > /proc/sys/net/ipv4/ip_forward

2、安装LVS

yum install -y ipvsadm

3、配置一个对外真实的IP

ipvsadm -A -t 192.168.88.12:80  -s rr

4、添加一个真是服务

ipvsadm -a -t 192.168.88.12:80 -r 192.168.74.132:80 -m

五、访问测试

1、用本地服务器访问虚拟机真实IP进行测试

完毕

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

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

相关文章

C++之STL—常用遍历算法

算法头文件 <algorithm>是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric>体积很小&#xff0c;只包括几个在序列上面进行简单数学运算的模板函数 <functional>定义了一些模板类,用以声明函数对象…

Blob数据类型报错时如何获取错误信息

const pdfOrg async (record) > {// 假设 transferExportPdf是结构 result 返回的错误信息let result await transferExportPdf({ batchId: record.batchId });//blob 结构const blob new Blob([result], {type: result.type,});if (blob.type "application/json&q…

【EPLAN】解决ELM与ELC授权不匹配问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决EPLAN授权-ELM与ELC授权不匹配问题&#xff1b; 2、 问题场景 用于解决在EPLAN 服务器端 ELM 授权进行了更新激活&#xff0c;客户端授权连接后&#xff0c;客户端 ELC 授权信息没有变更的情况&#xff0c;尝试…

02 图结构

目录 图的基本概念图的存储结构图的遍历最小生成树最短路径问题 1.图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G&#xff08;V&#xff0c;E&#xff09;&#xff0c;其中&#xff1a; 顶点集合V{x | x属于某个数据对象集} 是有穷非空集合 E {…

无人机之侦测技术篇

无人机的侦测技术是综合利用多种传感器来“发现”或“找到”无人机目标&#xff0c;并通过分析其物理属性&#xff08;如光学特性、热学特性、声学特性、磁学特性&#xff09;来进行识别和跟踪。 一、雷达探测 原理&#xff1a;雷达系统通过发射电磁波&#xff0c;利用无人机…

15年408计算机网络

第一题&#xff1a; 解析&#xff1a; 接收方使用POP3向邮件服务器读取邮件&#xff0c;使用的TCP连接&#xff0c;TCP向上层提供的是面向连接的&#xff0c;可靠的数据传输服务。 第二题&#xff1a; 解析&#xff1a;物理层-不归零编码和曼彻斯特编码 编码1&#xff1a;电平在…

【小程序 - 大智慧】Expareser 组件渲染框架

目录 问题思考课程目标Web Component类型说明定义组件属性添加 Shadow DOMTemplate and SlotExparser 框架原理自定义组件内置组件 下周计划 问题思考 首先&#xff0c;给大家抛出去几个问题&#xff1a; 前端框架 Vue React 都有自己的组件库&#xff0c;但是并不兼容&#…

Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据

Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据 查看 github vxe-table 官网 单元格内容格式化 通过 formatter 属性自定义格式化方法 <template><div><vxe-grid v-bind"gridOptions"></vxe-grid></div> </t…

软考高级:SOA 和微服务 AI 解读

概念讲解 SOA&#xff08;面向服务架构&#xff09;和微服务虽然都是服务架构的设计模式&#xff0c;但它们的侧重点和实现方式有很大区别。为了帮助你理解这两个概念&#xff0c;我们可以从生活中的例子、概念本身的讲解以及记忆方法三方面入手。 生活化例子 **SOA&#xf…

python高级用法_闭包

闭包 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包 简单闭包 def outer(logo):def inner(msg):print("<%s>%s<%s>" % (logo, msg, …

JSON与CSV之间的主要区别

今天要和大家深入探讨一个数据处理中的常见问题——JSON与CSV之间的主要区别。这两种数据格式各有千秋&#xff0c;适用于不同的场景。让我们一起来了解它们的特点和应用。 一、数据结构的差异 首先&#xff0c;JSON是一种轻量级的数据交换格式&#xff0c;能够表示复杂的数据…

【JAVA基础】JAVA类的拷贝使用示例

文章目录 一、框架介绍二、性能对比三、易用性对比四、使用示例&#xff08;一&#xff09;Apache Commons BeanUtils 使用例子1、第一个例子&#xff1a;两个对象属性个数和名称一样&#xff0c;复制过程2、第二个例子&#xff1a;属性个数和名称不一样&#xff0c;复制过程 &…

简易STL实现 | 红黑树的实现

1、原理 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树 红黑树具有以下特性&#xff0c;这些特性保持了树的平衡&#xff1a; 节点颜色&#xff1a; 每个节点要么是红色&#xff0c;要么是黑色根节点颜色&#xff1a; 根节点是黑色的。叶子节点&…

信息收集---CDN指纹识别

1. 什么是CDN 在渗透测试过程中&#xff0c;经常会碰到网站有CDN的情况。CDN即内容分发网络&#xff0c;主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说的简单点&#xff0c;就是一组在不同运营商之间的对接点上的高速缓存服务器&#xff0c;把用户经常访…

蓝牙技术|蓝牙6.0技术或将实现厘米级精确查找定位功能

蓝牙技术联盟发布蓝牙 6.0 技术规范&#xff0c;引入了一项名为蓝牙“信道探测”的新功能&#xff0c;可以在两个蓝牙 LE 设备之间实现双向测距&#xff0c;有望为电子设备上的“查找”功能带来更精确的定位能力。蓝牙技术联盟表示&#xff0c;这项新技术将为数十亿未来的蓝牙设…

深度学习:调整学习率

目录 前言 一、什么是调整学习率&#xff1f; 二、调整学习率的作用 三、怎么调整学习率 1.有序调整 2.自适应调整 3.自定义调整 4.调整示例 前言 在深度学习中&#xff0c;调整学习率是非常重要的&#xff0c;它对模型的训练效果和收敛速度有显著影响。 一、什么是调整…

前端问答:如何用 JavaScript 让 HTML Canvas全屏显示

哈喽&#xff0c;大家好&#xff01;今天要跟大家分享一个非常实用的小技巧&#xff0c;适合那些正在学习前端开发的朋友们。你是不是也遇到过这样的问题&#xff1a;在制作一些网页小游戏、炫酷的网页动画或者数据可视化时&#xff0c;想让画布&#xff08;Canvas&#xff09;…

Ubuntu24.04 yum安装

安装yum&#xff1a; sudo apt-get install yum 执行报错 E: Package yum has no installation candidate 解决&#xff1a;更换镜像源&#xff0c;找到自己的系统版本&#xff08;如本系统为Ubuntu24.04&#xff09;用vim进行更换&#xff0c;网址&#xff1a; ubuntu | 镜…

26 基于STM32的智能门禁系统(指纹、蓝牙、刷卡、OLED、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STM32单片机&#xff0c;六个按键&#xff0c;分别代表指纹、蓝牙、刷卡的正确进门与错误进门&#xff1b; 比如第一个按键按下&#xff0c;表示指纹正确&#xff0c;OLED显示指纹正确&#x…

linux服务器部署filebeat

# 下载filebeat curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.23-linux-x86_64.tar.gz # 解压 tar xzvf filebeat-7.17.23-linux-x86_64.tar.gz# 所在位置&#xff08;自定义&#xff09; /opt/filebeat-7.17.23-linux-x86_64/filebeat.ym…