linux运维——LVS(NAT模式)

本文深入解析了LVS-NAT模型的工作原理,包括数据包如何在DirectorServer和RealServer间流转,以及该模型的特性与缺陷。实验部分展示了如何在具体环境中配置LVS-NAT,实现负载均衡。

NAT方式原理图

在这里插入图片描述

  • 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
  • PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
  • IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP
  • POSTROUTING链通过选路,将数据包发送给Real Server
  • Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP
  • Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP
LVS-NAT模型的特性
  • RS应该使用私有地址,RS的网关必须指向DIP
  • DIP和RIP必须在同一个网段内
  • 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈
  • 支持端口映射
  • RS可以使用任意操作系统
  • 缺陷:对Director Server压力会比较大,请求和响应都需经过director server

以下实验在7.3主机上进行

调度器设置:

1、设置两个不同网段的ip,一个用来接收客户端的请求,另一个作为真实服务器的网关。

[root@lucky2 ~]# ip addr add 172.25.254.100/24 dev eth0
[root@lucky2 ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:93:3f:10 brd ff:ff:ff:ff:ff:ff
    inet 172.25.35.2/24 brd 172.25.35.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.25.254.100/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe93:3f10/64 scope link 
       valid_lft forever preferred_lft forever

2 安装lvs管理工具——ipvsadm服务

[root@lucky2 ~]# yum install ipvsadm -y

3 添加vip以及真实服务器到调度器

[root@lucky2 ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
#-A: 添加vip。 -t: tcp协议 。-s: lvs调度算法 rr 轮叫调度 
[root@lucky2 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.35.3:80 -m
[root@lucky2 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.35.4:80 -m
 添加真实服务器,使用nat模式的时候,后面的参数为 -m
[root@lucky2 ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  lucky2:http rr
  -> lucky3:http                  Masq    1      0          0         
  -> lucky4:http                  Masq    1      0          0 

4 开启调度器的内核路由功能

[root@lucky5 ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0
[root@lucky5 ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

5 加载模块

modprobe iptable_nat

如果不加载此模块,也可以在第一次访问时成功,但是会在再次访问时出现延迟过长,或访问超时现象

真实服务器设置:

两台真实服务器需要安装httpd服务并设置号资源,设定网关为调度器的对内ip

[root@lucky3 ~]# yum install httpd -y
[root@lucky3 ~]# cd /var/www/html/
[root@lucky3 html]# vim index.html
[root@lucky3 html]# cat index.html 
lucky3
[root@lucky3 html]# systemctl start httpd
[root@lucky3 html]# systemctl enable httpd    需要注意的是两台服务器所作的操作都是一样的,在这里是为了实验明显才将两个后端服务器index.html文件内容不一样的

测试:

[root@foundation35 ~]# curl 172.25.254.100
lucky3
[root@foundation35 ~]# curl 172.25.254.100
lucky4
[root@foundation35 ~]# curl 172.25.254.100
lucky3
[root@foundation35 ~]# curl 172.25.254.100
lucky4
内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)与多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习与启发因子优化,实现路径的动态调整与多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算与参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练与融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法与神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑与实时避障等多目标协同优化;③为智能无人系统的自主决策与环境适应能力提供算法支持; 阅读建议:此资源结合理论模型与MATLAB实践,建议读者在理解ACO与MLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值