【LVS实战】02 搭建一个LVS-NAT模式实验

news2025/2/26 0:22:14

一、网络结构

用虚拟机搭建如下的几台机器,并配置如下的ip
在这里插入图片描述

关于虚拟机网卡和网络的配置,可以参考 iptables章节,05节:网络转发实验

主机A模拟外网的机器
B为负载均衡的机器
C和D为 RealServer

二、C和D主机的网关设置

C和D机器要设置B为网关,这样C和D的数据,才能通过B,返回到C
在这里插入图片描述
在这里插入图片描述

三、C和D上安装上nginx

本实验为C和D安装好的docker应用:nginx。安装过程,略。启动好后,占用暴露为80端口。
修改一下nginx的首页,输出其IP,如:

cd /usr/share/nginx/html/
cat > index.html << EOF
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>10.1.0.9 </h1>
</body>
</html>
EOF

四、ipvsadm命令设置LVS

如果我们想要配置一个LVS-NAT集群,可以在角色为调度器的主机上执行如下ipvsadm命令。

ipvsadm -A -t VIP:port -s rr
ipvsadm -a -t VIP:port -r RIP1 -m
ipvsadm -a -t VIP:port -r RIP2 -m
ipvsadm -a -t VIP:port -r RIPN -m

在机器B上执行下面的命令
-m表示nat模式

[root@localhost ~]# ipvsadm -A -t 192.168.56.106:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.56.106:80 -r 10.1.0.9 -m
[root@localhost ~]# ipvsadm -a -t 192.168.56.106:80 -r 10.1.0.10 -m

[root@localhost ~]# ipvsadm -Ln
[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.56.106:80 rr
  -> 10.1.0.9:80                  Masq    1      0          0         
  -> 10.1.0.10:80                 Masq    1      0          0 

注意:上面的设置会在重启系统后失效

五、负载均衡请求效果

在主机A上执行curl命令,可以看到,是轮循访问两台主机

[root@localhost ~]# curl -X GET http://192.168.56.106
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>10.1.0.9 </h1>
</body>
</html>
[root@localhost ~]# curl -X GET http://192.168.56.106
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>10.1.0.10 </h1>
</body>
</html>

六、常用命令

  1. ipvsadm管理工具介绍(操作均基于centos6操作系统)

6.1 安装

ipvsadm可以直接使用yum安装

yum -y install ipvsadm

6.2 基本命令格式

虚拟服务器:

ipvsadm 选项 虚拟服务器地址 -s 算法

真实服务器:

ipvsadm 选项 虚拟服务器地址 -r 真实服务器地址 -w 权重值工作模式

6.3 常用参数

-A 添加一个虚拟服务器,可跟ip或者ip:80(端口)
-E  编辑一个虚拟服务器
-D 删除一个虚拟服务器
-C 清空虚拟服务器
-R 还原规则-s保存规则
-a  添加一个真实服务器(RS)
-e  编辑一个真实服务器
-d  删除一个真实服务器
-t   使用tcp
-u   使用udp
-L  list 查看虚拟服务器列表
-s   指定算法
-r   指定真实服务器RIP
-g   指定工作模式为DR模式
-i   指定工作模式为tunl模式
-m  指定工作模式为NAT模式
-w  指定RS权重不能超过100
-c   查看连接状态可与L使用
-n   以数字的形式显示输出结果

6.4 实例

6.4.1 添加虚拟服务器

添加一个虚拟服务器IP地址为192.168.153.188,tcp服务,端口为80,算法为rr

[root@localhost ~]# ipvsadm -A -t 192.168.153.188:80 -s rr

6.4.2 添加真实服务器

添加一个真实服务器地址为192.168.153.163,端口为80,权重为1,工作模式为nat模式

[root@localhost ~]# ipvsadm -a -t 192.168.153.188:80 -r 192.168.153.163:80  -w 1 -m

添加一个真实服务器地址为192.168.153.167,端口为80,权重为1,工作模式为nat模式

[root@localhost ~]# ipvsadm -a -t 192.168.153.188:80 -r 192.168.153.167:80  -w 1 -m

6.4.3 使用 ipvsadm -Ln 命令查看添加结果

[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.153.188:80 rr
  -> 192.168.153.163:80           Local   1      0          0         
  -> 192.168.153.167:80           Masq    1      0          0        

6.4.4 保存配置结果(不然重启之后配置会丢失)

[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm

6.4.5 查看保存配置的文件

[root@localhost ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.153.188:80 -s rr
-a -t 192.168.153.188:80 -r 192.168.153.163:80 -g -w 1
-a -t 192.168.153.188:80 -r 192.168.153.167:80 -m -w 1

6.4.6 删除真实服务器

删除上面添加的163真实服务器

[root@localhost ~]# ipvsadm -d -t 192.168.153.188:80 -r 192.168.153.163:80

6.4.7 使用 ipvsadm -Ln 命令查看删除结果

163真实服务器已经被删除

[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.153.188:80 rr
  -> 192.168.153.167:80           Masq    1      0          0  

6.4.8 删除虚拟服务器

[root@localhost ~]# ipvsadm -D -t 192.168.153.188:80

6.4.9 清空虚拟服务器

[root@localhost ~]# ipvsadm -C

6.4.10 重新读取保存的配置文件并查看

所有的配置已经恢复(上面的删除操作并没有保存)

[root@localhost ~]# service ipvsadm restart
ipvsadm: Clearing the current IPVS table:                  [  OK  ]
ipvsadm: Unloading modules:                                [  OK  ]
ipvsadm: Clearing the current IPVS table:                  [  OK  ]
ipvsadm: Applying IPVS configuration:                      [  OK  ]

[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.153.188:80 rr
  -> 192.168.153.163:80           Local   1      0          0         
  -> 192.168.153.167:80           Masq    1      0          0   

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

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

相关文章

专业医学病例翻译公司推荐

我们知道&#xff0c;医学病例翻译在涉外看病的患者中具有广泛的应用&#xff0c;它可以帮助医生快速了解患者的病情&#xff0c;为治疗和药物处方提供关键信息。因此&#xff0c;对于出国看病的患者&#xff0c;医学病例翻译便成了不可或缺的重要工具。 翻译医学病例不仅要求译…

使用 Node.js 搭建 API 网关

您好&#xff0c; 如果喜欢我的文章或者想上岸大厂&#xff0c;可以关注公众号「量子前端」&#xff0c;将不定期关注推送前端好文、分享就业资料秘籍&#xff0c;也希望有机会一对一帮助你实现梦想 外部客户端访问微服务架构中的服务时&#xff0c;服务端会对认证和传输有一些…

如何将微信视频号的视频保存到手机相册?

微信视频号是近年来微信推出的一项功能&#xff0c;它允许用户通过手机拍摄和分享短视频内容。然而&#xff0c;许多人纷纷表示他们想要保存微信视频号上的视频&#xff0c;以便在离线时观看。但一直以来这个需求腾讯一直没有开放随后也取消了复制视频链接功能&#xff0c;为此…

最全的操作系统原版镜像,镜像winxp、win7、8、10、11,win server2008、2012、2016、2019、2022各版本系统下载 址

1、 MSDN原版系统(我告诉你&#xff09; [软件、镜像下载地址](https://www.imsdn.cn/)2、 HelloWindows.cn 精校 完整 极致 Windows系统下载仓储站 镜像、软件下载地址 3、系统库 镜像下载地址 4、 山己几子木 镜像下载地址

Redis Predixy 集群

文章目录 一、概述二、测试规划三、Redis 服务实例准备3.1 配置Redis实例3.2 创建相关资源3.2 启动Redis服务实例 四、Sentinel 监控准备4.1 配置 sentine l3.2 开启 Sentinel 五、安装配置 Predixy5.1 下载 Predixy5.2 配置 Predixy5.3 启动 Predixy 代理 六、测试 如果您对Re…

快手协议算法最新版

快手的协议分析是指对快手算法系统进行分析&#xff0c;以了解其推荐内容和个性化用户体验的机制。 然而&#xff0c;一般来说&#xff0c;协议分析的目标是理解算法系统中各个组成部分的功能和作用&#xff0c;以及它们之间的相互关系。以下是一些常见的分析方向&#xff1a;…

Jmeter之JSR223

一、JSR223组件 JSR是Java Specification Requests的缩写,意思是Java规范提案。JSR已成为Java界的一个重要标准. JSR223其实包含了有好几种组件,但是其用法都是一致的,并且都是执行一段代码&#xff0c;主要分类如下&#xff1a; JSR223 PreProcessor JSR223 Timer JSR223 S…

高防CDN如何在防护cc上大显神通

高级防御CDN&#xff08;Content Delivery Network&#xff09;在对抗CC&#xff08;HTTP Flood&#xff09;攻击方面扮演着关键的角色&#xff0c;具备以下重要职能和作用&#xff1a; 流量分散&#xff1a;CC攻击的目标是通过大规模的HTTP请求使服务器过载&#xff0c;从而导…

【Docker】十分钟完成mysql8安装,你也可以的!!!

十分钟完成mysql8安装&#xff0c;你也可以的 前言安装步骤1.创建安装目录2.创建docker-compose.yml3.启动容器4.mysql开启远程连接5.连接mysql 总结 前言 本文基于Docker安装mysql:8.0.29&#xff0c;首先确保系统安装了docker和docker-compose。 没有使用过docker朋友可以去…

flink的安装与使用(ubuntu)

组件版本 虚拟机&#xff1a;ubuntu-20.04.6-live-server-amd64.iso flink&#xff1a;flink-1.18.0-bin-scala_2.12.tgz jdk&#xff1a;jdk-8u291-linux-x64.tar flink 下载 1、官网&#xff1a;https://flink.apache.org/downloads/ 2、清华镜像&#xff1a;https://mirr…

vue3+vite实现一个后台管理框架,毒蘑菇后台管理。

写后台管理的项目写了很多个了&#xff0c;虽说用的别人的模板&#xff0c;自己专注于自己的业务&#xff0c;保证自己的业务不出错就行了&#xff0c;但是自定义配置又不好去配置&#xff0c;大家用的模板都差不多&#xff0c;用模板自带的业务功能呢后台又得是模板自带的&…

Linu之VM及WindowsServer安装

# 1.操作系统 ## 1.1.什么是操作系统 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;是一种系统软件&#xff0c;它是计算机硬件和应用软件之间的桥梁。它管理计算机的硬件和软件资源&#xff0c;为应用程序提供接口和服务&#xff0c;并协调应用程序的…

算法通过村第十八关-回溯|青铜笔记|什么叫回溯(后篇)

文章目录 前言回溯热身问题输出二叉树的所有路径&#xff1a;路径总和问题&#xff1a; 总结 前言 提示&#xff1a;今夜思量千条路&#xff0c;明朝依旧卖豆腐。 --谚语 回溯是非常重要的算法思想之一&#xff0c;主要解决一些暴力枚举也搞不定的问题&#xff08;这里埋个坑&a…

Ubuntu 20.04设置虚拟内存 (交换内存swap)解决内存不足

数据库服务器程序在运行起来之后&#xff0c;系统内存不足。 在系统监控中发现&#xff0c;当数据库服务程序启动后&#xff0c;占用了大量内存空间&#xff0c;导致系统的剩余的内存往往只有几十MB。 在ubuntu系统中&#xff0c;swap空间就是虚拟内存&#xff0c;所以考虑在磁…

2017年第三届 美亚杯电子取证 个人赛题解

记录做题个人赛题目 取证大师直接取证 1 Gary的笔记本电脑已成功取证并制作成镜像 (Forensic Image)&#xff0c;下列哪个是其MD5哈希值。 A.0CFB3A0BB016165F1BDEB87EE9F710C9 B.5F1BDEB87EE9F710C90CFB3A0BB01616 C.A0BB016160CFB3A0BB0161661670CFB3 D.16160CFB3A0BB0161…

〔001〕虚幻 UE5 发送 get、post 请求、读取 json 文件

✨ 目录 🎈 安装 varest 扩展🎈 开启 varest 扩展🎈 发送 get 请求🎈 发送 post 请求🎈 读取 json 文件🎈 安装 varest 扩展 打开 虚幻商城,搜索 varest 关键字进行检索, varest 是一个 api 调用插件,支持 http/https 请求,也支持 json 文件的读取,最关键是该…

【毕业设计】基于springboot+vue+ssm的家乡特色推荐系统【源码+LW+PPT】

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括家乡特色推荐的网络应用&#xff0c;在外国家乡特色推荐系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&am…

新工业革命?基于机器视觉技术分拣机器人的未来与发展

原创 | 文 BFT机器人 01 分拣机器人的应用 基于机器视觉技术的分拣机器人可以将工人从繁重的劳动中解放出来&#xff0c;大大提高了分拣的效率&#xff0c;因此被广泛地应用于食品、物流以及煤矿等多个行业。 1.1 分拣机器人在水果分拣中的应用 随着农业科技的发展和人民生活…

基于PyTorch的中文情绪分析器设计与开发

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、相关基础理论2.1 主流深度学习框架2.2 神经网络2.2.1 神经网络基础 二、中文情感分类模型构建3.1 开发环境3.2 数据部分3.3 文本特征提取3.3.1、过滤标点符号3.3.2 中文分词、单词过滤 三 运行结果与分析五 结…

解决找不到msvcr120.dll无法继续执行问题的5个方法,快速解决dll问题

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是找不到msvcr120.dll的错误。这个错误通常发生在运行某些程序或游戏时&#xff0c;它会导致程序无法正常启动或运行。那么&#xff0c;如何解决找不到msvcr120.dll的问题呢&#xff1f;下面我…