keepalived 学习笔记(三)vrrp包通过防火墙

一、问题

       使用 keepalived 方案给服务作主备高可用,根据 keepalived 学习笔记(二)知道 主备服务器上的 keepalived 软件是 master 定时发送 vrrp 到 backup,维持主备关系的,若是 backup 收不到 从主机发送给来的 vrrp 包,则 backup 会升级成 master,这样很可能出现 两主,也就是 俗称脑裂。在测试验证过程中,发现搭建的时候 主备关系是正常的,但是把主备机的防火墙打开,就会出现主主,通过 在主备机上抓包会发现收不到 任何 vrrp 包,基于此,分析是 防火墙没有通过 keepalived 的 vrrp 包所致。

二 、解决方案

1、防火墙

(1)  启用 IP 转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

(2)  防火墙添加规则

# firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \
  --in-interface enp0s8 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
success
# firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \
  --out-interface enp0s8 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
success
# firewall-cmd --reload
success

以上  enp0s8  是 keepalived 在配置文件中绑定的网卡

224.0.0.18  是 keepalived 采用多播模式发送时 vrrp包 的目标地址

若是单播模式发送的话, destination 的值直接 对端机的 IP 即可

 2、IP互信

 

 

 

 

 

参考资料:

https://www.cnblogs.com/lgh344902118/p/7737129.html

 

posted @ 2021-07-05 21:30  夏之夜  阅读(1275)  评论(0编辑  收藏  举报