代理服务器-LVS的NAT模式

轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现) 距离场在运动规划中则常用于地图建模和轨迹梯度优化。本文图解欧氏距离场EDT的算法原理,并基于双线性插值给出欧氏梯度场的公式推导,并给出ROS C++和Python的算法实现加深理解 阅读详情

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:Squid,Haproxy,LVS,FRP(内网穿透)。

前面两个小节,我们介绍了LVS的相关概念和里面涉及到3种模式和算法。由于算法相对固定,并且Nginx里面也有类似的算法,所以下面2个小节,我们来讲讲里面的其中两种模式。

一、NAT 模式的核心原理

NAT 模式通过修改数据包的 源 IP 和 目标 IP 实现流量转发,是 LVS 三种工作模式中配置最简单但性能较低的一种。
关键流程:

  1. 客户端发送请求到 VIP(Virtual IP),Director 接收请求。Director 修改请求包的 目标 IP(VIP → Real Server IP),并通过 DIP(Director IP) 转发给 Real Server。

  2. Real Server 响应:Real Server 处理请求后,将响应返回给 Director 的 DIP。Director 修改响应包的 源 IP(Real Server IP → VIP),返回给客户端。

流量路径示意图:

Client → [VIP] Director [DIP] → Real Server   Client ← [VIP] Director [DIP] ← Real Server  

二、NAT 模式的关键配置

1.网络拓扑:

此图来源于网络

图片

2.内核参数:Director 必须开启 IP 转发(net.ipv4.ip_forward=1)。


三、NAT 模式的部署

原本打算使用单网卡来模拟这个情况的,但是最后测试发现DR在转发请求到后端RS的时候,只修改目的IP,不修改源端IP,导致没办法回包,所以请求失败,所以下面这个还是基于2张网卡来实现。其中

VIP:192.168.31.19(模拟外网IP)《网卡1》

DR:192.168.179.130 《网卡2》

图片

RS:192.168.179.131/132(部署Nginx提供web服务)

这里我按照前面的小节完成ipvsadm的部署,以及内核转发功能的打开。

DR:添加ipvs规则​​​​​​​

#  添加 NAT 规则(将 VIP:80 的请求转发到 Real Server)ipvsadm -A -t 192.168.31.19:80 -s rr        ipvsadm -a -t 192.168.31.19:80 -r 192.168.179.131:80 -mipvsadm -a -t 192.168.31.19:80 -r 192.168.179.132:80 -m

-A: 添加一个新的虚拟服务。

-t: 指定TCP协议的服务。

-s rr: 指定调度算法(scheduler),这里的rr代表轮询(Round Robin)。

-a: 向已有的虚拟服务添加真实服务器(real server)。

-t: 再次指定虚拟服务的IP地址和端口(192.168.31.19:80)。

-r: 指定真实服务器的IP地址和端口(192.168.179.131:80)。

-m:请求将通过NAT方式转发到真实服务器。

图片

RS:启用Nginx,将服务器网关指向192.168.179.130

图片

测试访问

图片

后端RS日志

图片

这里有个小疑问,以前没怎么关注这个问题。从后端RS的日志发现,这里的发现DR只修改了目标地址,并没有修改源IP地址。和传统的NAT(同时修改目标地址和源地址)这里说的是一种DNAT-only允许后端服务器直接获取客户端真实IP,适用于需要审计或基于IP的访问控制场景。这一特性在2010年代随着云计算和微服务架构的普及被广泛采用。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

链接文件及功能安全:S32K3如何将FLASH驱动放到RAM里面、RAM如何实现软件复位数据不丢失操作。 在通过RTD的SDK也好MCAL也好,始终存在一个问题,生成的代码除了看门狗模块,默认都是放在flash里面,按照正常逻辑来看没啥大的问题,思考一个问题:Flash放在0x100的位置,但是此时我们要操作0x100怎么办?那肯定不允许啊,但是将flash的驱动放在RAM里面就可以避免这个问题的产生。Flash的特性:PF0能操作PF1,当然PF1也能操作PF0的,以此类推,只要不操作自身,想怎么玩都可以。这也是一个物理特性吧。 阅读详情

相关推荐

若依集成mybatisplus、兼容旧分页【亲测有效】

service类继承ServiceImpl类 实现 你的Service接口。hutool工具包和lombok工具包如果不需要的话可以自行删除并修改后面的类里面的代码。自带的pagehelper用的1.4.6里面的jsqlparser用的4.5.0。mybatis-plus用的3.4.2里面的jsqlparser用的4.0.0。jsqlparser包,不剔除是这样的,有个冲突,我用的前端写的请求,返回的格式和原来的一样,已兼容。你的Entity类上面需要增加表的名字。

lh155136的博客 3566

Linux 中安装配置 LVS 实现前向代理负载均衡的步骤

DR(Direct Routing)模式是 LVS 支持的一种负载均衡方式,采用直接路由(即 DSR)的方式来实现负载均衡,它将所有的请求都发送到后端真实服务器上进行处理,可以有效地降低负载均衡器的负担,提高系统的吞吐量,在 DR 模式中,负载均衡器只负责接收客户端的请求,并将请求中的目标 IP 地址替换成后端服务器的 IP 地址,不对请求进行任何处理。在配置LVS之前,先清晰两个概念,前向负载均衡和后向负载均衡,它们都是负载均衡的方式,区别在于负载均衡器的位置。

人工智能全栈工程师 | 智能算法研发与实战落地​专注于人工智能算法研究、代码实现与工程落地,提供从模型设计到部署应用的全流程解决方案。 1347

在工作台 LS-DYNA 中检索和变换反作用力分量

在结构仿真中,通常需要由施加的位移或速度边界条件产生的反作用力。此外,通常需要根据用户定义的坐标系解析反作用力分量。在本文中,详细介绍了在Workbench (WB) LS-DYNA 中,相对于用户定义的坐标系检索和变换反作用力分量的过程。

jkh920184196的博客 885

Lvs、Nginx、HAproxy区别及优缺点

像对于大型的,需要进行高并发的网站或者对网络不太严格的时候,可以使用nginx;对于大型的Web服务器的时候可以使用HAproxy;对性能有严格要求的时候可以使用lvs,就单纯从负载均衡的角度来说,lvs也许会成为主流,更适合现在大型的互联网公司。HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做。...

Zhaohui_Zhang的博客 2333

手把手教你用STM32F103C8T6驱动CLRC663国产NFC模块(兼容A/B/F/15693卡)

本文详细介绍了如何使用STM32F103C8T6驱动国产CLRC663 NFC模块,支持ISO14443A/B、Felica和ISO15693协议。从硬件设计、协议适配到状态监控,提供完整的工程实现方案,适用于智能门锁、支付终端等应用场景。

weixin_30689307的博客 446

ubuntu 18.04 + Kimera slam 安装与demo测试

环境:opencv 3.4.12,其他的都是按照文档下载的。 首先进行组件的安装 一、Kimera-VIO 安装参考文档:https://github.com/MIT-SPARK/Kimera-VIO/blob/master/docs/kimera_vio_install.md 按照文档装就好,在安装过程中碰到如下问题: 0、make 过程很卡,不要用所有的核 1、cmake过程中卡下载 ORBvoc.zip ,手动下载这个文件,解压,将里面的3个文件,放到/Kimera-VIO/vocabu.

dna葡萄糖的博客 3629

lvs 代理三种模式

1.tunnel模式 四台服务器: DR=192.168.84.130 VIP=192.168.84.199 RIP1=192.168.84.131 RIP2=192.168.84.132 RIP3=192.168.0.102 lvs服务器脚本: #!/bin/bash #lvs script(tunnel mode) DR=192.168.84.130 VIP=192.168.84.199 RIP1=192.168.84.131 RIP2=192.168.84.132 RIP3=192.168.

weixin_46018506的博客 1141

【技术解析】华为智算中心:昇腾AI算力与无损网络如何驱动大模型训练

本文深入解析了华为智算中心如何通过昇腾AI算力与超融合以太无损网络的协同,驱动千亿参数大模型的高效训练。昇腾NPU提供专用计算引擎,而基于RoCE的无损网络则通过PFC、ECN等技术确保万卡集群间的高带宽、零丢包通信,实现算力利用率最大化,解决大规模AI训练的核心瓶颈。

weixin_29311017的博客 194

LVS和nginx和keepalived四层和7层的一些测试,nginx和keepalived共用环境的部署,lvs,nginx客户端IP透传

LVS四层代理 nginx七层代理 nginx四层代理 keepalive四层 keepalive转发卡死问题出来,lvs,nginx客户端IP透传

莎拉拉吗酷奇的博客 1176

使用openair包分析气象数据

气象数据通常是有规律的时间序列,分析气象数据时需要对空气质量测量、气象数据和扩散模型输出进行分析。openair 是用于分析空气质量数据或更广泛的大气成分数据的R软件包。该软件包广泛应用于学术界、公共和私营部门。该项目最初由英国自然环境研究委员会(NERC)资助,并由英国环境部(Defra)提供额外资金。

Christina 2520

AD9026芯片开发实战指南:从硬件配置到射频校准

本文为AD9026芯片开发实战指南,详细解析了从硬件设计、电源时钟配置、SPI初始化到多芯片同步与JESD204高速链路建立的完整流程。重点探讨了射频校准技术,包括初始化校准与跟踪校准,以保障5G、MIMO等现代通信系统所需的射频性能。旨在帮助开发者系统掌握这颗高性能射频收发器的应用,规避常见设计陷阱。

tomato的博客 851

LVS四层负载均衡集群

LVS四层负载均衡集群

m0_73302728的博客 953

Multisim仿真电路:(十二)MOS管缓启动电路设计与优化

本文详细介绍了基于Multisim的MOS管缓启动电路设计与优化方法。通过分析米勒平台效应,探讨RC参数选择、多级设计和有源电路等技巧,有效抑制冲击电流并优化开关损耗。文章结合仿真实例,提供实用的设计策略和实际应用注意事项,帮助工程师提升电源管理系统的可靠性。

pytorch8learner的博客 237

LVS详解

即linux虚拟服务器四层负载均衡基本上都会使用 LVS,据了解 BAT 等大厂都是 LVS 重度使用者,就是因为 LVS 非常出色的性能,能为公司节省巨大的成本。LVS,全称 Linux Virtual Server 是由国人章文嵩博士发起的一个开源的项目,在社区具有很大的热度,是一个基于四层、具有强大性能的反向代理服务器。它现在是标准内核的一部分。它具备可靠性、高性能、可扩展性和可操作性的特点,从而以低廉的成本实现最优的性能。LVS工作模式分为NAT模式、TUN模式、以及DR模式。

wjy6_的博客 1157

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LVS的NAT模式配置记要

完成了LVS的性能优化,DR模式的线上验证后。我们来开始LVS的NAT之旅吧!    调度机上使用Keepalived管理IPVS: yum -y install ipvsadm keepalived sendmail chkconfig keepalived on chkconfig sendmail on     Keepalived配置文件`/etc/k

每天积累一点,一年后你会发现,自己变化很大 2150

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤

由以上架构图看到,调度服务器,真实服务器三台机器都配置同一个虚拟ip,这会导致ip冲突的问题。解决方法: 设vip 虚拟地址 配在各自的虚口上lo 代理和真实都是一个地址都配在 虚拟网卡回环口上。

wyq2070857323的博客 1695

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用tcpdump测试反向代理和lvs的nat区别

关于反向代理,一个请求过来,实际反向代理服务器要和两个对象做3次握手 客户端到反向代理服务器,是一个3次握手 反向代理服务器请求后端web服务器,是一个3次握手 lvs的nat和反向代理不同。 lvs实际只修改数据包的目标地址,不做其它的操作。数据包的随机序列号seq等没变,实际还是客户端和后端web服务器做的3次握手 可以通过tcpdump抓取反向代理服务器的端口记录和后端...

weixin_30906425的博客 517

LVS详解【篇五】--VS/FULLNAT

FULLNAT   FULLNAT模式下,LB会对请求包和响应包都做SNAT+DNAT。 无论是DR还是NAT模式,不可避免的都有一个问题:LVS和RS必须在同一个VLAN下,否则LVS无法作为RS的网关。 这引发的两个问题是: 1、同一个VLAN的限制导致运维不方便,跨VLAN的RS无法接入。 2、LVS的水平扩展受到制约。当RS水平扩容时,总有一天其上的单点LVS会成为瓶颈。

qianye_111的博客 2468

LVS的学习实验和总结

LVS是Linux virtual server的缩写,为linux虚拟服务器,是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接收到请求,返回给用户。实验环境:准备一台客户端client,路由器router(其中路由器router要设置两块网卡,一个仅主机一个NAT),一台LVS,两台RS1和RS2。LVS中配置两块网卡,一块仅主机一块NAT,eth0,eth1的IP配置如下。在LVS和两台RS中添加lo路由回环32。

dou_ding91的博客 330

代理服务器-LVS的DR模式

上个小节我们介绍LVS的的NAT模式,但是这个NAT模式所有请求都会经过DR,容易出现瓶颈。今天我们来讲解另外一种模式:DR模式,只有请求会经过DR,请求返回并不会经过DR,而是直接有RS直接返回。这样就大大降低了DR的压力。

888

NAT模式 LVS负载均衡部署

1 当客户端 发起请求报文是:源ip:客户端的ip地址(cip) 目的地址:vip(代理服务器的外网地址)2.当数据包到达我们的 代理服务器 源ip不变,需要修改目的ip及端口号源ip:客户端的ip地址(cip) 目的地址:rip (后端真实服务器ip)3 .真实服务器 收到报文后 构建响应报文。

wyq2070857323的博客 862

Nginx

Nginx什么是正向代理服务器与反向代理服务器正向代理服务器反向代理服务器安装nginx 什么是正向代理服务器与反向代理服务器 正向代理服务器 客户端和目标服务器之间的服务器,客户端向代理发送一个请求指定目标服务器,然后代理向目标服务器请求并获得内容,并返回给客户端,平时说的代理服务器一般是正向代理服务器 反向代理服务器 客户端和目标服务器之间的服务器,客户端向代理发送一个请求,然后代理向目标服务器请求并获得内容,并返回给客户端。反向代理隐藏了真实的服务器 安装nginx 安装依赖 yum -y

cnzhaoshe的博客 404

2019/05/21 LVS工作模型

LVS工作原理 讲iptables,提到过DNAT,把目标地址作为转换,适用于从互联网网络中访问企业内部网络(先是用户的请求,连接公网的地址,公网地址得到请求后转发到企业内部私网地址服务,但是DNAT是一对一,是能把公网请求转发的一个服务器上去,不能转发到多个服务器上去,只能实现单一的一个主机的转发,做不到调度功能,把用户的请求根据某种算法调度到后端的多个服务器上去 充当调度器,LVS只是...

qq_42227818的博客 143

nginx+tomcat动静分离、负载均衡

DR 客户端的请求通过调度器传输,服务器直接应答给客户端,不经过调度器。TUN 客户端的请求通过调度器传输,服务器直接应答给客户端,不经过调度器。NAT 客户端的请求和服务器的应答都通过代理服务器来传输。代理服务器:客户端的请求和服务器的应答都通过代理服务器来传输。最小连接(leastconn)加权轮询(static-rr)最小连接(leastconn)haproxy(四层、七层)轮询(roundrobin)源地址哈希(source)nginx(四层、七层)加权最小连接(wlc)

2401_83683659的博客 752

lvs原理, 只改 ip 不改端口, vpn arp tcp 隧道 (子网掩码作用和局域网传输)

思考问题角度: 0. 前置数据和条件 1. 正常流程 2. 一个人多次,多个人多次 3.每个对象身上的状态对于 lvs :1.正常流程: client: ip地址. 每次传输时 mac 地址获取机制? .传输出去的 ip 和 mac 路由器: 接受到的 ip,mac 地址. 发出去的 ip,mac 地址. 如何获取的? lvs: 同上. realserve

fei33423的专栏 2753

lvs集群、NAT模式和DR模式、keepalive

为了维护系统的可用性,可靠性,容错性。DS:director server lvs集群中的主服务器,也就是调度器(即nginx的代理服务器),是集群的核心,调度器就是用来接受客户端的请求转发到后端的服务器。好处在于,对于客户端来说,请求的目标地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对ip和端口进行转换,后端的服务器也不需要更改任何配置。在NAT模式下,lvs会将来自客户端的请求报文中的目标ip地址和端口,修改为lvs内部的ip地址和端口,然后把请求转发到后端服务器。

Hai990218的博客 1693
上一篇: 代理服务器-LVS的3种模式与调度算法
下一篇: 代理服务器-LVS的DR模式
dessler
博客等级 码龄20年 3057粉丝 434原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值