centos防火墙默认是不允许keepalived使用 vrrp的组播,如果不开启组播ip,keepalived双机不能实现热备的效果,只能实现负载的效果,即虚拟ip不能实现漂移。
热备:当主keepalived挂掉时,虚拟Ip会漂移到备用的keepalived上。当主的keepalived启用是,虚拟ip再次回到主的keepalived上。
防火墙开启keepalived使用组播ip执行一下命令:
centos7使用一下命令:
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eno16777736 --destination 224.0.0.18 --protocol vrrp -j ACCEPT;
firewall-cmd --reload;
红色标记eno16777736是指的服务器的网卡名称,INPUT代表接收224.0.0.18的报文,使用 ip a 命令查看.
centos6下使用一下命令:
编辑防火墙配置文件
vi /etc/sysconfig/iptables 添加一下内容
-A INPUT -p 112 -d 224.0.0.0/32 -j ACCEPT
重启防火墙
然后再看系统的ip地址,发现恢复正常,只有一台机器是master状态了。