LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤

news2025/1/24 8:31:36

一、环境准备

1.准备三台rhel9服务器

服务器名称

主机名

ip地址备注
LVS调度服务器lvs.timinglee.org

eth0:172.25.254.100(外网)

eth1:192.168.0.100(内网)

关闭selinux和防火墙
webserver2网站服务器webserver1.timinglee.orgeth0:192.168.0.10(内网)关闭selinux和防火墙
webserver2网站服务器webserver2.timinglee.orgeth0:192.168.0.20(内网)关闭selinux和防火墙

2.实验拓扑

二、LVS-NAT模式部署

# 版本
[root@lvs ~]# hostnamectl 
 Static hostname: lvs.timinglee.org
       Icon name: computer-vm
         Chassis: vm ??
      Machine ID: 4748448370474b72a05bc780ede57860
         Boot ID: de3da80744f044728475c9c7388a2f1c
  Virtualization: vmware
Operating System: Red Hat Enterprise Linux 9.1 (Plow)     
     CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
          Kernel: Linux 5.14.0-162.6.1.el9_1.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform

# lvs主机网卡配置
[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;
[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.100/24
method=manual


webserver1网卡配置,配置网关
[root@webserver1 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual
dns=114.114.114.114;

webserver2网卡配置,配置网关
[root@webserver2 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=192.168.0.20/24,192.168.0.100
method=manual
dns=114.114.114.114;



 1.给webserver1,webserver2服务器安装httpd

[root@webserver1 ~]# yum install httpd -y
[root@webserver1 ~]# echo webserver1 - 192.168.0.10 > /var/www/html/index.html
[root@webserver1 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

[root@webserver2 ~]# yum install httpd -y
[root@webserver2 ~]# echo webserver1 - 192.168.0.20 > /var/www/html/index.html
[root@webserver2 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

2.在LVS服务器中检测

[root@lvs ~]# ipvsadm -A -t ^C
[root@lvs ~]# curl 192.168.0.10
webserver1 - 192.168.0.10
[root@lvs ~]# curl 192.168.0.20
webserver2 - 192.168.0.20

 3.在LVS服务器中安装LVS

[root@lvs ~]# yum install ipvsadm.x86_64 -y

 4.新建LVS集群

[root@lvs ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr

5.添加Real Server服务器节点

-a     添加真实服务器
-d     删除真实服务器
-r     指定真实服务器(Real Server)的地址
-m     使用NAT模式;另外 -g 对应DR模式、-i 对应TUN模式
-w     为节点服务器设置权重,默认为1,只有设置加权轮询或者加权最小连接才生效


#将两个web服务器加入LVS集群,-m表示为NAT模式

[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0         
  -> 192.168.0.20:80              Masq    1      0          0         
[root@lvs ~]# 


#补充:如果想删除节点,将-a换成-d即可

6.开启路由转发模式

因为LVS的工作原理是路由转发,所以LVS调度服务器需要开启路由转发

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



[root@lvs ~]# cat /etc/sysctl.conf 
# 定位最后一行添加
net.ipv4.ip_forward = 1


# 生效
[root@lvs ~]# sysctl -p
net.ipv4.ip_forward = 1

7.效果测试

[root@lvs ~]# curl 172.25.254.100
web2 - 192.168.0.20
[root@lvs ~]# curl 172.25.254.100
web1 - 192.168.0.10
[root@lvs ~]# 
[root@lvs ~]# for i in {1..10}
> do
> curl 172.25.254.100
> done
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web1 - 192.168.0.10

如上可以看到轮询负载均衡效果!!! 

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

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

相关文章

为什么高校开设微专业,建议搭建动作捕捉与数字人开发实训室?

随着近年来虚拟现实技术产业与元宇宙产业不断发展,动作捕捉技术成为元宇宙、VR/AR、影视动画、游戏、艺术创作、虚拟偶像等行业相关不可或缺的技术之一。各大院校为了探索新的教学模式,纷纷积极开设“微专业”,相比传统的虚拟仿真实训室来说&…

Linux进程调度与切换

目录 前言 Linux 2.6内核O(1)调度器 调度过程 调度算法 Linux 进程切换 前言 在Linux 2.6版本的内核中,进程调度器引入了O(1)调度器,这个调度器通过优先级队列、活跃队列和过期队列的机制来管理进程调度,虽然在现在已被更好的CFS调度器取代,但对于我…

中仕公考:2024年空军专业技能类文职人员公开招考公告

2024年空军专业技能类文职人员公开招考公告,有关事项公告如下: 一、招考岗位 主要有保管员、司机、炊事员、文印员、汽车修理工兼司机等专业技能三级以下岗位。 二、招考对象 符合岗位资格条件的社会人员(含高校应届毕业生、退役军人)。 根据军队有…

理解栈(Stack)及其在 C++ 中的应用【栈、数据结构】

在这篇博客中,我们将详细介绍栈(Stack)这一重要的数据结构,包括其基本概念、常用操作、C 中的实现,以及一些实际应用。 什么是栈? 栈是一种数据结构,它遵循“后进先出”(LIFO - La…

上海AI Lab 搭台,36个大模型一起角逐长上下文建模能力

现在的大模型论文简直像是在比长度,动不动就上百页!记得前阵子小编瞅见那份90页的Gemini技术报告,顿时脑袋嗡嗡作响。那会儿就幻想着:要是有个AI大脑来啃下这些"学术巨无霸",那岂不是爽歪歪? 没…

SpringDoc:一个用于自动生成API文档的工具

SpringDoc的使用 概述SpringDoc添加依赖配置 Springdoc创建 REST 控制器访问 API 文档添加注释和描述自定义配置常用注解 详细示例创建模型类创建REST控制器查看Swagger UI与OpenAPI 安全策略类型概述HTTPAPIKEYOAUTH2OPENIDCONNECTMUTUALTLS 请求头配置认证token代码实现验证 …

C++:C++11介绍

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一、C11简介 二 统一的列表初始化 2.1 {} 初始化 2.2 std::initializer_list 三 声明 3.1 auto 3.2 decltype 3.3 nullptr 四 范围for循环 五 智能指针 六 STL中一些变化…

瑞_RabbitMQ_初识MQ

文章目录 1 初识MQ1.1 同步调用1.1.1 同步调用的优势1.1.2 同步调用的缺点 1.2 异步调用1.2.1 异步调用的角色1.2.2 异步调用的优势1.2.3 异步调用的缺点1.2.4 异步调用的场景 1.3 MQ技术选型 2 RabbitMQ2.1 安装2.1.1 资源准备2.1.2 安装步骤 2.2 RabbitMQ架构2.3 RabbitMQ管理…

Starrocks解析json数组

json数据 [{"spec": "70g/支","unit": "支","skuId": "1707823848651276346","amount": 6,"weight": 70,"spuName": "伊利 甄稀 苦咖啡味雪糕 流心冰淇淋 70g/支",&quo…

你不知道,PMP证书的含金量究竟有多高

PMP考试的含金量体现在其全球认可度、对职业发展的助力、薪资潜力的提升、系统的知识体系、持续学习的要求以及专业网络的建设等方面。 尽管存在一定的维护成本和市场饱和度问题,PMP认证仍然是项目管理领域内备受推崇的资格证书。 对于追求专业发展和提升项目管理…

【安卓】发送自定义广播

文章目录 发送标准广播发送有序广播 发送标准广播 先定义一个BroadcastReceiver来准备接收广播,新建一个MyBroadcastReceiver。 public class MyBroadcastReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {To…

惊爆!OpenAI 高层发生剧烈动荡!竟然有 3 名元老同时离职,同时,马斯克竟起诉奥特曼“敲诈勒索”, GPT-5 要推迟了?

当今之 OpenAI 可谓是事端频出,波澜迭起。 开端之际,马斯克竟对 OpenAI提起诉讼,随后,重要的元老级高管公开宣告离职,而且还被披露高管领导层内部动荡不安,最终,就连原本定于年底发布的 GPT-5 …

【JVM基础15】——实践-JVM参数可以在哪里设置

目录 1- 引言:2- ⭐核心:2-1 Tomcat 设置 JVM 参数2-2 Jar包设置 JVM 参数 3- 小结:3-1 JVM参数可以在哪里设置 1- 引言: 一般这种问题是涉及到项目部署时候的参数设置,一般的部署方式 war 包部署在 tomcat 中设置jar…

MySQL第5讲--DML(数据操作语言)的基本操作

文章目录 前言DML(数据操作语言)基本操作增加数据案例展示修改数据案例展示删除数据 DML总结 前言 在第四讲MySQL第4讲–图像化界面工具DataGrip介绍中我们讲述了数据库的可视化操作界面;今天我们讲一下数据库中DML(数据操作语言)的基本操作; DML(数据操…

灵办AI:智能插件,办公与编程的得力助手

目录 引言一、灵办AI:智能化的办公伙伴二、编程能力:🔥代码阅读,学习助手🔥1、代码解读2、代码续写3、代码优化 三、插件端对话功能:智能交互,流畅体验四、翻译功能:一键翻译&#x…

JAVA毕业设计158—基于Java+Springboot的二手车交易管理系统(源代码+数据库+万字论文+ppt)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringboot的二手车交易管理系统(源代码数据库万字论文ppt)158 一、系统介绍 本项目前后端不分离(可以改为ssm版本),分为用户、管理员两种角色 1、用户&#…

AT32F421专题---SPI连接CH395Q以太网芯片

【啰嗦2句】 写作不是我主业,所以写得少,但是尽可能给满是雷同知识海洋里面添加一点独特的元素。 本文是AT32F421C8T7芯片跟以太网芯片CH395Q的SPI对接与驱动。因部分属于商业内容,不便于公开,但也会把核心需要注意的内容讲出来。…

Windows环境下PCL配置错误 can not be found on this machine

Windows环境下PCL配置错误 can not be found on this machine windows系统下pcl安装参考: https://blog.csdn.net/knighthood2001/article/details/139197693?ops_request_misc&request_id&biz_id102&utm_termwindows%20pcl&utm_mediumdistribute.…

某MDM主数据管理系统与微软Dynamic CRM系统(新加坡节点)集成案例

一、项目背景 某客户需要将物料和配件等主数据和海外系统进行对接,由SAP PO在中间对接海外系统,进行主数据的下发,方便两端系统之间进行对接,集团统一性管理国内海外数据,提高整体业务效率,保证数据的时…