본문 바로가기

초콜렛색양철지붕

PPTP VPN 서버 구성하기

리눅스 서버를 이용하여 간단하게 VPN 환경을 구성할 수 있는 방법 중 하나가 GRE Tunneling 방식의 PPTP를 이용한 VPN 구성이다. 이 글은 PPTP를 이용하여 원격지의 망과 내 PC를 연결하는 방법에 대한 간단한 소개이다.

VPN은 Virtual Private Network의 줄인 말인데, 요즘 가뜩이나 가상화에 대한 용어가 많아서 “이것도 요즘 유행하는 그런 거야?” 하는 생각이 들 수도 있을 것 같다. 그런데, 딱히 그런 것은 아니다. 물리적인 망의 경계를 넘어 망을 확장/연결해야 하는 필요성은 이미 오래 전부터 있어왔던 숙제였고, 이를 해결하기 위한 다양한 방식의 솔루션들이 꽤 오래전부터 사용되어 왔다.

오늘 구성해보려고 하는 PPTP, 즉 Point to Point Tunneling Protocol은 이러한 VPN을 구현하는 방식 중 하나로, 이름에서 알 수 있듯이 연결하려는 양 종단을 Tunneling 기법으로 연결하여 하나의 Network Segment 처럼 느낄 수 있게 해주는 기술이다.

VPN과 PPTP에 대한 자세한 설명은 아래 URL을 참고하면 될 것 같다.

이 글은, 요즘 진행중인 OpenStack 기반 클라우드 컴퓨팅 환경에 대한 시험을 진행하던 중, 대상 네트워크의 Miniature 성격으로 꾸며진 폐쇄망 시험환경을 시끄러운 전산센터에 들어가지 않고 사무실에서 쉽게 접속하여 업무 진행을 할 수 있도록 하기 위한 목적으로 진행된 작업의 기록이기도 하다.

PPTP VPN 서버 구성

VPN을 구현하는 다양한 방법이 있지만, 그 중에서 가장 간단한 방법 중 하나가 PPTP를 사용하는 것이다. 이번 작업은, 미리 준비한 “깨끗하게 설치된” Ubuntu 리눅스 환경을 기준으로 설치 및 설정을 진행하였다. (이 외의 어떤 설정의 영향도 없다는 의미인데 말이 좀 이상하네… ㅋㅋㅋ)

설치

먼저, 관련된 패키지를 설치해야 한다. Ubuntu 리눅스에서 PPTP 기능은 pptpd 라는 패키지를 통해서 제공된다.

$ sudo apt-get install pptpd
<...>
The following NEW packages will be installed:
  bcrelay pptpd
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 105 kB of archives.
After this operation, 364 kB of additional disk space will be used.
<...>
$ 

설치는 이렇게 간단하게 된다. 참고로, 함께 설치되는 bcrelay라는 패키지는 pptpd가 사용하는 ppp 인터페이스를 사용하여 Bridge를 구성할 수 없는 점을 극복하게 해주는 역할 등에 사용 가능한 Broadcast Relay 유틸리티인데, 이번 구성에서는 사용되지 않는다.

설정 및 구동

설정 역시 설치만큼이나 간단하다. 아래와 같이, /etc/pptpd.conf 파일에 양단에서 사용할 IP를 등록하는 것 만으로 모든 설정이 끝나게 된다. 물론, 이런 저런 옵션이 있지만, 이미 원저작자 및 Debian Package Maintainer가 손봐둔 기본 설정으로 충분하다. (역시, 참 편하다. <br>PPTP VPN 서버 구성하기<br><br><br>포스팅은 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받고 있습니다.</div>
            <!-- System - START -->

<!-- System - END -->

                    <div class=