В качестве объектов настройки 2 x ASA5540.
ASA соединены кабелем через Gi0/2.
ASA#1 (Gi0/2) <----> (Gi0/2) ASA#2
Начинаем с чистого листа. Никаких настроек, кроме присвоения hostname не производилось.
Настройка (в целях проверки) связи между ASA
Настраиваем интерфейсы:
Казалось бы и всё! Но не тут то было.
Когда речь идёт об ASA важно не забыть, если знал, или узнать, если понятия об этом не имел (как я), что нужно сделать следующее:
После этого мы увидим, что ситуация немного изменилась:
Повторим данную операцию на другом ASA:
И вот только теперь мы увидим, что всё "в ажуре":
Настройка Failover
Будем вводить команды и смотреть, как будет меняться наш running-config.
Первым делом необходимо определится, кто "главный", т.е. 1. Указать какая ASA будет primary, а какая secondary unit:
Смотрим конфиг:
Если сразу назначать адреса, то возникнет следующая проблема:
(config)# failover interface ip FailoverLink 10.20.0.89 255.255.255.248 standby 10.20.0.90
Interface FailoverLink is unknown.
Поэтому сначала необходимо
2. Указать какой интерфейс будет использоваться для Failover:
Если не снять адресацию с интерфейсов:
В таком случае:
3. Назначить IP-адреса для Failover-интерфейсов:
Немного теории: Режимы работы failover
4. Настройка stateful Failover-интерфейса:
Смотрим конфиг:
А вот как выглядел бы description, если не указать lan interface для Failover:
5. Запуск Failover
Если на одном сконфигурировано, а на другом нет, Вы увидите следующее сообщение:
No Response from Mate
Если всё сделано правильно:
6. И, как всегда, на всякий случай, не забыть внести немного security:
После этого Вы увидите, что hostname на ASA#2 измениться на hostname ASA#1. Теперь для Вас это единое устройство. А вот понять, на какой железке Вы находитесь, поможет следующая команда :
asa1# show failover
Failover OnFailover 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
ASA соединены кабелем через Gi0/2.
ASA#1 (Gi0/2) <----> (Gi0/2) ASA#2
Начинаем с чистого листа. Никаких настроек, кроме присвоения hostname не производилось.
Настройка (в целях проверки) связи между ASA
Настраиваем интерфейсы:
ASA#1 | ASA#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 primary | asa2(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).
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)#failover | asa2(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 OnFailover 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