用包管理器安装+精准配置四要素是Linux运维中最快落地Keepalived高可用漂移IP的方式:先判网络环境(物理机/私有云用VRRP组播,公有云需HaVip),再装keepalived,防火墙放行vrrp,严格统一state、priority、virtual_router_id、authentication四参数,最后分层验证VIP绑定与通信。

直接用包管理器安装 + 精准配置四要素,是 Linux 运维中最快落地 Keepalived 高可用漂移 IP 的方式。重点不在装得多 fancy,而在环境判断准、参数对得严、网络通得稳。
先确认你跑在哪种网络环境上
这是所有配置的前提,错一步全盘失效:
-
物理机 / VMware / OpenStack / 本地局域网:可直接启用 VRRP 组播(224.0.0.18),VIP 用
ip addr add绑定到真实网卡(如 ens33),interface填网卡名即可 -
阿里云、腾讯云、AWS 等公有云:VRRP 组播被屏蔽,必须先在控制台创建 HaVip(或 Secondary IP),并手动绑定到主备两台 ECS(需在同一交换机);
keepalived.conf中virtual_ipaddress只能填这个已绑定的地址,填其他 IP 流量根本进不来
安装 Keepalived 推荐用包管理器
95% 的生产场景够用、稳定、省心:
- Debian/Ubuntu:
sudo apt-get update && sudo apt-get install -y keepalived - RHEL/CentOS 7/8:
sudo yum install -y keepalived(CentOS 8+ 推荐dnf) - 安装后验证:
ls /usr/sbin/keepalived和systemctl list-unit-files | grep keepalived - 防火墙放行 VRRP 协议:
sudo firewall-cmd --permanent --add-protocol=vrrp && sudo firewall-cmd --reload
核心配置四要素必须严格一致
90% 的 VIP 不漂移、漂了不通、反复切换,都卡在这四个字段:
-
state:主节点写
MASTER,备节点写BACKUP;不能留空、不能写FAULT -
priority:主备差值必须大于
advert_int(默认 1 秒),例如主设 100、备设 98;设 99 容易因网络抖动来回抢主 - virtual_router_id:同一 VRRP 实例中主备必须完全相同(范围 1–255),且整个局域网内唯一
-
authentication:块内
auth_pass主备严格一致,长度 ≤8 字符,大小写敏感
验证与排障关键点
别只看日志状态,要分层验证是否真通:
- 物理/私有云环境:
ip addr show dev ens33查 VIP 是否出现;tcpdump -i ens33 host 224.0.0.18看 VRRP 报文是否收发正常 - 公有云环境:查控制台中 HaVip 关联的 ECS 实例是否已变更;再配合
journalctl -u keepalived -n 30看是否有Entering MASTER STATE - 禁用
vrrp_strict(默认配置里常有)——它会阻止非 owner IP 响应 ping,导致 VIP 看似绑定成功却无法访问 - SELinux 启用时需授权:
setsebool -P keepalived_read_etc 1,否则读不到自定义健康检查脚本


















