외부에서도 내부에서와 마찬가지로 서버컴 디렉토리를 네트워크 드라이브로 잡아서 사용할 수 있다면 이루 말할 수 없을 정도로 편리합니다. 이를 구현하기 위해 여러 방법이 존재합니다만 각각의 장단점이 뚜렷해서 기호에 맞게 선택을 해야합니다. 대체적으로 NetDrive, Hamachi, 일부 공유기에 포함되어 있는 VPN 기능, Windows 내장 PPTP VPN, 그리고 이 포스트에서 소개할 OpenVPN 입니다.

먼저 NetDrive는 FTP 프로토콜을 이용하여 본인의 FTP 홈디렉토리를 네트워크 드라이브로 인식시켜주는 프로그램입니다. 무엇보다도 속도가 위에 언급한 4가지 중에 제일 빠릅니다. 서버와 호스트가 모두 100Mbps급 광랜을 사용하고 있다면 블루레이 원본까지 무리없이 그대로 재생하여 볼 수 있습니다. 게다가 개인사용자에게는 무료이고 설치 또한 간단하며 설정은 일반 FTP 접속과 같으므로 사용상에 어려움 또한 없습니다. 다만 결정적인 문제가 안정성입니다. 아무리 서버측 FTP 데몬이 안정적이고 인터넷 환경 또한 좋다고 하더라도 대용량이거나 디렉토리내에 파일 갯수가 많을 경우에는 그대로 프리징이 되어 버리는 경우가 빈번합니다.

Hamachi는 가상의 네트워크를 생성하여 따로 떨어져 있는 컴퓨터들을 하나로 묶어주는 방식입니다. 우리나라에서는 이상하게도 스타의 IPX 접속을 위해 주로 사용되고 있습니다. 속도도 빠르고 인터페이스도 간단한 장점이 있습니다. 그러나 결정적인 단점은 네트워크 중개서버(즉 Hamachi로 생성한 네트워크는 Hamachi를 관리하는 서버에서 관리됩니다.)가 죽어버리면 접속을 하고 싶어도 못하는 웃지못한 상태가 됩니다. 즉 개인대 개인의 접속이 아니라 중간에 Hamachi 서버가 관련이 되어있다는 것입니다.

세번째 공유기에 포함된 VPN 기능은 별도의 VPN 서버 프로그램 설치가 필요없이 공유기 자체에서 지원하므로 공유기 관리 페이지에서 설정해주면 손쉽게 사용이 가능합니다. 그러나 성능 부분에 있어서 말그대로 맛보기 그 이상도 이하도 아닙니다. 속도가 매우 낮아 적은 용량의 문서 정도나 실시간으로 수정하고 불러올 수 있는 정도입니다. SD급 영화를 실시간으로 본다는 것은 물론이거니와 MP3 조차 실시간으로 재생이 안되는 성능입니다.

네번째로 Windows XP 이상에 내장되어 있는 PPTP 방식의 VPN 입니다. 랜카드가 2장이 있다면 클라이언트의 게이트웨이를 원격지의 게이트웨이로 설정하여 서버측의 인터넷 연결 상황을 그대로 이용할 수 있는 장점이 있습니다. 또한 블루레이 원본은 아니더라도 H.264 코덱으로 인코딩된 1080p 정도의 영상은 무리없이 클라이언트에서 재생할 정도의 속도가 보장됩니다. 안정성은 인터넷 환경은 안정적이라면 내부 네트워크를 사용하듯 무척 안정적입니다. 게다가 XP 이상의 윈도우에서는 별도의 프로그램을 인스톨하지 않고 자체 내장된 VPN 접속을 사용하면 되므로 매우 편리합니다. 다만 PPTP 형식을 사용하므로 보안에 취약점이 있으며, 서버측의 게이트웨이를 사용하려면 물리적으로 랜카드가 2장이 있어야 한다는 부담이 있습니다.

마지막으로 OpenVPN은 Windows 내장 VPN 보다는 약간 속도는 떨어지지만 OpenSSL을 이용하여 보안에 뛰어나며, 가상의 네트워크 장치를 생성하여 랜카드가 1장인 상황에서도 서버측의 게이트웨이를 사용할 수 있도록 설정할 수가 있습니다. 이를 사용하면 포트가 막힌 곳에서 본인의 서버컴에 OpenVPN으로 접속하여 집과 같은 환경으로 인터넷을 사용할 수 있습니다. 게다가 TCP와 UDP 모두 사용가능하고 포트 또한 자유롭게 설정이 가능하여 서버측의 도메인이나 IP를 차단하지 않는 이상 접속에 어려움은 없는 편입니다.

그럼 이제 OpenVPN을 이용하여 서버측의 게이트 웨이를 사용하는 법을 알아보겠습니다. 여기서 OpenVPN의 설치는 다루지 않겠습니다. 구글링만으로도 Windows에서의 OpenVPN 설치에 관한 자료는 아주 많습니다. 이 포스트에서는 클라이언트의 게이트 웨이를 서버측 게이트 웨이로 설정해서 클라이언트가 인터넷 환경을 서버와 같이 이용하는 방법에 대해서만 기재하겠습니다.

먼저 서버측에 설치된 OpenVPN의 config 파일을 편집기로 열어 아래의 두 곳을 찾아서 수정합니다.

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
push “redirect-gateway” 주석을 해제하고 이와같이 입력합니다.

.

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses. CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
push “dhcp-option DNS xxx.xxx.xxx.xxx” 서버의 DNS 주소를 확인하여 입력합니다.
push “dhcp-option DNS xxx.xxx.xxx.xxx” DNS주소가 하나 이상이면 이런 식으로 추가하여줍니다.

그리고 제어판에서 네트워크 환경을 열고 본인의 컴퓨터에 장착된 랜카드의 등록정보를 엽니다. 그리고 아래 그림과 같이 고급탭으로 이동하여 ‘다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결할 수 있도록 허용’에 체크 합니다. 이 때  컴퓨터에 장착된 네트워크 어댑터가 3개 이상이면 즉 실제 랜카드의 로컬 영역 연결, OpenVPN이 생성한 TAP-Wind32 Adapter외에 또 다른 어댑터가 있으면 그림과 같이 선택 콤보 박스가 나옵니다. 이 곳에서 OpenVPN의 어댑터를 선택하고 확인을 누르면 위와 같이 어댑터 아이콘에 손모양의 공유 표시가 나옵니다.

클라이언트에서 OpenVPN을 실행하기 전 www.whatismyip.com에 접속하여 클라이언트의 현재 아이피를 확인해보겠습니다.

이제 OpenVPN을 재구동시키고 클라이언트 측에서 접속을 하면 됩니다. (클라이언트 설정 파일에서 수정할 사항은 없습니다.) 그리고 다시 whatismyip 에 접속하면 아래와 같이 서버측이 아이피로 바뀐 것을 알 수 있습니다. 그리고 어댑터 정보를 확인하면 OpenVPN 주소로 게이트 웨이가 변경되고 DNS 또한 서버측과 동일하게 변경되어 있음을 확인할 수 있습니다. 단 이렇게 되면 모든 패킷이 서버측으로 갔다가 다시 클라이언트로 오게 되므로 서버의 네트워크 자원을 소모하게 됩니다.

실제적으로 인터넷 환경이 서버측과 동일하게 작동을 하는지 테스트를 해보겠습니다. 클라이언트측이 물려 있는 공유기에서 아래와 같이 네이트온을 차단하면 클라이언트 컴퓨터에서는 네이트온에 접속할 수가 없습니다.

이제 OpenVPN을 실행하고 네이트온을 실행하면 아래와 같이 정상적으로 접속됨을 확인할 수 있습니다. 이를 이용해 클라이언트가 일부 게임에서 차단된 아이피 대역을 사용하고 있는 해외인 경우나 회사의 방화벽내 있는 경우 이를 무시하고 자유롭게 사용할 수 있습니다.