LVS:
    概念:
        分流流量,均衡压力
    模式分为:
        NAT  DR  TUN  FULLNAT
    算法分为:
        静态:
            rr 轮询分流
            wrr 加权轮询
            sh 源地址hash绑定
            dh 目标地址hash绑定
        动态:
            lc 考虑后端服务器最少连接
            wlc 加权考虑后端服务器最小连接
            nq 永不排队
            sed 加权反差模型(能者多老模型)
            lblc dh + lc
            lblcr 复制的 dh + lc


二: NAT模式

细节要点:

   NAT模式不能做防火墙处理

   可隐藏内部服务器地址

   支持端口映射功能

   Director 是性能瓶颈和单点故障点

   Director 要支持报文转发功能

LVS负载均衡配置与实现_第1张图片

NAT: 使用地址转换技术完成不同网段的调度器与服务器的调度管理
    规划:
        Director:
            DIP: 192.168.43.200
            VIP: 172.16.43.200
        A:  RIP: 192.168.43.1
        B:  RIP: 192.168.43.2
    设置:
        Director:
            DIP: ifconfig eth1 192.168.43.200/24 up
            VIP: ifconfig eth0 172.16.43.200/16 up
            开启路由转发功能
        A:
            RIP: ifconfig eth0 192.168.43.1/24 up
            ROUTE: route add default gw 192.168.43.200
        B:
            RIP: ifconfig eth0 192.168.43.2/24 up
            ROUTE: route add default gw 192.168.43.200
    # -A 添加一个集群服务 -t tcp类型  -s 调度算法
    ipvsadm -A -t 172.16.43.200:80 -s rr
    # -a 添加一台服务器到集群服务中  -t tcp类型 -r 真实服务器ip -m DAT模式
    ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.1 -m
    ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.2 -m

三: DR模式

技术要点:

   Director 可以不需要报文转发功能

   RS 端的arp报文响应功能要关闭

   RS 端指向公网地址,不指向DIP

   不支持端口映射功能

LVS负载均衡配置与实现_第2张图片

DR:
    DR简单模式(Director与RS同在一个物理网段内)
    规划:
        Director
            DIP: 172.16.43.200
            VIP: 172.16.43.88 (route: eth0:0)
        A:
            RIP: 172.16.43.1
            VIP: 172.16.43.88 (route: lo:0)
        B:
            RIP: 172.16.43.2
            VIP: 172.16.43.88 (route: lo:0)
    设置:
        Director:
            DIP: ifconfig eth0 172.16.43.200/16 up
            VIP: ifconfig eth0:0 172.16.43.88/16 up
            ROUTE: route add -host 172.16.43.88 dev eth0:0
            开启路由转发功能
        A:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 172.16.43.1/16 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add -host 172.16.43.88 dev lo:0
        B:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 172.16.43.2/16 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add -host 172.16.43.88 dev lo:0
    ipvsadm -A -t 172.16.43.88:80 -s rr
    # -g DR模式
    ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.1 -g
    ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.2 -g

四: TUN模式(如下图加配置过程完成应该没有什么大碍)

技术要点:

   Director 支持IP隧道技术(双IP地址转换)

   RIP,DIP,VIP均为公网地址

   RS 的网关不指向DIP

   不支持端口映射

LVS负载均衡配置与实现_第3张图片

TUN:
    可以理解为DR复杂模式(Director与RS不在同一个物理网段内)
    规划:
        Director
            DIP: 172.16.43.200 (eth0)
            VIP: 172.16.43.88 (route: eth0:0)
            IIP: 192.168.0.200 (eth1)
        A:
            RIP: 192.168.0.1
            VIP: 172.16.43.88 (route: lo:0)
        B:
            RIP: 192.168.0.2
            VIP: 172.16.43.88 (route: lo:0)
    配置:
        Director:
            DIP: ifconfig eth0 172.16.43.200/16 up
            VIP: ifconfig eth0:0 172.16.43.88/16 up
            IIP: ifconfig eth1 192.168.0.200/24 up
            ROUTE: route add -host 172.16.43.88 dev eth0:0
            开启路由转发功能
        A:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 192.168.0.1/24 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add default gw 192.168.0.200
            ROUTE: route add -host 172.16.43.88 dev lo:0
        B:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 192.168.0.2/24 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add default gw 192.168.0.200
            ROUTE: route add -host 172.16.43.88 dev lo:0
    ipvsadm -A -t 172.16.43.88:80 -s rr
    # -i TUN 模式开启
    ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.1 -i
    ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.2 -i

五: 持久连接 (LVS中将客户端请求在一定时间内连续分发到同一组服务器的策略实现)

   持久连接类型: PCC 所有连接都进行服务器绑定  PPC  所有同一端口请求进行服务器绑定  PFMC 基于防火墙标记的多端口服务器请求绑定

 ipvsadm -A -t 172.16.43.88:0 -s rr -p 300 # PCC 将请求服务进行绑定300秒内到同一组服务器

 ipvsadm -A -t 172.16.43.88:80 -s rr -p 300 # PPC

 iptable -t mangle -A PREROUTING -d 172.16.43.88 -p tcp -m multiport --ports 22,80 -j mark --set-mark 10 # 将请求22,80服务标记为一组

 ipvsadm -A -f 10 -s rr