【LVS实战】02 搭建一个LVS-NAT模式实验
一、网络结构
用虚拟机搭建如下的几台机器,并配置如下的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>
六、常用命令
- 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
相关文章:
【LVS实战】02 搭建一个LVS-NAT模式实验
一、网络结构 用虚拟机搭建如下的几台机器,并配置如下的ip 关于虚拟机网卡和网络的配置,可以参考 iptables章节,05节:网络转发实验 主机A模拟外网的机器 B为负载均衡的机器 C和D为 RealServer 二、C和D主机的网关设置 C和D机…...
Word 将文档中的【第几条】批量加粗
目录预览 一、问题描述二、解决方案三、参考链接 一、问题描述 我要制作一份文档,关于法律条文的,然后需要将条文中的【第几条】字样进行加粗表示,格式刷是不可能格式刷的,这明显不适合此种批量的操作,浪费事件。所以…...
苹果AirTag固件更新
苹果公司针对其热销的物品追踪器 AirTag 于今天发布了新的固件更新,最新版本号为 2A61,但是这次更新苹果并未提供发布说明,所以目前还不知道这次更新有什么新内容。 关于这次更新,用户无法自己手动更新 AirTag 固件,因…...
04.Oracle的体系架构
Oracle的体系架构 一、主要组件 一、主要组件 下面是一张网图,大家可以了解一下oracle的体系架构 Oracle数据库的体系架构可以分为以下几个主要组件:实例(Instance)、数据库(Database)、表空间ÿ…...
01【保姆级】-GO语言特点和安装使用和hello
01-GO语言基本概念和安装使用 一、概念1.1 Go语言的诞生1.2 GO语言的特点: 二、安装go2.1 安装2.2 安装环境变量 三、下载&安装goland3.1 官网下载3.2 下载后,进行安装: 四、编写Hello(详解) 如何学习:…...
EVM6678L 开发教程: IBL-TFTP 引导 elf 文件
目录 EVM6678L 开发教程: IBL-TFTP 引导 elf 文件安装 Tftpd64测试工程测试说明 EVM6678L 开发教程: IBL-TFTP 引导 elf 文件 参考: "C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\i2c\tftp\docs\README.txt" 此教程介绍如何在 EVM6678L 开发板上实现 IBL-…...
接口测试 —— Jmeter 之测试片段的应用
一、什么是测试片段? 控制器上一种特殊的线程组,它与线程组处于一个层级。与线程组不同的就是:测试片段不会执行。它是一个模块控制器或者被控制器应用时才会被执行。通常与Include Controller或模块控制器一起使用。 1.1 那它有啥作用&…...
接入文心一言实战(一):API申请与测试
大家好,我是豆小匠。 这期来介绍申请百度文心一言API的步骤。 第一步 注册百度智能云账号 网址:https://login.bce.baidu.com/new-reg?tplbceplat&fromportal 第二步:申请预置模型 网址:https://console.bce.baidu.com/qi…...
518抽奖软件,安全稳定,不怕手抖误按键
518抽奖软件简介 518抽奖软件,518我要发,超好用的年会抽奖软件,简约设计风格。 包含文字号码抽奖、照片抽奖两种模式,支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 防误按功能 入口: 主界面上点右…...
【STM32G431RBTx】备战蓝桥杯嵌入式汇总
文章目录 前言1.省赛模块总结 前言 蓝桥杯嵌入式要准备的模块还是有些数目的,做个目录方便查询 1.省赛模块 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→LED 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→LCD 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→…...
【抽奖系统】
文章目录 1. DDD四层架构2. 项目搭建 1. DDD四层架构 技术:SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter 架构:DDD 领域驱动设计、充血模型、设计模式 应用层{application} 应用服务位于应用层。用来表述应用和用户行为&#…...
如何在外SSH远程连接Ubuntu系统【无公网IP】
如何在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 如何在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经…...
在防御CC攻击上,高防CDN起着什么作用?
在当今数字化世界中,网络安全攻击已经成为普遍而严峻的威胁。特别是分布式拒绝服务攻击(DDoS)和CC攻击,它们有潜力使网络服务陷入完全瘫痪状态。为了应对这些威胁,采用高级防御CDN(内容传递网络)…...
被这7款在线涂鸦画板惊艳到,手残也能画出涂鸦大片!
作为一名涂鸦爱好者或者手帐达人,你是否在寻找好用的在线涂鸦画板软件呢?涂鸦画板软件释放了创造性的无限可能,让你能够将想法转化为令人惊叹的视觉效果,并轻松地与客户、同行和全球观众分享你的作品。 在这篇文章中,…...
pt权重转onnx记录
方法: 1.一般YOLO 会自带一个权重pt转onnx模型的代码 export.py 2.打开export.py ,我们运行该文件可以通过命令行运行,对照修改argument参数即可 3.运行命令行如下: python ./models/export.py --weights ./models/best.pt weights&#x…...
瑞数专题五
今日文案:焦虑,想象力过度发酵的产物。 网址:https://www.iyiou.com/ 专题五主要是分享瑞数6代。6代很少见,所以找理想哥要的,感谢感谢。 关于瑞数作者之前已经分享过4篇文章,全都收录在瑞数专栏中了&am…...
【Androidstudio学习笔记】设计引导页功能
设计引导页功能 主目录功能描述大致思路准备工作代码ActivityAdapter滑动动画 总结 主目录 功能描述 此功能用于新用户第一次进入应用时在部分较为复杂的功能使用前展示的操作流程,当然也可以在后续的其他功能键重新查看引导流程 展示指定数量的引导页࿰…...
【python】中位数(暴力+最大最小堆)
题目: """ 对给定长度为N的非负整数序列A,计算前奇数项的中位数。 输入:首行表示序列长度N。次行为N个正整数A1至AN。 输出:输出共(N1)/2行(向下取整),第i行表示到第A1...2i-1项…...
Avro 如何生成java Bean
作为一种很犀利的序列化的格式,avro在大数据量传输的时候很有优势。记录下。 1: .avsc 文件 {"namespace": "com.avro.bean","type": "record","name": "UserBehavior3","fields&qu…...
EG4003-一颗为微波、红外信号放大及处理输出的数模混合芯片
产品描述: EG4003是一款特意为微波、红外信号放大及处理输出的数模混合芯片,内部集成了运算放大器、双门限电压比较器、参考电压源、延时时间定时器和封锁时间定时器及状态控制器等,专用于防盗报警系统、人体门控制装置、照明控制开关等场合。…...
案例速递|手机摄像头模组底壳检测
东莞市沃德普自动化科技有限公司 www.wordop.com 检测背景: 在手机摄像头模组的精密制造流程中,模组底壳是镜头、CMOS传感器、VCM马达的核心承载与定位基准,其表面质量直接决定模组的装配精度、光学性能与长期使用可靠性。 检测需求&#x…...
生产仓储管理标签企业有哪些
在当今的生产仓储管理领域,标签起着至关重要的作用。它不仅能够提高管理效率,还能确保货物信息的准确传递。那么,有哪些生产仓储管理标签的企业值得关注呢?今天就为大家重点介绍广州杰众智能科技有限公司。一、杰众智能科技的基本…...
开源模拟器Ryujinx配置指南:解决卡顿问题与性能优化全攻略
开源模拟器Ryujinx配置指南:解决卡顿问题与性能优化全攻略 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx作为一款采用C#语言开发的开源Nintendo Switch模拟器&…...
编程常见函数--求反序int(C、C++、Python版)
目录 函数功能 思路 具体步骤 变量初始化 循环条件 反序数计算 返回值 示例说明 注意事项 C C通用代码 Python代码 函数功能 该函数用于计算一个整数的反序数,常用于判断对称性或者反序的场景 例如,输入 123,输出 321;输…...
DeepMosaics完整教程:3步掌握AI智能马赛克处理技术
DeepMosaics完整教程:3步掌握AI智能马赛克处理技术 【免费下载链接】DeepMosaics Automatically remove the mosaics in images and videos, or add mosaics to them. 项目地址: https://gitcode.com/gh_mirrors/de/DeepMosaics 还在为图片视频中的隐私保护问…...
Cursor Pro功能解锁技术指南:突破限制与优化使用方案
Cursor Pro功能解锁技术指南:突破限制与优化使用方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tria…...
Wan2.1模型实测:用TurboDiffusion快速生成电商产品展示视频
Wan2.1模型实测:用TurboDiffusion快速生成电商产品展示视频 1. 引言:当电商遇上秒级视频生成 想象一下这个场景:你是一家电商公司的运营,明天就要上架一款新产品,需要制作10个不同风格、不同角度的产品展示视频。按照…...
恒模约束波形设计(Constant Modulus Waveform Design)第2章 MIMO雷达波形设计基础
目录 2.1 MIMO雷达系统模型 2.1.1 发射-接收信号模型与阵列几何配置 2.1.2 信号依赖干扰建模 2.1.3 扩展目标与点目标检测模型 2.2 波形设计目标函数 2.2.1 波束赋形设计准则 2.2.2 输出SINR最大化框架 2.2.3 CRLB最小化方法 2.3 硬件约束与工程实现 2.3.1 高功率放大…...
语义通信实战:跳过“比特”保“语义”,手把手构建轻量级图像压缩重建网络(基于PyTorch)
语义通信实战:轻量级图像压缩重建网络从零实现(PyTorch版) 在无人机巡检、远程医疗等物联网场景中,传统图像传输常面临带宽与功耗的双重压力。我们团队去年为某农业无人机项目部署图像识别系统时,发现传统JPEG2000压缩…...
PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化
PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化 1. 引言 一幅珍贵的古代山水画,因为年代久远出现了多处破损和褪色;一张历史照片,因为保存不当而出现了霉斑和裂纹。这些文化遗产的损坏,往往意味着一段…...
