1. Home
  2. vDDoS Proxy Protection
  3. High Availability

High Availability

To deploy High Availability response systems you need multiple vDDoS Servers at the Front-end, they will IP Failover based on vDDoS failover.

vDDoS Proxy Protection High Availability Keepalived

Let’s say you have 2 vDDoS Servers in the Front-end and 3 IP addresses:

  • 16.11.16.11 for vDDOS at MASTER server
  • 16.11.16.12 for vDDOS at SLAVE server
  • 16.11.16.100 is VIP (representing MASTER & SLAVE)
  • Install vDDoS: (on 2 servers)

    MASTER SERVER:

    curl -L https://github.com/duy13/vDDoS-Protection/raw/master/vddos-x.x.x-centos7 -o /usr/bin/vddos
    chmod 700 /usr/bin/vddos
    /usr/bin/vddos help
     
    /usr/bin/vddos setup
    /usr/bin/vddos autostart
    /usr/bin/vddos start
    


    SLAVE SERVER:

    curl -L https://github.com/duy13/vDDoS-Protection/raw/master/vddos-x.x.x-centos7 -o /usr/bin/vddos
    chmod 700 /usr/bin/vddos
    /usr/bin/vddos help
     
    /usr/bin/vddos setup
    /usr/bin/vddos autostart
    /usr/bin/vddos start
    


    Install Keepalived: (on 2 servers)

    MASTER SERVER:

    echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
    sysctl -p

    yum -y install keepalived
    mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

    nano /etc/keepalived/keepalived.conf
    
    global_defs { 
       notification_email { 
            [email protected]
       } 
       notification_email_from [email protected]
       smtp_server 127.0.0.1
       smtp_connect_timeout 30 
    } 
    
    vrrp_script chk_curl { 
        script "/usr/bin/curl http://16.11.16.11" 
        interval 2 
        weight -4 
        timeout 5 
        fall 2 
        rise 2 
    }
    
    vrrp_instance VI_1 { 
        state MASTER 
        interface eno16777736
        virtual_router_id 51 
        priority 101 
        advert_int 1 
        authentication { 
            auth_type PASS 
            auth_pass 123456
        } 
        virtual_ipaddress { 
            16.11.16.100/24 dev eno16777736
        } 
        track_script { 
            chk_curl 
        } 
    } 
    

    service keepalived start
    chkconfig keepalived on
    


    SLAVE SERVER:

    echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
    sysctl -p

    yum -y install keepalived
    mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

    nano /etc/keepalived/keepalived.conf
    
    global_defs { 
       notification_email { 
            [email protected]
       } 
       notification_email_from [email protected]
       smtp_server 127.0.0.1
       smtp_connect_timeout 30 
    } 
    
    vrrp_script chk_curl { 
        script "/usr/bin/curl http://16.11.16.12" 
        interval 2 
        weight -4 
        timeout 5 
        fall 2 
        rise 2 
    }
    
    vrrp_instance VI_1 { 
        state SLAVE
        interface eno16777736
        virtual_router_id 51 
        priority 101 
        advert_int 1 
        authentication { 
            auth_type PASS 
            auth_pass 123456
        } 
        virtual_ipaddress { 
            16.11.16.100/24 dev eno16777736
        } 
        track_script { 
            chk_curl 
        } 
    } 
    

    service keepalived start
    chkconfig keepalived on
    

    eno16777736: the network port of the vDDoS Server (eth0, eth1…)
    16.11.16.100: the virtual network address of the VIP
    priority 101: higher priority


    Check Failover:

  • Start vDDoS on SLAVE SERVER & Stop vDDoS on MASTER SERVER and check http://your-domain.com (16.11.16.100)
  • Start vDDoS on MASTER SERVER & Stop vDDoS on SLAVE SERVER and check http://your-domain.com (16.11.16.100)
  • Was this article helpful to you? Yes No