본문 바로가기
  • 기술 블로그
카테고리 없음

Fortigate IPsec VPN 구성 하기 - interface mode

by seongho.choi
반응형

오늘은 Fortigate IPsec VPN 연결하는 방법에 대해 적어보고자 합니다.

 

◾Test Network Topology

[그림1] Fortigate IPsec VPN 테스트 구성도

 

 

◾HQ-FW 설정

1. Phase1 구성

Phase1 단계를 구성합니다. Phase1은 두 장치 간 보안 연결을 수립하는 단계입니다.

 - 경로 : VPN - IPsec VPN - Create New - IPsec Tunnel

 

이름은 구분할 수 있도록 적절하게 작성하고, Template type은 Custom으로 합니다.

Temaplate type에서 Custom을 제외한 나머지 template으로 VPN을 구성하면 라우팅, 정책을 자동으로 생성해주며, Custom으로 생성 시 필요한 라우팅과 정책 설정을 수동으로 해주어야 합니다.

Site to Site 두 개의 사이트 1:1 연결
Hub-and-Spoke 하나의 허브(Fortigate)를 통해 여러 개의 Spoke를 연결하는 방식
Remote Access 클라이언트가 직접 VPN에 연결하여 접근하는 방식
Custom 사용자 요구사항에 맞게 VPN을 직접 구성하는 방식

 

Phase1 구성을 진행합니다. 두 장치 간 정상적인 협상 및 연결을 위해 아래 모든 값들이 서로 일치해야 합니다.

 - 1. IP Address 부분에 BR-FW wan 주소를 입력하고, Interface는 wan 인터페이스를 선택합니다.

 - 2. Pre-shared Key 사전 공유 키를 설정합니다. 아래 값은 연결 대상인 상대 장비와 동일한 값을 입력해야 합니다.

 - 3. Phase 1 Proposal 협상을 위한 키 암호화 방식을 선택합니다. 해당 값은 상대 장비와 동일한 값을 입력해야 합니다.
       DH Groups은 인증 정보를 암호화할 키를 생성하는 대칭키 교환 알고리즘을 선택합니다.

그 외 설정에 대한 설명
 - NAT Traversal : ESP 프로토콜은 NAT 모드인 포티게이트 장비에서 NAT 처리가 되지 않기에 IPsec 트래픽이 정상적으로 처리되지 않습니다. 때문에, NAT-T를 활성화 해야 합니다. (기본값 Enable) TP 모드인 포티게이트 장비는 NAT-T 설정이 필요 없습니다.
 - Keepalive Frequency : VPN 터널 연결 상태를 유지하기 위해 주기적으로 전송하는 패킷의 빈도를 설정할 수 있습니다. (단위는 초)
 - Dead Peer Detection (retry count, retry interval) : VPN 터널 상태를 감지하기 위한 설정입니다. DPD retry count와 retry interval 값은 DPD Keepalive 패킷을 보내고 상대 터널이 응답하지 않을 때, 몇 번 더 재시도할 것인지와 응답이 없을 경우 다시 전송하기 까지의 시간 간격 설정입니다.
DPD retry count 3, retry interval 20으로 설정된 경우 동작 방식
00초: DPD Keepalive 전송 (응답 없음)
20초: 다시 전송 (1회 재시도, 응답 없음)
40초: 다시 전송 (2회 재시도, 응답 없음)
60초: 다시 전송 (3회 재시도, 응답 없음)
80초: VPN 터널 종료
Disable, On Idle, On Demand의 차이는 아래와 같습니다.
Disable VPN 터널 유지 여부 확인하기 않음. 즉, 상대방 터널이 다운되어도 감지가 불가.
On Idle 트래픽이 없을 때만 DPD Keepalive를 전송
On Demand 항상 주기적으로 DPD Keepalive를 전송
 - Mode (Aggressive, Main(ID protection)) : Phase1에서는 협상 과정에서 두 가지 모드를 선택할 수 있습니다. Main 모드는 협상 과정에서 6개의 메세지로 총 3번 왕복하여 보안성이 높지만, Aggreesive 모드는 3개의 메세지로 1.5번 왕복 하여 빠르지만, 보안성은 Main 보다 낮습니다.

[그림2] Phase1 설정 내용

 

이제 Phase1 설정은 끝났습니다. Phase2는 Phase1에서 설정된 ISAKMP(Security Association, SA)를 기반으로 실제 데이터 트래픽을 보호하는 단계입니다.

 

Local Address과 Remote Address 값은 실제 IPsec VPN 터널을 통해 라우팅할 대상 IP를 넣어주는 공간입니다. Local Address에는 자신 내부 대역 또는 주소, Remote Address는 상대방 내부 대역 또는 주소를 입력합니다.

[그림3] Phase2 설정 내용

 

이후 OK를 눌어 생성하면 아래와 같이 VPN Tunnel이 생성됩니다. 다만, 아직 상대편 장비에 설정을 하지 않은 상태이기에 연결 상태는 Inactive 입니다.

 

다음은 VPN 정책을 생성합니다. 인바운드/아웃바운드 양방향 정책을 만들어줍니다.

 

Static Routing을 추가 합니다. 상대편 장비의 내부 대역을 목적지로 VPN 인터페이스를 타고 갈 수 있도록 설정합니다.

 

이제 HQ-FW 설정은 끝났습니다. 상대편 BR-FW에서도 위와 같이 설정을 진행합니다. BR-FW에서 설정을 모두 진행하고, 연결이 정상적으로 되는지 확인을 해봅니다. HQ-FW 또는 BR-FW에서 IPsec Monitor를 추가하여 VPN 상태를 확인합니다.

혹시나, 아래 처럼 연결이 안된 경우, VPN을 선택한 뒤 Bring Up을 클릭해봅니다.

 

HQ-FW 하단 클라이언트에서 BR-FW 클라이언트로 ping 테스트를 해봅니다. 아래와 같이 정상적으로 통신되는 것을 확인할 수 있습니다.

 

반응형