当前位置: 首页 > news >正文

【LVS】负载均衡之NAT模式

一、LVS概念

LVS(Linux Virtual Server)是一个基于Linux操作系统的虚拟服务器技术,用于实现负载均衡和高可用性。LVS通过将客户端的请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。

二、LVS优势

高性能:LVS工作在内核层,性能高效,能够处理大量并发请求。
高可用性:通过配置Keepalived等工具,LVS可以实现高可用性,确保服务的持续运行。
灵活性强:支持多种负载均衡算法和工作模式,适应不同的应用场景。

三、LVS整体架构

LVS的整体架构主要包括负载均衡器(Load Balancer)、后端服务器(Real Server)和客户端三部分。客户端的请求首先到达负载均衡器,然后由负载均衡器根据一定的调度算法将请求转发到后端服务器进行处理,处理结果再返回给客户端。

四、LVS中名词概念

VS Virtual Server
RS Real Server
CIP Client IP
VIP: Virtual serve IP VS 外网的 IP
DIP: Director IP VS 内网的 IP
RIP: Real server IP

五、LVS工作模式

LVS有以下四种模式,最后一种只在阿里内部使用。

1.LVS-NAT(Network Address Translation):在该模式下,负载均衡器不仅需要修改请求报文的目标地址,还需要修改响应报文的源地址,适用于小规模集群。

2.LVS-DR(Direct Routing):在该模式下,负载均衡器只修改请求报文的目标MAC地址,而不修改IP地址,后端服务器直接将响应报文发回客户端,适用于大规模集群。

3.LVS-TUN(IP Tunneling):该模式通过IP隧道将请求转发到后端服务器,后端服务器直接将响应报文发回客户端,适用于地理位置分散的集群。

4.LVS-FULLNAT:通过同时修改请求报文的源IP地址和目标IP地址进行转发

六、工作模式制NAT模式

1.NAT模式要求

  • 本质是多目标IPDNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RSRIPPORT实现转发
  • RIPDIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
  • 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
  • 支持端口映射,可修改请求报文的目标PORT
  • VS必须是Linux系统,RS可以是任意OS系统

2. NAT实验

将题目中的100都替换成200

配置如下:

3.具体步骤

LVS配置

3.1配置网卡

配置eth0网卡,为nat模式(172.25.254.0)

[root@lvs ~]# vim /etc/NetworkManager/system-connections/eth0.nmconnection 

配置eth1网卡,为仅主机模式(192.168.0.0)

[root@lvs ~]# vim /etc/NetworkManager/system-connections/eth1.nmconnection 

3.2打开内核路由功能

(1)查看路由转发

(2)打开内核路由功能

(3)生效

3.3下载ipvsadm

[root@lvs ~]# systemctl stop ipvsadm

当ipvsadm停止时,才会执行成功以下命令,因为这是临时命令,重启服务后,就会消失

3.4临时命令

(1)添加虚拟服务器

(2)添加后端服务器

(3)查看负载均衡设置

3.5永久命令

(1)停止服务

(2) 将刚刚执行过的命令保存到文件中,就可永久执行

 

webserver1配置

webserver2配置

测试

 

http://www.lryc.cn/news/416962.html

相关文章:

  • ASP.NET Core 基础 - 入门实例
  • 机器人主板维修|ABB机械手主板元器件故障
  • 大数据Flink(一百零六):什么是阿里云实时计算Flink版
  • ERCOT中的专业术语解释
  • Python酷库之旅-第三方库Pandas(069)
  • 基于hutools的国密SM2、3、4
  • 进程的等待(非阻塞轮询+阻塞)和替换控制详解
  • 24/8/6算法笔记 支持向量机
  • 测试用例等级划分
  • 打造Perl编译器前端:自定义语言处理的魔法
  • Visual Studio 和 Visual Studio Code 的比较与应用偏向
  • Python打开JSON/CSV文件的正确方式(针对UnicodeDecodeError)
  • 深入解析TikTok广告开户白名单:规范与申请指南
  • CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效
  • ArcGIS基础:基于数据图框实现地理坐标系下不同投影转换的可视化效果
  • ⚡4. Kubernetes核心资源管理操作实战
  • 【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路
  • Linux网络编程3
  • gitlab 服务器安装
  • 【pytorch】全连接网络简单二次函数拟合
  • git提交到本地仓库了,怎么撤回
  • lua学习(1)
  • SQL报错注入之updatexml
  • 单元测试的重要性
  • mysql线上查询数据注意锁表问题
  • UE5 右键菜单缺少Generate Visual Studio project files
  • 前端性能优化-webpack构建优化
  • Traefik:部署与实战
  • [Spring] SpringBoot统一功能处理与图书管理系统
  • 实现吸顶效果,一个页面多个元素吸顶效果