美文网首页
Lvs+Keepalived

Lvs+Keepalived

作者: LoWang | 来源:发表于2019-09-25 10:03 被阅读0次

    https://www.linuxidc.com/Linux/2016-03/129232.htm
    https://www.linuxidc.com/Linux/2016-03/129233.htm

    sudo iptables -L -t nat
    sudo iptables -nL -t nat --line-number
    sudo iptables -t nat -D PREROUTING -p tcp -d 192.168.1.199 --dport 80 -j REDIRECT
    sudo iptables -t nat -A PREROUTING -p all -d 192.168.1.199 -j REDIRECT
    

    LVS+Keepalived

    3台LVS+Keepalived

    ipvsadm -A -t 192.168.1.100:80 -s rr 
    ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.10:80 -m
    ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11:80 -m
    ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.12:80 -m
    

    解释:

    -A, --add-service:     为ipvs虚拟服务器添加一个虚拟服务,即添加一个需要被负载均衡的虚拟地址。虚拟地址需要是ip地址,端口号,协议的形式。
    -D, --delete-service: 删除一个虚拟服务。
    -C, --clear:               清除所有虚拟服务。
    
    -a, --add-server:      为虚拟服务添加一个real server(RS)
    -d, --delete-server:  删除
    -s, --scheduler scheduling-method:指定调度算法。调度算法可以指定以下8种:
        rr(轮询),
        wrr(权重),
        lc(最后连接),
        wlc(权重),
        lblc(本地最后连接),
        lblcr(带复制的本地最后连接),
        dh(目的地址哈希),
        sh(源地址哈希),
        sed(最小期望延迟),
        nq(永不排队)
    
    -r, --real-server server-address:  
    为虚拟服务指定数据可以转发到的真实服务器的地址。可以添加端口号。如果没有指定端口号,则等效于使用虚拟地址的端口号。
    
    [packet-forwarding-method]:
    此选项指定某个真实服务器所使用的数据转发模式。需要对每个真实服务器分别指定模式。
        -g, --gatewaying: 使用网关(即直接路由),此模式是默认模式。
        -i, --ipip: 使用ipip隧道模式。
        -m, --masquerading: 使用NAT模式。
    

    3台Keepalived配置

    global_defs {
        router_id LVS_Server
    }
    vrrp_instance VI_1 {
        state BACKUP #主节点: MASTER
        interface ens8
        virtual_router_id 51 #保持一致
        priority 120 #保持一致
        nopreempt
        advert_int 1 #检测间隔
        authentication {
            auth_type PASS #保持一致
            auth_pass password #保持一致
        }
        virtual_ipaddress {
            192.168.1.100 dev ens8 
        }
    }
    
    virtual_server 192.168.1.100 80 {
        delay_loop 3
        lvs_sched rr
        lvs_method DR
        protocol TCP
        real_server 192.168.1.10 80 {
            weight 1
            TCP_CHECK {
            connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 10
            }
        }
        real_server 192.168.1.10 80 {
            weight 1
            TCP_CHECK {
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 10
            }
        }
        real_server 192.168.1.10 80 {
            weight 1
            TCP_CHECK {
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 10
            }
        }
    }
    

    RealServer配置

    1. 使用lo接口配置VIP
    EXPORT vip=192.168.1.100
    ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
    /sbin/route add -host $vip lo:0
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    
    1. 使用iptables进行REDIRECT
    sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.1.199 --dport 80 -j REDIRECT
    
    #删除
    #sudo iptables -t nat -D PREROUTING -p tcp -d 192.168.1.199 --dport 80 -j REDIRECT
    
    #本地也可以访问
    sudo iptables -t nat -A OUTPUT -p tcp -d 192.168.1.199 -j REDIRECT
    

    相关文章

      网友评论

          本文标题:Lvs+Keepalived

          本文链接:https://www.haomeiwen.com/subject/inyiuctx.html