강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

OpenVPN으로 VPN 구성 및 활용 1편_OpenVPN 개론

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

OpenVPN으로 VPN 구성 및 활용 1_OpenVPN 개론

 

평문(text)으로 전송되는 데이터가 스니핑 되는 것을 방지하기 위해서는 암호화 프로토콜을 사용하는 것이 가장 확실한 대안이라 할 수 있다.

 

이를 위해 telnet 대신 ssh를 사용하고, 웹을 접속할 때는 https로 접속하며, ftp를 사용해야 할 때는 sftpscp를 사용하면 되겠지만, 이들 각각의 서비스들마다 별도의 응용 프로그램을 따로 사용해야 하고 다른 프로그램과 호환성에 문제도 있어 여간 번거로운 일이 아닐 수 없다.

 

보안도 좋지만 사용하기 번거롭고 불편하다면 관리자 입장에서 사용을 권하는 것이 아무래도 쉽지 않을 것이다.

 

이와 같은 이유로 인하여 특정한 프로그램에 관계없이 내 PC와 특정서버, 우리 네트워크와 특정 네트워크 사이는 아예 모든 패킷이 암호화 등 안정성이 확보되어 자유롭게 통신할 수 있었으면 하는 요구가 있을 수 있다.

 

또한 외부에 출장을 갔을 때 메일을 확인하거나 사무실 내부의 서버에 접속을 하고자 할 때 만약 앞단에 방화벽이 설치되어 있다면 외부에서 접속 자체가 불가능한 경우가 있어 여간 불편한 것이 아닐 수 없다.

 

이러한 불편함을 해소하면서 여러 가지 요구를 충족시킬 수 있는 솔루션으로는 가상사설망이라 불리는 VPN(Virtual Private Network)이 그 대안이 될 수 있다.

 

 

일반적으로 VPN의 구성은 다음과 같이 3가지 방식으로 구현 가능하다.

 

 

첫 번째, Gateway to Gateway방식 또는 Site to Site라고도 하는 이 방식은 주로 본사와 지사 간에 네트워크를 구성하는 것으로 네트워크의 앞단에 별도의 VPN 장비(게이트웨이)를 두는 경우이다.

 

이렇게 되면 VPN 게이트웨이에서는 라우팅 테이블 등 패킷의 목적지 정보를 보아 일반 트래픽은 인터넷으로 보내지만 상대방 VPN으로 가는 경우에는 패킷을 압축하고 암호화하여 보내게 되고 이 패킷은 상대방 VPN 게이트웨이에서 복호화 되고 압축이 풀리게 된다.

 

 

이 방식의 경우 PC나 서버에서는 별도의 설치가 필요 없고 VPN 존재도 알 필요 없어 편리하게 이용할 수 있다는 장점이 있다.

 

 

 

d9b788a441468cf23f7e98216dbb1a41_1660272011_8237.png
 

  [그림] Gateway to Gateway 방식

 

두 번째 방식은 외근이 잦은 영업 사원(이런 유저들을 road warrior라고 한다.)이나 출장을 갔을 때 사용할 수 있는 방식으로 IDC등 전산센터의 앞단에 VPN 장비를 두고 클라이언트는 PC에 별도의 VPN 클라이언트 프로그램을 설치하여 이용하는 방식이다.

 

이러한 경우 VPN 프로그램을 통해 인증을 받은 후 서버에 접속하면 클라이언트와 VPN 게이트웨이까지는 패킷이 압축되고 암호화되어 전송되고 이후 게이트웨이를 통과하면서 패킷이 복호화된다.

 

 

d9b788a441468cf23f7e98216dbb1a41_1660272028_1153.png
 

[그림] Host to Gateway 방식

 

세 번째 방식은 가장 간단한 방식으로 별도의 장비 없이 특정 서버에 VPN 데몬을 설치하여 클라이언트 PC와 서버 간에 VPN 터널을 구성하는 경우이다.

 

이러한 경우 VPN서버는 이를테면 211.47.64.100이라는 공인IP외에 10.1.1.1이라는 사설IP를 사용하게 되고, 인증을 받은 PC10.1.1.10이라는 IP가 할당되어 가상의 사설망으로 통신하게 되는 것이다.

 

이때 PC에서 211.47.64.100으로 접속하면 공용망인 인터넷으로 접속하는 것이고, 10.1.1.1로 접속하면 VPN을 통해 접속하게 되는 것이다.

 

 

 d9b788a441468cf23f7e98216dbb1a41_1660272051_9498.png 

  [그림] Host to Host 방식

 

 

요즘 신문이나 잡지를 보면 VPN이라는 용어가 자주 언급되면서 VPN이라는 용어에 대해서는 자주 접해보았을 것이다.

 

실제로 여러 가지 장점으로 인하여 방화벽과 IDS 이후 많은 업체에서 VPN을 도입하여 사용하고 있는데, 과연 리눅스기반의 VPN을 이용하여 위와 같은 여러 구성을 구현할 수 있을까?

 

결론부터 말하자면 물론 가능하다.

 

심지어는 상용 VPN 솔루션조차 리눅스의 오픈소스를 기반하고 있는 경우도 적지 않은데, 이번 장에서는 쉽게 설치 및 사용이 가능하면서도 안정성이 확보된 OpenVPN을 이용하여 리눅스 서버에서 여러 환경에 적합한 VPN을 구축해 보도록 하겠다.  

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,031 명
  • 현재 강좌수 :  35,769 개
  • 현재 접속자 :  90 명