首页 > 系统相关 >linux LVS的NAT工作模式

linux LVS的NAT工作模式

时间:2022-10-25 17:24:05浏览次数:47  
标签:LVS lvs IP 报文 地址 NAT linux 请求

LVS:

lvs是一个负载均衡的一个集群软件,由内核集成,性能强大,支持百万计并发。

LVS集群的相关概念:

  • VS:虚拟服务器,指LVS服务器自身

  • RS:提供服务的服务器

  • CIP:客户端ip地址

  • VIP:lvs服务器对外发布的ip地址,用户通过vip访问集群

  • DIP:LVS连内网的ip地址叫DIP,用于接收用户请求的ip叫做VIP

用户访问流程:
  客户端通过 CIP--->VIP--->DIP---->RIP

LVS的四种工作模式:

  • lvs-nat:修改请求报文的目标IP,多目标IP的DNAT

  • lvs-dr:操纵封装新的MAC地址

  • lvs-tun:在原请求IP报文之外新加一个IP首部

  • lvs-fullnat:修改请求报文的源和目标IP

LVS的NAT模式

SNAT:
  私网--->公网 修改的是源计算机的地址,源地址会发生改变 内网访问外网的时候,需要将内部私有网络地址通过一个公网地址转化为公有地址

DNAT:
  公网--->内网 修改的是目标计算机的地址,目标地址会发生改变 内网采用的是私网地址,无法直接访问。外部访问先访问一个公网地址,通过这个公网地址转发到内网地址。

lvs-nat:
image

工作流程:

  • 客户端发送请求报文,用户发请求访问的就是lvs的vip,此时源地址是cip,目标地址是vip

  • 请求到达lvs服务器的vip后,将请求转发到内网的指定服务器。转发的时候将原有数据报文的目标地址改为了内网的RIP,端口号可能也会跟着改变。

  • 经过内网,指定的RIP服务器收到了用户的请求并处理请求,回应请求的时候,源端口为自己的RIP,目标IP为客户端的CIP。

  • 响应报文经过到达lvs服务器时,lsv从vip网卡发送报文出去的时候,将源ip改为自己的VIP,目标IP为客户端用户的CIP。最后通过互联网发送给用户。


lvs的nat工作模式和普通DAT的区别:

  • iptables的DAT:只能实现一对一。转发的时候只能转发到一个固定的机器上。

  • lvs-nat:本质是多目标IP的DNAT,转发的ip和端口可以映射到不同的机器上。

说明:

  • (1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP

  • (2)请求报文过去,响应报文也应该原路返回(请求报文和响应报文都必须经由Director转发)

  • (3)VS(lvs机器)必须是Linux系统,RS可以是任意OS系统

标签:LVS,lvs,IP,报文,地址,NAT,linux,请求
From: https://www.cnblogs.com/heyongshen/p/16825553.html

相关文章

  • Linux下 Python matplotlib 包无法使用中文
    官方办法摘抄如下#firstmethodmatplotlib.rcParams['font.family']=['SourceHanSansTW','sans-serif']#secondmethodmatplotlib.rcParams['font.family']......
  • Linux 测网速
    speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.6版本下均可运行。它基于speedtest.net的基础架构来测量网络的上/下行速率。下载:gitclonehttp......
  • linux下批量删除文件和文件夹
    批量删除trash下的文件夹和文件rsync--delete-before-dtmp/ trash/批量删除trash下的文件rsync--delete-before-a-H-v--progress--stats tmp/ trash/......
  • Linux bash sed command All In One
    LinuxbashsedcommandAllInOnesedsed,astreameditorsed,流编辑器awk,Perlhttps://www.gnu.org/software/sed/manual/sed.html#sedSCRIPTINPUTFILE.........
  • Linux 环境使用yum安装mysql8
    下载并安装Mysqlwget-i-chttps://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载后,执行安装yum-yinstallmysql80-community-release-el7-3......
  • Linux运行当前目录的文件时为什么需要加
    1.在Windows和DOS操作系统中,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,就会到path中指定的路径去找。2.Linux并不会检......
  • Linux 会话管理
    会话:  打开一个终端窗口,在里面输入指定和计算机的临时交互称为一次会话。会话的特点:在会话窗口中启动的进程是捆绑在这个会话窗口,如果这个窗口管理,在这个窗口中启动......
  • linux删除文件后,但空间未释放解决办法
    linux系统下文件被删除之后,使用df命令查看,磁盘空间却没有被释放,怎么排查?其实磁盘空间没有释放是有进程仍在占用被删除的文件,要想真正的删除,只需要停止或重启进程,释放进程......
  • Linux:使用ntpdate命令同步更新系统时间
    1、安装ntpdateyuminstallntpdate-y转者注:以Ubuntu为例的Debian系统安装命令如下apt-getinstallntpdate。ntpdate简单用法:#ntpdateip#ntpdatecn.pool.ntp......
  • Linux 纯shell备份文件
    克隆项目并进入项目目录:gitclonehttps://github.91chi.fun/https://github.com/Pricetx/backup.git;cdbackup创建所需目录:mkdir-p/root/backups/temp/添加......