LVS的 NAT 模式实验

 

文章目录

目录

        文章目录

概要

IP规划与题目分析

实验步骤

一、nginx配置(rs1、rs2、rs3)

 二、LVS配置

三、客户端配置

四、防火墙和selinux配置

实验结果

痛点解答


概要

 

LVS/NAT
lvs/nat网络地址转换模式,进站/出站的数据流量经过分发器(IP负载均衡,他修改的是IP地址)--利用三层功能

原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的源IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。   

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。

缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!


IP规划与题目分析

主机角色系统网络IP
client客户端redhat 9.5仅主机172.25.250.129/24
lvslvsrockyNAT/仅主机

172.25.250.131/24 DIP

172.35.100.200/24 VIP

rs1nginxrockyNAT172.25.250.129/24
rs2nginxrockyNAT172.25.250.128/24
rs3nginxrockyNAT172.25.250.127/24

RS:Real Server                 #后端请求处理服务器

VIP:Director Virtual IP      #负载均衡器虚拟IP 

DIP:Director IP                  #负载均衡器IP

RIP:Real Server IP            #后端请求处理服务器IP


实验步骤

修改ip和主机名就不展示了,可以看我前面的文章

一、nginx配置(rs1、rs2、rs3)

首先下载nginx,防止等下修改网关后无法连接外网

[root@rs1 ~]# yum install nginx -y
[root@rs2 ~]# yum install nginx -y
[root@rs3 ~]# yum install nginx -y

第二步启动nginx并进行配置(写入的内容为本机的ip地址,也可自行更改)

systemctl start nginx
echo $(hostname -I) > /usr/share/nginx/html/index.html

第三步重启并检验

systemctl restart nginx
curl 本机IP

第四步修改网关 (一定要修改,不然最后客户端拒绝)

nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.25.250.127/24 ipv4.gateway 172.25.250.131 connection.autoconnect yes
nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.25.250.128/24 ipv4.gateway 172.25.250.131 connection.autoconnect yes
nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.25.250.129/24 ipv4.gateway 172.25.250.131 connection.autoconnect yes

 二、LVS配置

首先由于lvs上有仅主机的网卡,所以我们先添加一块网卡。进入虚拟机设置点击添加,添加后选择仅主机(注意,由于新添加的网卡分配ip的方式是dhcp,若虚拟机在添加网卡之后没有分配ip地址,请启动dhcp,或者后面直接更改,没有仅主机网络先在虚拟机网络中添加

第二步下载ipvsadm(先确保虚拟机联网,可以看我前面的文章)

yum install ipvsadm -y

第三步查看网卡配置并修改(如果NAME不一样则修改)

[root@lvs ~]# nmcli c modify 'Wired connection 1' connection.id ens224
[root@lvs ~]#  nmcli c show
NAME    UUID                                  TYPE      DEVICE 
ens160  448cc681-b549-35ff-979a-2b57220d864c  ethernet  ens160 
ens224  9cdf1af9-86ab-3318-a810-680d4bee4027  ethernet  ens224 
lo      9f4232f5-ae88-49d5-8402-a30098bb5317  loopback  lo   

第四步修改网关(172.35.100为仅主机网段,172.25.250为NAT网段)

nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.25.250.131/24 ipv4.gateway 172.25.250.9 ipv4.dns 223.5.5.5 connection.autoconnect yes 
nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.35.100.200/24 ipv4.gateway 172.35.100.2 ipv4.dns 223.5.5.5 connection.autoconnect yes nmcli c up ens160
nmcli c up ens224

修改后如图

第五步配置IPVSADM

[root@lvs ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@lvs ~]# systemctl start ipvsadm
[root@lvs ~]# ipvsadm -A -t 172.35.100.200:80 -s rr
[root@lvs ~]# ipvsadm -a -t 172.35.100.200:80 -r 172.25.250.127 -m -w 2
[root@lvs ~]# ipvsadm -a -t 172.35.100.200:80 -r 172.25.250.128 -m -w 2
[root@lvs ~]# ipvsadm -a -t 172.35.100.200:80 -r 172.25.250.129 -m -w 2
[root@lvs ~]# systemctl restart ipvsadm
[root@lvs ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@lvs ~]# sysctl -p

tip:使用ipvsadm -Ln可以查看规则匹配

 

结果如图 

三、客户端配置

客户端只需要修改ip和网关

[root@localhost ~]# hostnamectl hostname client
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.35.100.129/24 ipv4.gateway 172.35.100.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160
[root@client ~]# nmcli d show ens160 

四、防火墙和selinux配置

在每台主机上都要进行

 

[root@lvs ~]# setenforce 0
[root@lvs ~]# systemctl stop firewalld.service

 

 


实验结果

在客户端上curl 172.25.100.200出现不同的结果

痛点解答

1.若在客户端上curl时出现连接超时,请检查您的lvs的NAT的网卡的IP地址是否为nginx服务器的网关。

2.若配置与步骤都没有问题,在客户端出现拒绝连接,请重启您的虚拟机。

3.若添加网卡后没有出现ip地址请检查虚拟机网络的仅主机网络,或者虚拟机是否为动态路由。

4.请下载服务之前不要修改网关,这回导致虚拟机丢失网络。

5.若虚拟机没有网络可以查看我之前的博客。

6.请将NAT与仅主机网段区分清楚,NAT的网关须在虚拟机网络配置查看,文中172.25.250.2的网关是我自己的,nginx三台服务器的网关一定要与NAT的ip地址一致。


最后感谢阅览,谢谢您顺手三连,有问题可以留言

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL Binlog

MySQL Binlog MySQL Binlog 介绍查看 Binlog 位点开启和关闭 BinlogBinlog 的作用Binlog 记录的格式Binlog 的解析Binlog 加密Binlog 的清理根据Binlog文件名删除根据时间删除 Binlog 保留参数Binlog 的落盘Binlog 相关参数 MySQL主从复制:https://blog.csdn.net/a…

第十四届蓝桥杯省赛电子类单片机学习记录(客观题)

01.一个8位的DAC转换器,供电电压为3.3V,参考电压2.4V,其ILSB产生的输出电压增量是(D)V。 A. 0.0129 B. 0.0047 C. 0.0064 D. 0.0094 解析: ILSB(最低有效位)的电压增量计算公式…

【随手记】支持多模态输入的 AI Chatbot App

一、Streamlit 1、Streamlit开发文档 官方文档:https://docs.streamlit.io/ 中文文档:https://blog.csdn.net/weixin_44458771/article/details/135495928 2、Streamlit命令行启动 pip install streamlit streamlit run app.py --server.port 85013…

为什么大模型在 OCR 任务上表现不佳?

编者按: 你是否曾经用最先进的大语言模型处理企业文档,却发现它把财务报表中的“$1,234.56”读成了“123456”?或者在处理医疗记录时,将“0.5mg”误读为“5mg”?对于依赖数据准确性的运营和采购团队来说,这…

关于ArcGIS中加载影像数据,符号系统中渲染参数的解析

今天遇到一个很有意思的问题,故记录下来,以作参考和后续的研究。欢迎随时沟通交流。如果表达错误或误导,请各位指正。 正文 当我们拿到一幅成果影像数据的时候,在不同的GIS软件中会有不同效果呈现,但这其实是影像是…

智能舵机:AI融合下的自动化新纪元

在自动化的浪潮中,智能舵机以其独特的魅力和卓越的性能,正引领着自动化产业迈向新的高度。今天,让我们一起走进智能舵机的世界,感受AI技术为其带来的无限可能。 一、智能舵机:自适应控制的先锋 智能舵机,…

计算机二级WPS Office第四套电子表格

解题过程 排名的函数有三个:rank函数、rank.avg函数、rank.eq函数

【数学建模】(启发式算法)蚁群算法(Ant Colony Optimization)的详解与应用

蚁群算法(Ant Colony Optimization)详解与应用 文章目录 蚁群算法(Ant Colony Optimization)详解与应用前言1. 蚁群算法的生物学基础2. 蚁群算法的基本原理2.1 算法框架2.2 状态转移规则2.3 信息素更新规则 3. 蚁群算法的实现4. 蚁群算法的改进4.1 MAX-MIN蚁群系统(MMAS)4.2 精…

基于Springboot的网上订餐系统 【源码】+【PPT】+【开题报告】+【论文】

网上订餐系统是一个基于Java语言和Spring Boot框架开发的Web应用,旨在为用户和管理员提供一个便捷的订餐平台。该系统通过简化餐饮订购和管理流程,为用户提供快速、高效的在线订餐体验,同时也为管理员提供完善的后台管理功能,帮助…

使用idea开发spark程序

新建scala 项目 创建lib目录 将spark jars/ 路径下所有jar 复制到 lib目录 添加依赖 创建scala 程序 package sparkimport org.apache.spark.{SparkConf, SparkContext}object WordCount {def main(args: Array[String]): Unit {val conf new SparkConf().setAppName(&q…

CORDIC算法:三角函数的硬件加速革命——从数学原理到FPGA实现的超高效计算方案

计算机该如何求解三角函数?或许你的第一印象是采用泰勒展开,或者采用多项式进行逼近。对于前者,来回的迭代计算开销成本很大;对于后者,多项式式逼近在较窄的范围內比较接近,超过一定范围后,就变…

无需docker三步安装deepseek可视化操作软件-Open-WebUI

在以前安装Open-WebUI时,需要通过docker安装, 针对小白来讲呢有些麻烦, 因此这里推荐使用python环境安装Open-WebUI,简单快捷上手快! 1. Mac安装python3.11 以上的环境, windows同学直接官网下载安装包msi,双击安装即可1.1 Mac直接安装 python3.11brew install pyt…

3DGS较真系列

目录 引言 三维高斯飞溅(3DGS) 总体流程 SFM算法 1.特征提取: 2.特征匹配: 3.图像对优选: 4.相机位姿估计及空间点坐标获取: 5.三角化确立新图像地图点: 6.重建场景及其约束: 3DGS 1.捏雪球 2…

【计网】网络、互连网、互联网的认识和区分

一、些杂乱的知识点: 1.Internet是由数量极大的各种计算机网络连接起来的。 2.世界上最大的计算机网络Internet叫互联网(互联网 ! 互连网)。 3.互联网的两个基本特点: (1)互通性&#xff1a…

手机零售行业的 AI 破局与创新降本实践 | OceanBase DB大咖说

OceanBase《DB 大咖说》第 20 期,我们邀请了九机与九讯云的技术总负责人,李远军,为我们分享手机零售企业如何借力分布式数据库OceanBase,赋能 AI 场景,并通过简化架构实现成本管控上的突破与创新。 李远军于2016年加入…

高并发金融系统,“可观测-可追溯-可回滚“的闭环审计体系

一句话总结 在高并发金融系统中,审计方案设计需平衡"观测粒度"与"系统损耗",通过双AOP实现非侵入式采集,三表机制保障操作原子性,最终形成"可观测-可追溯-可回滚"的闭环体系。 业务痛点与需求 在…

迅为iTOP-RK3576人工智能开发板Android 系统接口功能测试

2.1 开机启动 开发板接通电源,并按下电源开关,系统即启动,在启动过程中,系统会显示下图中的开机画面,它们分别是 Android 系统启动时的 Logo 画面: 最后会显示如下解锁画面: 2.2 命令终端 将…

Linux云计算SRE-第二十一周

构建单节点prometheus,部署node exporter和mongo exporter。构建kibana大盘。包含主机PU使用率,主机MEM使用率,主机网络包速度。mongo db大盘,包含节点在线状态,读操作延迟等 一、实验环境准备 - 节点信息&#xff1…

蓝桥杯 - 简单 - 产品360度展示

介绍 在电子商务网站中,用户可以通过鼠标或手势交互实现 360 度全方位查看产品,提升用户体验。现在需要你设计一个 Pipeline 管道函数,用于控制 360 度展示产品的动画序列,通过管道连接各个动画步骤,使产品以流畅的方…

【Rust基础】使用LanceDB构建高性能以图搜图服务

简介 最近使用LanceDB构建了一个以图搜图服务,用于相似图片检索,支持以下功能: 搜索 支持向量搜索,查找相似图片支持通过item_id搜索精确搜索 数据管理 支持添加数据、批量导入CSV或JSON数据支持已有数据修改、删除 API 提供HTT…