failover的介绍及配置
本篇讲一下ASA防火墙的另外一种冗余的技术,failover,字面意思是失效转移,也就是当设备出现故障时,能够在数秒内将配置转换到另外一台设备中,是一种设备级的冗余技术。
failover的工作原理
两台设备型号一样(型号、内存、接口等),通过一条链路连接到对端(这个连接也叫心跳线)。该技术用到的两台设备分为Active设备(Primary)和Stanby设备(Secondary),这种冗余也可以叫AS模式。活跃机器处于在线工作状态,备用处于待机状态实时监控活跃设备是否正常。当主用设备发生故障后(接口down,设备断电),备用设备可及时替换,替换为Avtive的角色。Failover启用后,Primary设备会同步配置文件文件到Secondary设备,这个时候也不能在Scondary添加配置,配置必须在Active进行。远程管理Failover设备时,登录的始终是active设备这一点一定要注意,可以通过命令(showfailover)查看当时所登录的物理机器。目前启用failover技术不是所有状态化信息都可以同步,比如NAT转换需要再次建立。
failover接口类型
简单的来说lan口是用来做简单的数据复制,而link口则是做状态化监控,一般两者不用同一个接口。
failover的FO调整
failover interface-policy 50% //更改接口调整的策略,如这这命令需接口down掉50%才能够实现设备的转移。
实例配置
配置ASA 无状态Failover:
网络基本配置:省略。(R1R2配置好IP地址和路由,开启R1telne line 和transport input all)
ASA配置:
ASA1:
ASA1(config)# interface e0
ASA1(config-if)# nameif outside
ASA1(config-if)# ip add 202.100.1.254 255.255.255.0 standby 202.100.1.253 //定义outside接口地址和standby地址
ASA1(config)# interface e1
ASA1(config-if)# nameif inside
ASA1(config-if)# ip add 10.1.1.254 255.255.255.0 standby 10.1.1.253 //定义inside接口地址和standby地址
ASA1(config)# interface e2
ASA1(config-if)# no shutdown
ASA1(config)# failover lan interface Failover e2 //指定哪个接口作文FO接口并且定义名字为Failover
ASA1(config)#failover interface ip Failover 192.168.1.254 255.255.255.0 standby 192.168.1.253 //定义FO接口的IP地址和standby地址
ASA1(config)# failover lan unit primary //指定ASA1为primary
ASA1(config)# failover key cisco //配置failover key 可选项
ASA1(config)# failover //启用failover
ASA1(config)# prompt hostname priority state //修改显示的主机名。
ASA2:
ASA2(config)# interface e0
ASA2(config-if)# no shutdown
ASA2(config)# failover lan interface Failover e2
ASA2(config)#failover interface ip Failover 192.168.1.254 255.255.255.0 standby 192.168.1.253
ASA2(config)# failover key cisco //配置failover key 可选项
ASA2(config)# failover //启用failover
(无需给ASA2接口配置IP地址,可以自行学习。)
配置完成,查看如下图所示形成主备冗余。ASA1作为active,ASA2作为standby
此时,让R3是否可以telnetR1。
结果是可以telnet的,查看流量状态
Active端(ASA1):
Standby端(ASA2):
我们可以通过手动切换active,只需在ASA2敲下面这条命令
ASA1/sec/stby(config)# failover active
很明显,ASA2(ASA1/sec/stby)状态变为了active,ASA1(ASA1/pri/act)状态变为standby。
切换之后,我们发现telnet断开了,是由于状态化监控没有同步,所以链接被断开:
所以我们需配置状态化FO配置(在active上配置):
ASA1/pri/act(config)# failover link lsj e3 //指定link接口并命名为lsj
ASA1/pri/act(config)# failover interface ip lsj 192.168.2.254 255.255.255.0 standby 192.168.2.253 //为接口配置IP地址。注意G3口必须是up状态,否则显示fail。
配置完成之后,再来查看状态,可以发现后面多了数据。
再来查看状态化信息,发现无论是active还是standby,都是有流量通过的。
再次将ASA2切换到active,telnet查看情况,成功telnet。
查看一下此时的ASA2的failover,变为active,且地址也为路由器的下一跳。
最后
到此,就可以实现设备之间的数据转移了,当然也可以将接口down掉后做测试,依旧是可以发现实现了冗余,且他的下一跳依旧是路由器原来的那个,无论是哪个设备的作为active,依旧使用的MAC地址是路由器的下一跳。这样就保持网络的连通性。