🧩 본사 ASA ↔ 지사 AllinOne 듀얼 IPSec VPN 설정
구성 목적 및 개요
본사 ASA(이중화: KT/SKT)와 지사 라우터(AllinOne) 간 이중 IPSec VPN 터널을 구축하여,
장애 시에도 안정적으로 본사-지사 간 내부망, DMZ, 관리망이 통신 가능하도록 하기 위한 실습입니다.
🧩 ASA 구성 (본사)
Step 1. 주소 정의 및 오브젝트 생성 (ASA 측)
object network obj-REMOTE
subnet 192.168.12.0 255.255.255.0
object network obj-VLAN
subnet 192.168.10.0 255.255.254.0
object network obj-DMZ
subnet 192.168.50.0 255.255.255.0
# 본사 내부망(VLAN), DMZ망, 지사망(REMOTE)을 오브젝트로 등록하여 NAT 및 VPN 트래픽에 활용
Step 2. ACL 설정 (트래픽 식별)
access-list VPN-TRAFFIC extended permit ip 192.168.10.0 255.255.254.0 192.168.12.0 255.255.255.0
access-list VPN-TRAFFIC extended permit ip 192.168.50.0 255.255.255.0 192.168.12.0 255.255.255.0
# 본사 VLAN/DMZ --> 지사망 간 통신을 허용하는 VPN 트래픽 정의 ACL
Step 3. NAT 예외 구성
nat (inside,outside-KT) source static obj-VLAN obj-VLAN destination static obj-REMOTE obj-REMOTE no-proxy-arp route-lookup
nat (DMZ,outside-KT) source static obj-DMZ obj-DMZ destination static obj-REMOTE obj-REMOTE no-proxy-arp route-lookup
nat (inside,outside-SKT) source static obj-VLAN obj-VLAN destination static obj-REMOTE obj-REMOTE no-proxy-arp route-lookup
nat (DMZ,outside-SKT) source static obj-DMZ obj-DMZ destination static obj-REMOTE obj-REMOTE no-proxy-arp route-lookup
# VPN 대상인 지사망(192.168.12.0)으로의 트래픽에 대해 NAT을 예외 처리 (IPSec 무결성 보장 필요)
Step 4. IKEv2 정책 및 인터페이스 활성화
crypto ikev2 policy 10
encryption aes
integrity sha
group 5
prf sha
lifetime seconds 86400
crypto ikev2 enable outside-KT
crypto ikev2 enable outside-SKT
# IKEv2 Phase 1에서 사용할 암호화/무결성/그룹 정의 및 KT, SKT 인터페이스에서 IKEv2 수신 대기 활성화
Step 5. IPSec Proposal 설정
crypto ipsec ikev2 ipsec-proposal AES-SHA
protocol esp encryption aes
protocol esp integrity sha-1
# IKEv2 Phase 2(IPSec)에서 사용할 ESP 암호화/무결성 알고리즘 설정
Step 6. Tunnel Group 생성 (Pre-shared Key 기반)
tunnel-group 55.55.55.1 type ipsec-l2l
tunnel-group 55.55.55.1 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
tunnel-group 65.65.65.1 type ipsec-l2l
tunnel-group 65.65.65.1 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
# 각 지사(KT, SKT) 장비와의 터널을 위한 사전 공유키 구성
Step 7. Crypto Map 설정 및 인터페이스 바인딩
crypto map OUTSIDE-KT 10 match address VPN-TRAFFIC
crypto map OUTSIDE-KT 10 set peer 55.55.55.1
crypto map OUTSIDE-KT 10 set ikev2 ipsec-proposal AES-SHA
crypto map OUTSIDE-KT interface outside-KT
crypto map OUTSIDE-SKT 10 match address VPN-TRAFFIC
crypto map OUTSIDE-SKT 10 set peer 65.65.65.1
crypto map OUTSIDE-SKT 10 set ikev2 ipsec-proposal AES-SHA
crypto map OUTSIDE-SKT interface outside-SKT
# VPN 트래픽 식별 → Peer 지정 → 암호화 프로파일 지정 → 인터페이스 연결
Step 8. SLA + Track 구성 (KT 우선 사용, 장애 시 SKT 우회)
sla monitor 1
type echo protocol ipIcmpEcho 50.50.50.10 interface outside-KT
num-packets 5
frequency 5
sla monitor schedule 1 life forever start-time now
track 1 rtr 1 reachability
# SLA 모니터로 ISP 회선 감시 → KT 회선 장애 시 SKT 우회
Step 9. 정적 경로 우선순위 구성 (KT 우선, SKT 백업)
route outside-KT 192.168.12.0 255.255.255.0 50.50.50.9 1 track 1
route outside-SKT 192.168.12.0 255.255.255.0 60.60.60.9 250
# 지사망으로 향하는 경로를 SLA track과 연동하여 경로 우선순위 지정
🧩 AllinOne 구성 (지사)
Step 1. IKEv2 Proposal 설정
crypto ikev2 proposal AES-SHA
encryption aes-cbc-128
integrity sha1
group 5
# ASA와 동일한 암호화/무결성/그룹으로 IKEv2 정책 일치시킴
Step 2. Keyring (Pre-shared key) 등록
crypto ikev2 keyring KT-KEY
peer KT-ASA
address 50.50.50.1
pre-shared-key cisco
crypto ikev2 keyring SKT-KEY
peer SKT-ASA
address 60.60.60.1
pre-shared-key cisco
# ASA에서 설정한 tunnel-group과 동일한 IP와 키 등록 필요
Step 3. IKEv2 Profile 생성 및 바인딩
crypto ikev2 profile KT-PROFILE
match identity remote address 50.50.50.1 255.255.255.255
identity local address 55.55.55.1
authentication remote pre-share
authentication local pre-share
keyring local KT-KEY
crypto ikev2 profile SKT-PROFILE
match identity remote address 60.60.60.1 255.255.255.255
identity local address 65.65.65.1
authentication remote pre-share
authentication local pre-share
keyring local SKT-KEY
# KT/SKT 각각 ASA와 연결할 고유 프로파일 생성 및 Keyring 바인딩
Step 4. Transform-set 및 IPSec Profile 생성
crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac
mode tunnel
crypto ipsec profile KT-PROFILE-IPSEC
set transform-set ESP-AES-SHA
set ikev2-profile KT-PROFILE
crypto ipsec profile SKT-PROFILE-IPSEC
set transform-set ESP-AES-SHA
set ikev2-profile SKT-PROFILE
# 실제 데이터 암호화(IPSec) 설정을 위한 구성. IKEv2 프로파일과 묶어 적용
Step 5. VPN 트래픽 정의 ACL
ip access-list extended VPN-TRAFFIC
permit ip 192.168.12.0 0.0.0.255 192.168.10.0 0.0.1.255
permit ip 192.168.12.0 0.0.0.255 192.168.50.0 0.0.0.255
# 지사 --> 본사 트래픽을 암호화 대상(VPN)으로 명시
Step 6. Crypto Map 설정 및 인터페이스 적용
crypto map KT-MAP 10 ipsec-isakmp
set peer 50.50.50.1
set transform-set ESP-AES-SHA
set ikev2-profile KT-PROFILE
match address VPN-TRAFFIC
crypto map SKT-MAP 10 ipsec-isakmp
set peer 60.60.60.1
set transform-set ESP-AES-SHA
set ikev2-profile SKT-PROFILE
match address VPN-TRAFFIC
interface Ethernet0/2
crypto map SKT-MAP
interface Ethernet0/3
crypto map KT-MAP
# 각각 KT/SKT 경로에 암호화 트래픽을 적용하고, 인터페이스에 매핑함
Step 7. NAT 예외 ACL 및 NAT 설정
ip access-list extended NAT-EXEMPT-KT
deny ip 192.168.12.0 0.0.0.255 192.168.10.0 0.0.1.255
deny ip 192.168.12.0 0.0.0.255 192.168.50.0 0.0.0.255
permit ip 192.168.12.0 0.0.0.255 any
ip access-list extended NAT-EXEMPT-SKT
deny ip 192.168.12.0 0.0.0.255 192.168.10.0 0.0.1.255
deny ip 192.168.12.0 0.0.0.255 192.168.50.0 0.0.0.255
permit ip 192.168.12.0 0.0.0.255 any
ip nat inside source list NAT-EXEMPT-KT interface Ethernet0/3 overload
ip nat inside source list NAT-EXEMPT-SKT interface Ethernet0/2 overload
# VPN 트래픽에 대해서는 NAT 예외 처리하여 IP 보존. 나머지 트래픽은 PAT 적용
Step 8. 경로 설정 및 SLA 연동
ip route 0.0.0.0 0.0.0.0 55.55.55.2 track 1
ip route 0.0.0.0 0.0.0.0 65.65.65.2 250
ip sla 1
icmp-echo 50.50.50.10 source-interface Ethernet0/3
frequency 5
ip sla schedule 1 life forever start-time now
track 1 ip sla 1 reachability
# KT 우선 사용, SLA 실패 시 SKT 회선으로 자동 전환
🧩 구성 결과 요약
- ASA ↔ AllinOne 이중 터널 정상 성립
show crypto ikev2 sa
show crypto ipsec sa
- 본사 ↔ 지사 간 VLAN, DMZ, 내부망 통신 정상 확인
- KT망 다운 후 SKT 백업망으로 전환 확인
KT(config)#int e0/0
KT(config-if)#shut
🧩 VPN 협상 실패 사례 해결: peer 경로 누락
왜 ASA는 peer IP를 '정확히' 알고 있어야 할까?
- crypto map은 인터페이스 단위로 바인딩 된다고 합니다.
- 그런데 peer IP가 어느 인터페이스에 있는지 ASA는 라우팅 테이블로 판단 합니다.
- 라우팅 테이블에 해당 peer IP가 없으면 --> ASA는 interface를 찾지 못함 --> IPSec 시작 불가
그래서 아래처럼 명확히 지정해야 합니다:
route outside-KT 55.55.55.0 255.255.255.252 50.50.50.9
route outside-SKT 65.65.65.0 255.255.255.252 60.60.60.9
왜 default route만으로 안 되는가?
이 전송은 평범한 라우팅이기 때문에, 그 IP로 나가는 경로(route)가 ASA에 없으면 패킷을 보낼 방법이 없다고 판단해서 터널을 시작하지조차 않습니다.
🧩 결론 요약
- 인터넷에 연결돼 있어도 ASA는 peer를 자동으로 추적하지 않습니다
- IPSec 트래픽은 최종적으로 라우팅 테이블을 통해 전송 경로를 판단 합니다
- peer IP에 대한 명시적 route가 없으면 --> IKE 수립 실패
참고자료 : IPSec VPN 쉽게 이해하기 #1 , IPSec VPN 쉽게 이해하기 #2 , IPSec VPN 쉽게 이해하기 #3 , IPSec VPN 쉽게 이해하기 #4
'네트워크' 카테고리의 다른 글
Zabbix server <-> ASA SNMP 구축(with gmail 연동) (0) | 2025.06.21 |
---|---|
SSL VPN(anyconnect) 이론 #2 (0) | 2025.06.08 |
SSL VPN(Anyconnect) 실습 (0) | 2025.06.02 |
BGP #3(weight,local preference,MED) (0) | 2025.04.12 |
BGP #2(Next Hop,Split Horizon) (0) | 2025.04.10 |