четверг, 23 февраля 2012 г.

Cisco ASA Failover

В качестве объектов настройки 2 x ASA5540.
ASA соединены кабелем через Gi0/2.
ASA#1 (Gi0/2) <----> (Gi0/2) ASA#2
Начинаем с чистого листа. Никаких настроек, кроме присвоения hostname не производилось.


Настройка (в целях проверки) связи между ASA
Настраиваем интерфейсы:
ASA#1ASA#2
asa1(config)# interface gi0/2
asa1(config-if)# ip address 10.20.0.89 255.255.255.248

asa2(config)# interface gi0/2
asa2(config-if)# ip address 10.20.0.90 255.255.255.248

Казалось бы и всё! Но не тут то было.

asa5540-1# ping 10.20.0.90
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.90, timeout is 2 seconds:
No route to host 10.20.0.90
Success rate is 0 percent (0/1)
asa5540-2# ping 10.20.0.89
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.90, timeout is 2 seconds:
No route to host 10.20.0.89
Success rate is 0 percent (0/1)

Когда речь идёт об ASA важно не забыть, если знал, или узнать, если понятия об этом не имел (как я), что нужно сделать следующее:
asa5540-1(config-if)# nameif ToSecondary
INFO: Security level for "ToSecondary" set to 0 by default.
asa5540-1(config-if)# nameif ToSecondary
INFO: Security level for "ToSecondary" set to 0 by default.

После этого мы увидим, что ситуация немного изменилась:

asa1# ping 10.20.0.90
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.90, timeout is 2 seconds:
?????
Success rate is 0 percent (0/5)
asa2# ping 10.20.0.89
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.90, timeout is 2 seconds:
No route to host 10.20.0.89
Success rate is 0 percent (0/1)

Повторим данную операцию на другом ASA:
ToSecondary
INFO: Security level for "ToSecondary" set to 0 by default.
asa2(config-if)# nameif ToPrimary
INFO: Security level for "ToPrimary" set to 0 by default.
И вот только теперь мы увидим, что всё "в ажуре":


asa1# ping 10.20.0.90
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.90, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5)
, round-trip min/avg/max = 1/4/10 ms
asa2# ping 10.20.0.89
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.0.89, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5)
, round-trip min/avg/max = 1/4/10 ms


Настройка Failover

Будем вводить команды и смотреть, как будет меняться наш running-config.
Первым делом необходимо определится, кто "главный", т.е.
1. Указать какая ASA будет primary, а какая secondary unit:

asa1(config)# failover lan unit primaryasa2(config)# failover lan unit secondary
Смотрим конфиг:

sh run

interface GigabitEthernet0/2
nameif ToSecondary
no security-level
ip address 10.20.0.89 255.255.255.248

no failover
failover lan unit primary

sh run

interface GigabitEthernet0/2
nameif ToPrimary
no security-level
ip address 10.20.0.89 255.255.255.248

no failover
failover lan unit secondary


Если сразу назначать адреса, то возникнет следующая проблема:

(config)# failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
Interface FailoverLink is unknown.

Поэтому сначала необходимо
2. Указать какой интерфейс будет использоваться для Failover:
asa1(config)# failover lan interface FailoverLink GigabitEthernet0/2
INFO: Non-failover interface config is cleared on Ethernet0/2 and its sub-interfaces
asa2(config)# failover lan interface FailoverLink GigabitEthernet0/2
INFO: Non-failover interface config is cleared on Ethernet0/2 and its sub-interfaces
Если не снять адресацию с интерфейсов:

asa1(config)#failover lan interface FailoverLink GigabitEthernet0/2
Interface already in use
asa2(config)#failover lan interface FailoverLink GigabitEthernet0/2
Interface already in use
В таком случае:
asa1(config)#interface GigabitEthernet0/2
asa1(config-if)# no nameif
asa1(config-if)# exit
asa2(config)#interface GigabitEthernet0/2
asa2(config-if)# no nameif
asa2(config-if)# exit

3. Назначить IP-адреса для Failover-интерфейсов:
asa1(config)# failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90 asa2(config)# failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
Active-адрес и standby-адрес должны быть из одной сети. На Secondary команда должна в точности повторять команду введенную на Primary ASA.
Смотрим конфиг:
!
interface GigabitEthernet0/2
description LAN Failover Interface
!

no failover
failover lan unit primary
failover lan interface FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
!
interface GigabitEthernet0/2
description LAN Failover Interface
!

no failover
failover lan unit secondary
failover lan interface FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90

Немного теории: Режимы работы failover
1. Stateful failover - с сохранением текущего состояния: обе ASA обмениваются информацией о состоянии сеансов по выделенному линку (Statefull Failover Link), и если какая-либо из ASA выйдет из строя, то другая подхватит существующие сеансы и продолжит работу.
2. Stateless failover - когда при отказе основной все сеансы связи сбрасываются; активируется резервная ASA, соединения для всех сеансов устанавливаются заново (использует Failover Link).

4. Настройка stateful Failover-интерфейса:
asa1(config)# failover link FailoverLink GigabitEthernet0/2 asa2(config)# failover link FailoverLink GigabitEthernet0/2

Смотрим конфиг:


!
interface GigabitEthernet0/2
description LAN/STATE Failover Interface
!

no failover
failover lan unit primary
failover lan interface FailoverLink GigabitEthernet0/2
failover link FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
!
interface GigabitEthernet0/2
description LAN/STATE Failover Interface
!

no failover
failover lan unit secondary
failover lan interface FailoverLink GigabitEthernet0/2
failover link FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90

А вот как выглядел бы description, если не указать lan interface для Failover:
!
interface GigabitEthernet0/2
description STATE Failover Interface
!

no failover
failover lan unit primary
failover link FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
!
interface GigabitEthernet0/2
description STATE Failover Interface
!

no failover
failover lan unit secondary
failover link FailoverLink GigabitEthernet0/2
failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90


5. Запуск Failover
asa1(config)#failoverasa2(config)#failover
Если на одном сконфигурировано, а на другом нет, Вы увидите следующее сообщение:
No Response from Mate
Если всё сделано правильно:
Detected an Active mate
Beginning configuration replication: Sending to mate.
End Configuration Replication to mate
Detected an Active mate
Beginning configuration replication from mate.
End Configuration Replication to mate

6. И, как всегда, на всякий случай, не забыть внести немного security:
asa1(config)#failover key <текст> asa2(config)#failover key <тот же текст>


После этого Вы увидите, что hostname на ASA#2 измениться на hostname ASA#1. Теперь для Вас это единое устройство. А вот понять, на какой железке Вы находитесь, поможет следующая команда :

asa1# show failover
Failover On
Failover unit Primary
Failover LAN Interface: LANFAIL GigabitEthernet0/2 (up)
Unit Poll frequency 1 seconds, holdtime 15 seconds
Interface Poll frequency 5 seconds, holdtime 25 seconds
Interface Policy 1
Monitored Interfaces 5 of 210 maximum
Version: Ours 8.2(2), Mate 8.2(2)
Last Failover at: 11:09:35 UTC Dec 14 2011
This host: Primary - Active
Active time: 8456091 (sec)
slot 0: ASA5540 hw/sw rev (2.0/8.2(2)) status (Up Sys)
Interface dmz-wifi-guest (10.20.13.1): Normal
Interface inside (10.20.0.66): Normal
Interface outside (10.20.0.81): Normal
Interface dmz-wan (10.20.0.73): Normal
Interface dmz-srv (10.20.0.33): Normal
slot 1: ASA-SSM-40 hw/sw rev (1.0/6.0(6)E3) status (Up/Up)
IPS, 6.0(6)E3, Up
Other host: Secondary - Standby Ready
Active time: 0 (sec)
slot 0: ASA5540 hw/sw rev (2.0/8.2(2)) status (Up Sys)
Interface dmz-wifi-guest (10.20.13.2): Normal
Interface inside (10.20.0.67): Normal
Interface outside (10.20.0.82): Normal
Interface dmz-wan (10.20.0.74): Normal
Interface dmz-srv (10.20.0.34): Normal
slot 1: ASA-SSM-40 hw/sw rev (1.0/6.0(6)E4) status (Up/Up)
IPS, 6.0(6)E4, Up

Stateful Failover Logical Update Statistics
Link : LANFAIL GigabitEthernet0/2 (up)
Stateful Obj xmit xerr rcv rerr
General 963813520 0 1127463 0
sys cmd 1127463 0 1127463 0
up time 0 0 0 0
RPC services 0 0 0 0
TCP conn 254249759 0 0 0
UDP conn 707416403 0 0 0
ARP tbl 1014592 0 0 0
Xlate_Timeout 0 0 0 0
IPv6 ND tbl 0 0 0 0
VPN IKE upd 2310 0 0 0
VPN IPSEC upd 2993 0 0 0
VPN CTCP upd 0 0 0 0
VPN SDI upd 0 0 0 0
VPN DHCP upd 0 0 0 0
SIP Session 0 0 0 0

Logical Update Queue Information
Cur Max Total
Recv Q: 0 17 1127463
Xmit Q: 0 1024 983248660

Комментариев нет:

Отправить комментарий