Keepalived兩節點出現雙VIP情況及解決方法【原創】


1、故障現象

倆台服務器keepalived的vip在倆台服務器同時出現

A:10.70.12.72

B:10.70.12.73

 

2、問題分析

1)、先分析那台服務器在提供服務

A:10.70.12.72

B:10.70.12.73

可以看到是B機器72在對外提供lvs轉發服務

2)、查看倆台服務器的keepalived日志

 發現倆台的日志都是判斷自己是master狀態,證明倆者之間沒有通過vrrp通信,來得到對方的狀態信息

查看倆台服務器防火牆,發現B的防火牆沒有關閉。關閉后發現keepalived日志報錯如下

Nov  8 09:32:49 Cent65CTS1037061 Keepalived_vrrp: bogus VRRP packet received on eth0 !!!
Nov  8 09:32:49 Cent65CTS1037061 Keepalived_vrrp: VRRP_Instance(VI_1) Dropping received VRRP packet...
Nov  8 09:32:50 Cent65CTS1037061 Keepalived_vrrp: ip address associated with VRID not present in received packet : 10.70.12.20
Nov  8 09:32:50 Cent65CTS1037061 Keepalived_vrrp: one or more VIP associated with VRID mismatch actual MASTER advert

百度一下發現可能是VRID和別的機器相同導致的,進一步驗證一下,如下

在A服務器上抓包,發現好多VRID是51的IP在對vrrp發包。問題找到了。

[root@Cent65CTS1037051 ~]# tcpdump -i eth0 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:32:24.556954 IP 10.70.12.211 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
09:32:24.586937 IP 10.70.12.93 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20
09:32:24.637709 IP 10.70.12.237 > 224.0.0.18: VRRPv2, Advertisement, vrid 53, prio 150, authtype simple, intvl 1s, length 20
09:32:24.639037 IP 10.70.12.117 > 224.0.0.18: VRRPv2, Advertisement, vrid 14, prio 100, authtype simple, intvl 1s, length 20
09:32:24.641544 IP 10.70.12.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 31, prio 102, authtype simple, intvl 1s, length 20
09:32:25.259017 IP 10.70.12.89 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20
09:32:25.557094 IP 10.70.12.211 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
09:32:25.588104 IP 10.70.12.93 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20  

第一,為B防火牆沒有關閉,導致A和B之間不能通信,都判斷自己為master綁定vip

第二,keepalived的vrid與別人的相同,並且密碼還都是一樣的導致,keepalived報錯

 

3、解決方法

第一、服務器都要關閉防火牆,不關閉就要增加vrrp策略

 -A INPUT -p vrrp -j ACCEPT

 第二、keepalived的vrid設置的不同,且最后修改密碼

    virtual_router_id 82
    authentication {
        auth_type PASS
        auth_pass 2111
     }

 

參考

Keepalived兩節點出現雙VIP情況及解決方法_服務器應用_Linux公社-Linux系統門戶網站 https://www.linuxidc.com/Linux/2017-10/147537.htm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM