소개
이 문서에서는 Cisco Adaptive Security Appliance 장애 조치 또는 Firepower Threat Defense 고가용성 쌍의 스플릿 브레인 문제 해결에 대해 설명합니다.
사전 요구 사항
요구 사항
ASA/FTD High Availability Pair(장애 조치)의 작동 방식, 즉 장애 조치에 대해 알고 있는 것을 권장합니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 또는 하드웨어 버전으로 제한되지 않으며 장애 조치 시 지원되는 모든 ASA/FTD 구축에 적용됩니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
스플릿 브레인이란?
스플릿 브레인(split-brain)은 ASA/FTD HA의 유닛이 네트워크에서 서로를 탐지할 수 없으므로 둘 다 활성 역할을 하는 시나리오입니다. 이로 인해 두 유닛의 인터페이스 IP 주소와 MAC 주소가 동일해지며, 네트워크에 심각한 불일치가 발생하여 서비스가 손실될 수 있습니다.
HA가 스플릿 브레인 상태인지 확인하려면 두 유닛에서 show failover state 명령을 실행하고 두 상자가 모두 활성 상태인지 확인합니다.
스플릿 브레인(Split-Brain)의 예
기본 유닛:
ciscoasa1/act/pri# show failover state
State Last Failure Reason Date/Time
This host - Primary
Active None
Other host - Secondary
Failed Comm Failure 02:39:43 UTC Jan 10 2022
====Configuration State===
Sync Done - STANDBY
====Communication State==
보조 유닛:
ciscoasa2/act/sec# show failover state
State Last Failure Reason Date/Time
This host - Secondary
Active None
Other host - Primary
Failed Comm Failure 02:39:40 UTC Jan 10 2022
====Configuration State===
Sync Done
Sync Done - STANDBY
====Communication State==
연결된 디바이스의 활성 IP 주소에 대해 학습한 MAC 주소가 모두 동일한 유닛이 아닌 경우 스플릿 브레인(split-brain)으로 인해 장애가 발생할 수 있습니다. 예를 들어, 네트워크 토폴로지를 고려합니다.
실습 토폴로지
VMAC는 아래와 같이 인터페이스에 할당되었습니다. 이는 mac 주소 테이블을 이해하기 쉽게 만들기 위해 수행되었습니다.
Inside (G0/2) : Active MAC - 00c1.1000.aaaa
Standby MAC - 00c1.1000.bbbb
Outside (G0/4) : Active MAC - 00c1.2000.aaaa
Standby MAC - 00c1.2000.bbbb
참고: VMAC가 구성되지 않은 경우, 액티브 디바이스는 항상 기본 유닛 인터페이스의 MAC를 사용하며 스탠바이 디바이스는 보조 MAC를 사용합니다.
HA가 정상인 경우 스위치의 MAC 주소 테이블:
Switch#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
100 00c1.1000.aaaa DYNAMIC Gi1/0/5
100 00c1.1000.bbbb DYNAMIC Gi1/0/1
300 00c1.64bc.c508 DYNAMIC Gi1/0/4
300 00d7.8f38.8424 DYNAMIC Gi1/0/8
200 00c1.2000.aaaa DYNAMIC Gi1/0/7
200 00c1.2000.bbbb DYNAMIC Gi1/0/3
장애 조치 링크에 장애가 발생할 경우, 액티브 유닛은 액티브 상태로 유지되며 스탠바이는 스탠바이 상태로 유지됩니다. 유닛에서 장애 조치 링크에 대한 3개의 연속 HELLO 메시지를 수신하지 않을 경우, 유닛에서는 각 데이터 인터페이스에 장애 조치 링크를 포함한 LANTEST 메시지를 전송하여 피어의 응답 여부를 검증합니다. ASA에서 수행하는 작업은 다른 유닛의 응답에 따라 달라집니다.
가능한 작업은 다음과 같습니다.
- ASA가 장애 조치 링크에 대한 응답을 수신하는 경우 장애 조치는 수행되지 않습니다.
- ASA가 장애 조치 링크에 대한 응답을 수신하지 않지만 데이터 인터페이스에 대한 응답을 수신하는 경우, 유닛에서는 장애 조치를 수행하지 않습니다. 장애 조치 링크가 실패한 것으로 표시됩니다. 장애 조치 링크가 중단된 동안에는 유닛에서 스탠바이로 장애 조치할 수 없으므로 최대한 빨리 장애 조치 링크를 복원할 수 있습니다.
- ASA가 어떤 인터페이스에서도 응답을 받지 못하면 스탠바이 유닛은 액티브 모드로 전환되고 다른 유닛을 실패한 것으로 분류합니다. 이것은 두뇌가 분열되는 시나리오로 이어집니다.
이 단계에서 두 방화벽의 모든 데이터 인터페이스는 액티브 유닛처럼 작동합니다. 따라서 액티브 및 스탠바이 방화벽의 인터페이스는 동일한 IP 및 MAC 주소를 사용합니다. 포이즌 arp 엔트리로 인해 일관성 없는 MAC 주소 테이블이 생성되므로 중단이 발생할 수 있습니다.
참고: 장애 조치 링크는 장애 조치 쌍(장치 상태(액티브/스탠바이), Hello 메시지, 네트워크 링크 상태, MAC 주소 교환, 컨피그레이션 복제, 동기화) 사이에서 이 데이터의 통신을 담당합니다.
장애 조치 문제에 능동적으로 대비하는 방법
뇌가 분열된 상태에 능동적으로 대비하려면
스플릿 브레인(Split-Brain)의 가능한 이유
이미 언급한 것처럼, 스플릿 브레인(split-brain)은 장애 조치 링크 인터페이스 간의 통신이 중단될 때 발생합니다(단방향으로 또는 양방향으로). 가장 일반적인 이유는 다음과 같습니다.
문제 해결 절차 - 순서도
스플릿 브레인 시나리오의 문제를 해결하고 해결하려면 이 순서도를 사용하여 Main(기본)이라고 표시된 상자에서 시작합니다. 여기서 해결할 수 없는 몇 가지 문제가 있다. 이러한 경우 Cisco 기술 지원에 대한 링크가 제공됩니다. 서비스 요청을 열려면 유효한 서비스 계약이 있어야 합니다.
참고: FTD 구축에서는 이 차트의 "system support diagnostics-cli" 단계를 따릅니다.
문제 해결 흐름도
스플릿 브레인에서 긴급 복구
스플릿 브레인에서 네트워크를 복구하려면 트래픽이 두 방화벽 중 하나에만 도달하도록 해야 합니다. 즉, 활성 IP에 대해 학습된 MAC 주소가 모두 단일 유닛을 가리킵니다. 이를 위해 유닛에서 장애 조치를 비활성화하거나 네트워크를 완전히 차단할 수 있습니다.
- 트래픽을 전달하지 않는 유닛에서 장애 조치를 비활성화합니다.
- ASA 플랫폼에서 CLI를 통해 컨피그레이션 터미널로 이동하고 no failover 명령을 입력합니다.
- FTD Platform(FTD 플랫폼)에서 Clish mode(클라이언트 모드)를 통해 configure high-availability suspend 명령을 입력합니다.
- ASA의 경우 데이터 인터페이스를 종료합니다. FTD의 경우 연결된 디바이스의 인터페이스를 종료합니다. 또는 인터페이스의 연결을 물리적으로 끊을 수도 있습니다. 또한 디바이스의 전원을 끌 수 있지만 이렇게 하면 디바이스 관리가 제한됩니다. 이 작업을 수행하는 단계에 대해서는 디바이스 컨피그레이션 가이드를 참조하십시오.
참고: 언급된 단계를 수행한 후에도 연결 문제가 발견되면 연결된 디바이스에 오래된 arp 항목이 있을 수 있습니다. 업스트림 및 다운스트림 디바이스에서 arp 항목을 확인합니다. 문제를 해결하려면 이러한 항목을 플러시하거나 작동하는 ASA/FTD에서 문제가 있는 인터페이스 IP에 대한 garp 패킷을 보내도록 강제할 수 있습니다. 이 작업을 수행하려면 enable 모드에서 명령을 실행합니다(시스템의 FTD는 diagnostics-cli를 지원함) - debug menu ipaddrtul 6 <interface ip address>.
주의: 스플릿 브레인 관련 문제에 대해 TAC와 지원 티켓을 열 경우, 이 문서의 TAC 서비스 요청을 위해 수집할 데이터 섹션에 언급된 정보를 공유하십시오.
TAC와 공유할 데이터
TAC 서비스 요청을 열어야 할 경우에 대비하여 언급된 데이터를 공유하십시오.
- ASA/FTD-HA 및 인접 디바이스와의 물리적 연결(장애 조치 인터페이스 포함)을 보여 주는 토폴로지 다이어그램
- ASA의 show tech-support 또는 FTD를 실행하는 플랫폼의 문제 해결 파일에 대한 출력입니다.
- 문제 발생 시 +/- 5분 동안 Syslog와 타임스탬프가 생성됩니다.
- FXOS 문제 해결 파일(하드웨어가 FPR 어플라이언스인 경우).
FTD 또는 FXOS에 대한 문제 해결 파일을 생성하려면 Firepower 문제 해결 파일 생성 절차를 참조하십시오. TAC SR을 엽니다.