LVS三种模式 原理 优缺点 数据包传输与修改过程

LVS 简介

 LVS​​ 是由 ​​章文嵩​​ 博士开发的 ​​四层(传输层)负载均衡​​ 解决方案,集成在 Linux 内核中。它通过 ​​IP 负载均衡技术​​ 将客户端请求分发到多台后端服务器(Real Server),提高系统的 ​​可扩展性​​ 和 ​​高可用性​​。
 LVS一共有三种模式: NAT、DR、TUN

NAT

原理

 用户请求到达lvs,lvs将请求的报文的目的IP改为RIP,同时将报文的目标端口也改为realserver的相应端口,最后将报文发送到realserver上,realserver将数据返回给lvs,lvs再把数据发送给用户

优点

  1. 端口映射灵活。
  2. NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。

缺点

  1. 数据进出都需要经过负载均衡服务器,流量压力大,服务器瓶颈较大

配置

  1. lvs
    1. 1 配置与网关通信的VIP(Virtual IP)
    1. 2 配置与real-server通信的DIP(Director server IP)地址
    1. 3 两个ip处于不同网段
  2. real-server
    1. 1 配置与lvs通信的RIP(Real-server IP)地址

网络传输

  1. 客户机访问lvs VIP
  2. lvs 进行DNAT操作 修改目的IP地址
    VIP —》 RIP (DNAT)
  3. lvs 根据调度算法 将请求转发到后台real-server
  4. real-server 将数据返回给lvs
  5. lvs 进行SNAT操作 将数据发送给客户机
    RIP —》 VIP (SNAT)

SNAT DNAT iptables实现

#SNAT
iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o ens33 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o ens33 -j SNAT --to-source 192.168.217.11
#DNAT
iptables -t	nat -A PREROUTING  -d 192.168.217.0 -p -tcp -dport 80 -i ens36 -j DNAT --to-destination 192.168.217.13

在这里插入图片描述

DR

原理

 用户请求到达lvs,lvs将请求的报文的目的MAC地址改为后端的realserver的MAC地址,目的IP为VIP(不变),源IP为Client IP地址(不变),然后lvs将报文发送到realserver,realserver检测到目的地址为自己本地的VIP,如果在同一网段,将请求直接返回给用户,如果用户跟realserver不在同一个网段,则需要通过网关返回给用户。

优点

  1. 数据直接从RS的默认网关转发,不经过LB服务器,流量压力小,负载能力高

缺点

  1. 因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里

配置

  1. lvs
    1.1 配置与real-server一致的VIP
    1.2 VIP用于在网关添加路由,接收数据,进行arp广播
    1.3 配置用于与real-server通信的DIP
     从该接口发送数据,避免识别自身为接收方
  2. real-server
    2.1 在本地lo接口配置与lvs一致的VIP
     VIP仅用于识别自身为接收方,禁用arp协议广播
    2.2 配置用于路由传输的RIP
     从该接口发送数据,避免识别自身为接收方

网络传输

  1. 客户机访问lvs VIP
  2. lvs 根据调度算法 将请求从DIP发送转发到后台real-server RIP
  3. real-server 将数据从RIP直接返回给客户机
    在这里插入图片描述

TUN

原理

 用户请求到达lvs,lvs通过IP-TUN加密技术将请求报文的包封装到一个新的IP包里面,目的IP为VIP(不变),然后lvs将报文发送到realserver,realserver基于IP-TUN解密,然后解析出来包的目的为VIP,检测网卡是否绑定了VIP,绑定了就处理这个包,如果在同一个网段,将请求直接返回给用户,否则通过网关返回给用户;如果没有绑定VIP就直接丢掉这个包

优点

  1. 数据响应不经过lvs
  2. IP再次封装,可以突破局域网限制

缺点

  1. 必须依赖公网IP
  2. 需要配置隧道接口,成本较高

配置

  1. lvs
    1.1 配置与real-server一致的VIP
     VIP为公网IP,直接在公网接收数据
    1.2 配置用于与real-server通信的DIP
     DIP为公网IP,直接在公网发送数据
  2. real-server
    2.1 在本地lo接口配置与lvs一致的VIP
     VIP仅用于识别自身为接收方,禁用arp协议广播
    2.2 配置用于公网传输的RIP
     RIP为公网IP,直接在公网接收传递数据

网络传输

  1. 客户机访问lvs
    原始报文 CIP(Client IP) —》 VIP
  2. lvs在外部再封装一层IP报文
    封装报文 DIP —》 RIP
  3. lvs通过隧道将报文转发到RIP
  4. real-server 接收报文 解封装
    DIP —》 RIP
    解封为
    CIP —》VIP
  5. real-server 检测到目的IP为本地lo接口VIP,接收数据
  6. real-server将数据返回给客户机
    VIP —》 CIP
    在这里插入图片描述

fullnat模式

概念

 相当与nat模式的补充扩展
 相比nat模式,fullnat多了一个local ip,IP地址转换时,源和目的ip都改了,即SNAT+DNAT

网络传输

  1. 客户机访问lvs VIP
  2. lvs 进行SNAT DNAT操作 修改IP地址
    报文 CIP —》 VIP
    CIP —》 VIP (SNAT)
    VIP —》 RIP (DNAT)
  3. lvs 根据调度算法 将请求转发到后台real-server
  4. real-server 将数据返回给lvs
  5. lvs 进行SNAT操作 将数据发送给客户机
    报文 RIP —》 VIP
    RIP —》 VIP (SNAT)
    VIP —》 CIP (DNAT)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值