개요
IP SLA를 사용해서 방화벽의 Active 상태를 감지하고 트래픽을 우회시키는 방법을 다뤄보려고 합니다!
실습 환경
먼저 제가 구축한 환경을 간단히 소개할게요:
- 장비: 방화벽 2대(Active-Passive HA), L3 스위치 2대.
- 방화벽 HA: 두 방화벽은 heartbeat 링크로 연결되어 Active-Passive 모드로 동작. HA VIP는 192.168.10.1로 설정했고, 방화벽1(
HQ
)이 현재 Master 상태예요. - 연결: 방화벽과 L3 스위치는 1:1 연결로 박스 형태로 구성.
- 방화벽1(
HQ
) ↔ L3 스위치1(SW1): 192.168.10.1 ↔ 192.168.10.2 (gi0/0) - 방화벽2(
Branch
) ↔ L3 스위치2(SW2): 192.168.10.1 ↔ 192.168.10.3 (gi0/0)
- 방화벽1(
- L3 스위치 간 연결: 두 L3 스위치는 EtherChannel로 연결했고, IP 대역은 192.168.10.8/30으로 설정했어요(SW1: 192.168.10.9, SW2: 192.168.10.10).
목표는 IP SLA를 활용해서 L3 스위치가 마주보고 있는 방화벽의 상태를 체크하고,
Active 방화벽으로 트래픽을 우회시키는 거였어요. 과연 가능할까요? 당연하지 않겠어요? 😊
IP SLA로 트래픽 우회 설정하기
설정 원리
IP SLA는 네트워크 장치의 상태를 모니터링하는 강력한 도구예요.
여기서는 HA VIP(192.168.10.1
)를 ICMP로 체크해서 방화벽의 Active 여부를 판단하고,
트랙 객체로 상태를 추적한 뒤, 라우팅을 조정하는 방식으로 구현했어요.
기본 설정
L3 Switch #1
ip sla 1
icmp-echo 192.168.10.1 source-interface <코어 스위치 1의 방화벽 연결 인터페이스>
frequency 5
timeout 2000
ip sla schedule 1 life forever start-time now
track 1 ip sla 1 reachability
ip route 0.0.0.0 0.0.0.0 192.168.10.1 track 1
ip route 0.0.0.0 0.0.0.0 <코어 스위치2와 연결된 인터페이스의 next-hop> <metric (ex. 10)>
L3 Switch #2
ip sla 1
icmp-echo 192.168.10.1 source-interface <코어 스위치 2의 방화벽 연결 인터페이스>
frequency 5
timeout 2000
ip sla schedule 1 life forever start-time now
track 1 ip sla 1 reachability
ip route 0.0.0.0 0.0.0.0 192.168.10.1 track 1
ip route 0.0.0.0 0.0.0.0 <코어 스위치11 연결된 인터페이스의 next-hop> <metric (ex. 10)>
동작 방식
- 정상 상태: SW1은 방화벽1(Active)을 기본 경로로 사용하고, SW2는 방화벽2(Passive)가 응답 안 하니까 SW1으로 트래픽을 보냄.
- 장애 상태: 방화벽1이 다운되면 SW1은 SW2로 트래픽을 우회하고, SW2는 방화벽2(새 Active)를 통해 처리.
옵션 설명
icmp-echo 192.168.10.1
: 192.168.10.1로 ping을 보냄frequency 5
: 5초마다 체크track 1
: IP SLA의 상태를 추적 객체로 만듦. (reachable
이면 Active,unreachable
이면 Passive로 판단 가능)
설정이 잘 됐는지 테스트해보자!
설정을 마쳤으니 이제 제대로 동작하는지 확인해볼 차례예요. IP SLA 상태, 트랙 동작, 트래픽 우회까지 꼼꼼히 테스트해봤어요.
1. IP SLA 확인
SW1과 SW2에서 IP SLA가 잘 돌고 있는지 확인:
show ip sla statistics
- SW1: return code: OK, RTT 값 정상 → 방화벽1이 Active.
- SW2: return code: Timeout → 방화벽2가 Passive.
2. 트랙 상태 점검
show track
- SW1: Reachability is Up → 방화벽1 정상.
- SW2: Reachability is Down → 방화벽2 대기 중.
3. 라우팅 테이블 확인
show ip route
- SW1: 0.0.0.0/0 via 192.168.10.1 → 방화벽1로 가는 경로.
- SW2: 0.0.0.0/0 via 192.168.10.10 → SW1을 통해 우회.
장애 테스트!
이번에는 장애를 유발해서 트래픽이 정말로 정상적으로 우회되는지 한번 테스트 해볼거에요!
먼저 장애를 유발하기 전에 코어 스위치1와 코어 스위치2의 track
상태를 보고 올게요.
코어 스위치1 track 상태
지금은 코어 스위치1와 연결된 방화벽이 Active로 동작 중이기에 코어 스위치1의 track 상태가 Up
으로 올라온 것을 볼 수 있어요.
코어 스위치2 track 상태
반면에 코어 스위치2와 연결된 방화벽은 Passive 상태이기 때문에 코어 스위치2의 track 또한 Down으로 나오고 있죠?
자 그럼 여기서 장애를 유발해보겠습니다.
기존 Active 방화벽 장비의 전원을 강제로 내려보겠습니다!
HQ 방화벽의 전원이 내려갔어요!
HQ_Backup 장비의 CLI로 넘어가서 get system ha status
를 입력해 HA 전환이 정상적으로 이루어졌는지 확인해볼까요?
정상적으로 master가 되었습니다.
그렇다면 이제 코어 스위치1로 이동해서 show track
명령어를 입력해봅시다.
이전과는 다르게 track이 Down
되었네요?
그럼 코어 스위치2로 이동해서 show track
명령어를 확인해봐요.
의도한대로 Up
으로 변경되었습니다!