【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模式要求

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

2. NAT实验

将题目中的100都替换成200

配置如下:

3.具体步骤

LVS配置

3.1配置网卡

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

bash 复制代码
[root@lvs ~]# vim /etc/NetworkManager/system-connections/eth0.nmconnection 

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

bash 复制代码
[root@lvs ~]# vim /etc/NetworkManager/system-connections/eth1.nmconnection 

3.2打开内核路由功能

(1)查看路由转发

(2)打开内核路由功能

(3)生效

3.3下载ipvsadm

bash 复制代码
[root@lvs ~]# systemctl stop ipvsadm

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

3.4临时命令

(1)添加虚拟服务器

(2)添加后端服务器

(3)查看负载均衡设置

3.5永久命令

(1)停止服务

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

webserver1配置

webserver2配置

测试

相关推荐
OctopusMonster13 分钟前
达梦拷贝DM_HOME的复制安装
linux·运维·服务器·达梦
古猫先生23 分钟前
浅析云场景SSD实时迁移技术
服务器·科技·云计算
筑梦之路1 小时前
CentOS 7 安装fail2ban hostdeny方式封禁ip —— 筑梦之路
linux·运维·centos
敲上瘾2 小时前
动静态库的制作与使用(Linux操作系统)
linux·运维·服务器·c++·系统架构·库文件·动静态库
周山至水数翠峰2 小时前
.net 如何处理网页的Json请求?
服务器·json·.net
bohu836 小时前
亚博microros小车-原生ubuntu支持系列:8-脸部检测与人脸特效
linux·opencv·ubuntu·dlib·microros·亚博
小池先生10 小时前
grafana+prometheus监控linux指标
linux·grafana·prometheus
浮梦终焉10 小时前
【嵌入式】总结——Linux驱动开发(三)
linux·驱动开发·qt·嵌入式
远方 hi10 小时前
linux如何修改密码,要在CentOS 7系统中修改密码
linux·运维·服务器
练小杰11 小时前
Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
linux·c语言·c++·经验分享·qt·学习·编辑器