centos7 keepalived以及防火墙配置

安装和配置keepalived,网上有很多资料,但是都没有提到防火墙这块,而且很多都是互相抄袭的,就算配置对了也会遇到很多问题

在查阅资料的时候配置好了keepalived,但是出现了裂脑,即两台服务器都抢占了虚拟ip,这样会造成很严重的影响,主要原因是防火墙和配置。一般配置是没问题的,主要还是防火墙

现在说说怎么配置

一下载keepalived

yum -y install keepalived

二编辑/etc/keepalived/keepalived.conf

vim /ect/keepalived/keepalived.conf

global_defs {
    notification_email {
        #mr@mruse.cn       # 指定keepalived在发生切换时需要发送email到的对象,一行一个
        #sysadmin@firewall.loc
    }
    notification_email_from xxx@163.com   # 指定发件人
    smtp_server smtp@163.com              # smtp 服务器地址
    smtp_connect_timeout 30               # smtp 服务器连接超时时间
    router_id LVS_1 # 标识本节点的字符串,通常为hostname,但不一定非得是hostname,故障发生时,邮件通知会用到
}

vrrp_instance VI_1 {  # 实例名称
    state MASTER      # 可以是MASTER或BACKUP,不过当其他节点keepalived启动时会将priority比较大的节点选举为MASTER
    interface eth0    # 节点固有IP(非VIP)的网卡,用来发VRRP包做心跳检测
    virtual_router_id 51 # 虚拟路由ID,取值在0-255之间,用来区分多个instance的VRRP组播,同一网段内ID不能重复;主备必须为一样;
    priority 100      # 用来选举master的,要成为master那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255(在此范围之外会被识别成默认值100)
    advert_int 1      # 检查间隔默认为1秒,即1秒进行一次master选举(可以认为是健康查检时间间隔)
    authentication {  # 认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位)
        auth_type PASS  # 默认是PASS认证
        auth_pass MrUse # PASS认证密码
    }
    virtual_ipaddress {
        192.168.14.166    # 虚拟VIP地址,允许多个
    }
}

备份服务器

state BACKUP     # 此值可设置或不设置,只要保证下面的priority不一致即可
interface eth0   # 根据实际情况选择网卡
priority 40      # 此值要一定小于Master机器上的值,最好相差不少于50

这样就完成了基本配置

三启用ip转发

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

四防火墙添加规则

# 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

分别启动keepalived

(sudo)systemctl start keepalived

这样就不会出现裂脑的情况

posted @ 2017-10-26 15:39 菲菲菲菲菲常新的新手 阅读(...) 评论(...) 编辑 收藏