IPSec VPN이란?
IPSec VPN은 Site to Site 방식으로 사용되는 VPN. 즉 네트워크와 네트워크 간의 연결이라고 할 수 있음
사설망과 사설망을 연결하고자 할 때 IPSec VPN을 사용할 수 있음
다시 말해, IPSec VPN은 자신의 아래에 있는 단말(PC 1, PC 2)에서 VPN의 단말로 넘어가려는 패킷이 터널을 통해(실제로는 공인망을 통해) 상대편 VPN으로 건너갈 수 있도록 기능하는 것
또한 패킷 암호화함으로써 Layer 3의 단점인 데이터 암호화를 해결할 수 있음. 이는 IPSec(Internet Protocol Security)이라고 불리는 터널링 프로토콜이 있기에 가능함
패킷의 이동과 암호화는 전적으로 VPN이 책임지기 때문에 VPN 이하의 장비들은 패킷 이동과 암호화에 신경쓰지 않고 라우팅을 통해 상대편 네트워크로 이동할 수 있음
위 그림을 보면, 본사의 네트워크(10.10.10.x/24)와 자사의 네트워크(10.10.20.x/24)를 VPN으로 연결한 것을 확인할 수 있다.
본사 네트워크에 속한 PC 1이 자사 네트워크에 속한 PC 3으로 가기 위해 해야하는 것은 Default Gateway를 10.10.10.1로 잡거나 자사의 네트워크(10.10.20.x/24)로 가기 위해 Next Hop을 10.10.10.1로 잡는 것뿐이다.
주요 구성 방법
아래 그림을 보면, 왼쪽에 본사 네트워크와 본사 VPN이 존재하고 있고, 오른쪽에는 여러 자사의 네트워크와 자사 VPN이 있음
본사 VPN은 각 자사 VPN과 1:1 터널을 맺고 터널을 통해 서로 통신, 필요하다면 지사와 자사를 연결하는 1:1 터널을 맺고 사용할 수 있음
이를 통해, 본사와 지사의 직원들은 공인망의 존재를 신경쓸 팔요 없이 멀리 떨어진 네트워크와 사설 IP를 통해 통신할 수 있음
IPSec VPN의 정의와 구성을 살펴보았으니, IPSec VPN의 터널이 어떻게 생성되는지 살펴보자
그 전에 터널링 프로토콜인 IPSec에 대해 살펴보고자 한다. IPSec을 모르면, IPSec VPN을 안다고 할 수 없기 때문이다.
IPSec(Internet Protocol Security)
네트워크에서의 안전한 연결을 설정하기 위한 통신 규칙 또는 프로토콜 세트. 인터넷 프로토콜(IP)은 데이터가 인터넷에서 전송되는 방식을 결정하는 공통 표준. IPSec은 암호화와 인증을 추가하여 프로토콜을 더욱 안전하게 만듬.
이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화 함으로써 처리된다.
IPSec은 세션의 시작에서 에이전트들 사이에서 상호 인증을 확립하거나 세션을 맺는 중에 사용될 암호화 키의 협상을 위한 프로토콜을 포함한다.
IPSec VPN을 IPSec VPN이라고 부르는 이유는 VPN 터널을 생성하고 데이터를 암호화하는 방식에 있어 IPSec의 규칙을 철저히 따르기 때문이다.
여기서 IPSec의 역할은 인터넷 경유 구간에서 안전한 터널을 생성하고, 패킷을 인증할 수단을 제공하며, 패킷을 암호화할 키를 관리하고 제공하는 것이다.
또한 IPSec에는 밑에 사진처럼 두 가지 모드가 있다.
간단히 말하면, 전송 모드는 IP Header을 그대로 사용하면서, IP Header을 제외한 데이터 부분만을 인증 혹은 보호하며 단말이 모든 과정을 담당하기에 단말과 단말 간의 통신이 가능하다는 특징이 있다.
터널 모드는 New IP Header(공인 IP)를 추가적으로 씌워 Origin IP Header(사설 IP)를 캡슐화하고 IP 패킷 전체를 인증 및 보호하며 VPN 장비가 이를 도맡아 하므로 사설 네트워크와 사설 네트워크 간 통신이 가능하게 함. 현재 IPSec VPN은 터널 모드를 주로 씀.
[출처]
https://aws-hyoh.tistory.com/162