编译安装Keepalived,实现热备并监听指定端口


前言

1、编译环境

系统:CentOS
Master IP:172.16.10.200
Backup IP:172.16.10.201
VIP:172.16.10.254

2、脚本使用说明

1、sh install_keepalived.sh 虚拟地址 运行VRRP的网卡 监听的端口 主备状态
如:在ens32接口上运行VRRP协议,状态为MASTER,VIP地址为172.16.10.254,并监听443端口是否正常运行
sh install_keepalived.sh 172.16.10.254 ens32 443 MASTER


一、MASTER部署

###1、直接执行

sh install_keepalived.sh 172.16.10.254 ens32 443 MASTER

2、出现以下界面即编译安装成功,安装目录为/usr/local/keepalived/,配置文件位置为/usr/local/etc/keepalived/keepalived.conf
在这里插入图片描述

二、BACKUP部署

1、运行

sh install_keepalived.sh 172.16.10.254 ens32 443 BACKUP

在这里插入图片描述
2、出现以下界面即编译安装完成
在这里插入图片描述

三、抓包分析

正常状态下的Master会向网络中不断发送通告报文
在这里插入图片描述
注意事项:
1、 运行VRRP协议需要防火墙允许224.0.0.18出入站
2、 如果想修改keepalived配置可通过运行keepalived_conf.sh修改
如:sh keepalived_conf.sh 172.16.10.254 ens32 22 MASTER

四、代码区

安装脚本

#!/bin/sh

VIP="$1"
eth="$2"
ports="$3"
status="$4"

wget https://www.keepalived.org/software/keepalived-2.2.7.tar.gz
tar -zxf keepalived-2.2.7.tar.gz
cd keepalived-2.2.7
yum install  gcc-c++  openssl-devel -y
./configure --prefix=/usr/local/keepalived
make&&make install
ln -s /usr/local/keepalived/sbin/keepalived  /usr/local/sbin/ 
mkdir /usr/local/etc/keepalived/


if [ "$status" = "MASTER" ];then
pri="150"
else
pri="120"
fi

mkdir /usr/local/etc/keepalived/
echo > /usr/local/etc/keepalived/keepalived.conf
cat >/usr/local/etc/keepalived/keepalived.conf<<EOF
vrrp_script chk_port {
        script "</dev/tcp/127.0.0.1/$ports"
        interval 1
        weight -50
}

vrrp_instance VI_1 {
    state $status
    interface $eth
    garp_master_delay 10
    virtual_router_id 51
    priority $pri
    advert_int 1
    virtual_ipaddress {
        $ip_addr
                        }
track_script {
       chk_port
                   }
                        }
EOF

systemctl enable  keepalived&&systemctl restart keepalived&&systemctl status keepalived

复制保存为install_keepalived.sh,然后sh install_keepalived.sh

改配置脚本

#!/bin/sh

VIP="$1"
eth="$2"
ports="$3"
status="$4"

if [ "$status" = "MASTER" ];then
pri="150"
else
pri="120"
fi

mkdir /usr/local/etc/keepalived/
echo > /usr/local/etc/keepalived/keepalived.conf
cat >/usr/local/etc/keepalived/keepalived.conf<<EOF
vrrp_script chk_port {
        script "</dev/tcp/127.0.0.1/$ports"
        interval 1
        weight -50
}

vrrp_instance VI_1 {
    state $status
    interface $eth
    garp_master_delay 10
    virtual_router_id 51
    priority $pri
    advert_int 1
    virtual_ipaddress {
        $ip_addr
			}
track_script {
       chk_port
 		   }
			}
EOF

systemctl enable  keepalived&&systemctl restart keepalived&&systemctl status keepalived

复制保存为keepalived_conf.sh,用法详见注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值