keepalived检测UDP端口

keepalived支持的健康检测方式有:HTTP_GET|SSL_GET、TCP_CHECK、SMTP_CHECK、MISC_CHECK。

由于keepalived自身并不支持udp检测,有TCP_CHECK但是没有UDP_CHECK,所以这里只能使用MISC_CHECK混合检测方式调用外部脚本来对udp协议进行健康检测

复制代码
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
#   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}


vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    }
    virtual_ipaddress {
        192.168.53.100/24
    }
}

virtual_server 192.168.53.100 53 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.53.10 53 {
        weight 1
        MISC_CHECK {
            misc_path "/etc/keepalived/UDP_CHECK.sh "
            misc_timeout 10
        }
    }
}    
复制代码
UDP_CHECK.sh脚本内容如下:
#!/bin/bash
#PORT=`netstat -anpt |grep :53 |wc -l`
PORT=`netstat -anptu |grep nginx |wc -l`
if [ $PORT -eq 0 ];then
    systemctl stop keepalived
fi

我这里是在测试dnsmasq服务高,使用的nginx代理53UDP端口,所以脚本中检测的是nginx服务的UDP端口

posted @   太阳的阳ฅ  阅读(399)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示