防火墙高可用性(HA)

双机热备

防火墙高可用性也称双机热备,指基于两台设备的高可用性。双机热备的模式分为主备模式和主主模式。

主备模式

主-备方式即指的是一台设备处于某种业务的激活状态(即Active状态),另一台设备处于该业务的备用状态(即Standby状态)。

工作机和备用机通过心跳线连接,备用机实时监视工作机的情况,当工作机出现问题,备用机就接管工作。

在这个状态下,工作防火墙响应ARP请求,并且转发网络流量;备用防火墙不响应ARP请求,也不转发网络流量。主备之间同步状态信息和配置信息。

主主模式

而双主机方式即指两种不同业务分别在两台设备上互为主备状态(即Active-Standby和Standby-Active状态)。

主主模式下,两个防火墙并行工作,都响应ARP请求,并且都转发网络流量。主主模式可以提高数据包处理的吞吐量,平衡网络负载,优化网络性能。

双机热备原理

防火墙的双机热备功能实在虚拟路由冗余协议(VRRP)的基础上扩展而来。VRRP是一种容错协议,它保证当主机的下一条路由出现故障时,由备份路由器自动代替出现故障的路由器完成报文转发任务。

在这里插入图片描述
如上图所示,将局域网内的一组路由器划分为一个VRRP备份组,相当于一个虚拟路由器,这台虚拟路由器有自己的虚拟IP和虚拟MAC。局域网的主机可以将默认网关设置为虚拟IP地址,在主机看来是和虚拟路由器通信的。

在这里插入图片描述
VRRP备份组中的多个路由器会根据管理员制定的VRRP备份组优先级确定各自的状态。优先级高的路由器为Master,其余路由器为Backup。

Master 周期性向备份组内所有 Backup 发送 VRRP 通告报文,以公布其配置信息(优先级等)和工作状况。

Keepalived

Keepalived是基于vrrp协议的一款高可用软件。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。

Keepalived + LVS

在这里插入图片描述

配置步骤:

  1. 安装软件

在LVS-1和LVS-2两台主机上安装ipvsadm和keepalived

yum install ipvsadm keepalived -y

  1. 配置Keepalived

keepalived底层有关于IPVS的功能模块,可以直接在其配置文件中实现LVS的配置,不需要通过ipvsadm命令再单独配置。

Master配置:/etc/keepalived/keepalived.conf

global_defs {
   router_id LVS        ## 不一定要与主机名相同,也不必与BACKUP的名字一致
}
vrrp_instance VI_1 {      
    state MASTER        ## LVS-1配置了为主,另外一台LVS-2配置为BACKUP
    interface eth0       ## 注意匹配网卡名
    virtual_router_id 51    ## 虚拟路由ID(0-255),在一个VRRP实例中主备服务器ID必须一样
    priority 150        ## 优先级值设定:MASTER要比BACKUP的值大
    advert_int 3        ## 通告时间间隔:单位秒,主备要一致
    authentication {      ##认证机制
        auth_type PASS     ## 默认PASS; 有两种:PASS或AH 
        auth_pass 1111     ## 默认1111; 可多位字符串,但仅前8位有效
    }
    virtual_ipaddress {
        138.138.82.222     ## 虚拟IP;可多个,写法为每行一个
    }
}
virtual_server 138.138.82.222 80 {
    delay_loop 3       ## 设置健康状态检查时间
    lb_algo rr        ## 调度算法,这里用了rr轮询算法,便于后面测试查看
    lb_kind DR        ## 这里测试用了Direct Route 模式,
   # persistence_timeout 1  ## 持久连接超时时间,先注释掉,不然在单台上测试时,全部会被lvs调度到其中一台Real Server
    protocol TCP
    real_server 138.138.82.12 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10    ##设置响应超时时间
            nb_get_retry 3       ##设置超时重试次数
            delay_before_retry 3   ##设置超时重试间隔时间
            connect_port 80
        }
    }
    real_server 138.138.82.13 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}                   

BACKUP配置:/etc/keepalived/keepalived.conf

global_defs {
   router_id LVS
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 120
    advert_int 3
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        138.138.82.222
    }
}
virtual_server 138.138.82.222 80 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
   # persistence_timeout 1
    protocol TCP
    real_server 138.138.82.12 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    real_server 138.138.82.13 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}                   

参考:
Keepalived+Nginx+Apache主备及双活搭建测试

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值