keepalived多个实例

keepalived多个实例

我有两个运行 keepalived 的应用服务器,它们都在同一网络上使用 keepalived。我一直Jan 8 11:49:01 <server> Keepalived_vrrp[13764]: bogus VRRP packet received on eth0 !!!在系统日志中看到。这个问题似乎是在我昨天将第二个应用程序上线后出现的,除了将应用程序相互隔离之外,还有其他合适的方法可以解决这个问题吗?

下面是其中一个应用服务器上的一个节点的 keepalived.conf,它们都很类似,两个不同的应用程序使用不同的密码,但都使用相同的virtual_router_id

! Configuration File for keepalived

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2222
    }
    virtual_ipaddress {
        <public_ip>/24 dev eth0
    }
}

答案1

我可以通过在vrrp_instance VI_1块中添加以下内容来解决这个问题。

vrrp_unicast_bind 192.168.1.11   # Internal IP of this machine
vrrp_unicast_peer 192.168.1.12   # Internal IP of peer

看起来,心跳最初是通过单播发出的,并被其他实例接收。通过定义机器的对等体,您可以避免此问题。

答案2

就我的情况而言,在同一个网络上安装了多台 keepalived 路由器,并且在两个不同的路由器中变量中有相同的 id virtual_router_id

相关内容