본문 바로가기
<개인공부> - IT/[Network&Security]

ASA의 Failover에 대한 정리

by Aggies '19 2022. 2. 24.
반응형
Overview

  Failover의 뜻을 사전으로 찾아보면 실패를 극복한다 정도의 투박한 표현으로 설명된다. 투박한 표현에서도 가늠은 되지만 한 장비가 문제가 생겼을 경우 다른 장비를 통해 서비스를 운영해 장애없이 구성하는 것. ASA에서 failover 구성을 하려면 두 장비는 동일한 장비이고 지정된 failover link를 통해 서로가 연결되어 있어야 하고 선택적으로 stateful failover link를 추가 구성할 수도 있다. Failover의 구성 방식은 Active/Active와 Active/Standby가 존재한다. Active/Active 구조에서는 failover로 구성된 장비 모두가 network traffic을 처리하기에 로드 밸런싱이 가능하다. 하지만 이 구조는 multiple context mode에서만 가능하다. 반대로 Active/Standby 구조는 한 쪽 장비에서만 traffic을 처리하고 다른 한쪽은 standby 상태로 운영된다. Active/Standby 구조는 single/multiple context mode 모두에서 사용이 가능하다. 참고로 두 가지 구성방식 모두는 stateful과 stateless failover 모두가 가능하다. (VPN failover는 Active/Standby 구조에서만 사용할 수 있음)

 

Failover and Stateful Failover links

  1) Failover Link - 두 장비는 지속적으로 failover link를 통해서 다음의 정보를 교환한다. 

     a) Unit state (active or standby)

     b) Power status (cable-based failover only)

     c) Hello messages (keep-alive)

     d) Network link status

     e) MAC address change

     f) Config replication & sync

 

     LAN-Based Failover Link - 어떤 interface라도 failover link로 사용할 수 있다. 이 link는 일반적인 networking interface로 사용할 수는 없고 failover 용도로만 사용이 가능하다. 참고로 cable-based failover link라는 것도 있지만 과거 오래된 PIX에서 사용하던 방식인 관계로 생략한다.

 

  2) Stateful Failover Link - stateful link를 통해 모든 state 정보를 주고받을 수 있는데 3 가지 설정 방법이 있다. 전용 링크를 이용하는 방법, 앞서 언급한 LAN-Based failover link를 같이 사용하는 방법, 마지막으로 일반 data interface와 함께 사용하는 방법이다.  물론, 마지막 방법을 이용해 stateful failover link를 설정하면 failover시 전달되는 traffic으로 인해서 동일한 network segment에 있는 장비의 performance에 영향을 줄 수 있어 권장하지 않는다.

 

정리하면 failover heartbeat와 stateful link를 같이 쓰는 설정을 지원하지만 Cisco에서는 각각의 failover link 분리하는 것을 권장한다. 

 

Active/Active & Active/Standby Failover

  자료를 읽다보니 나만 헷갈리는 것 같지만 추후 나도 이 포스트를 다시 읽어야 할 상황이 생기기에 간략히 정리해본다. Primary/Secondary 와 함께 Active/Standby 개념이 나오는데 Primary/Secondary는 물리적인 장치 다시 말해서 physical unit이다. 이 장치 안에서 traffic을 실제로 처리하는 active logical unit 그리고 traffic은 처리하지 않지만 장애가 발생할 상황에 대비하여 구성한 standby logical unit이 있는 것이다.

 

1) Active/Standby - Acitve unit이 문제가 발생하면 standby unit이 active가 수행하던 일을 넘겨받아 운영하는 구조이다. Standby에서 actvie로 바뀐 unit은 장애가 발생한 active unit의 IP address와 MAC address는 재사용하여 트래픽을 처리한다. 반대로 active에서 standby로 바뀐 unit은 standby unit의 IP와 MAC address를 저장한다. 이런 이유로 network device에서는 ARP entries의 변화가 없기에 끊어짐 없이 통신할 수 있다. Unit의 상태를 결정하는 조건은 3 가지가 있다.

    - 장비의 부팅이 완료된 후 이미 active로 동작하는 장비가 있다면 standby unit로 동작

    - 장비의 부팅이 완료되었으나 peer가 확인되지 않으면 active unit으로 동작

    - 두 장비가 동시에 켜졌다면 primary가 active로 secondary unit이 standby로 동작한다.

 

* 물론 failover가 발생했다면 primary/standby 그리고 secondary/active 상태가 될 수도 있다. 이 경우 failover active라는 명령어로 바꿔줄 수 있다. 

 

2) Active/Active - 앞서 설명했지만 이 설정은 multiple context mode에서만 사용이 가능하고 failover로 구성된 장비 모두가 traffic을 처리한다. Active/Active로 설정된 경우 security contexts를 failover groups으로 분리한다. 쉽게 말해서 이 그룹은 단일 또는 복수 개의 security contexts의 논리적인 그룹이다. 최대 2개까지 생성할 수 있고 admin context는 언제나 group 1로 설정해야 한다. 

 

설정방법

  1) LAN-Based Active/Standby Failover

     1] Primary unit으로 지정

      : failover lan unit primary (Secondary 인경우  failover lan unit secondary)

     2] Failover interface로 사용할 포트에 대한 정의

      : failover lan interface LAN_FAILOVER GigaborEthernet1/4

     3] Failover link에 active/standby IP address 설정

      : failover interface ip LAN_FAILOVER 172.16.254.1 255.255.255.252 standby 172.16.254.2

     4] Stateful failover를 위한 interafce 설정

      : failover link STATE_FAILOVER Gi1/5

     5] Stateful failover link에 active/standby IP address 설정

      : failover interface ip STATE_FAILOVER 172.16.254.5 255.255.255.252 standby 172.16.254.6

     6] Failover 활성화: failover

 

  Failover key에 대한 설정이 되어있지 않으면 ASA는 Failover와 Stateful Failover의 전달되는 모든 데이터는 clear text로 전달한다. 심지어, username과 password도 clear text로 전달되기에 failover key를 설정하는 것이 좋다.

 

 

Reference site: https://www.cisco.com/c/en/us/td/docs/security/asa/asa72/configuration/guide/conf_gd/failover.html

반응형

'<개인공부> - IT > [Network&Security]' 카테고리의 다른 글

CORS란  (0) 2022.09.30
Application Programming Interfaces (API 란?)  (0) 2022.08.27
멀티캐스트 정리 #3 (PIM)  (0) 2022.01.08
멀티캐스트 정리 #2 (IGMPv2 & IGMPv3)  (0) 2022.01.06
멀티캐스트 정리 #1  (0) 2022.01.05