Windows XP PRO.는 참으로 훌륭한 솔루션이다. Windows XP PRO하나만 있으면 벼래별것을 다 설치 할 수 있기 때문이다.

외국에 출장을 가거나, 회사에서 특정 서비스를 막았을 경우 참 거시기해진다.

그래도 그런 서비스를 사용하고 싶으면 집에 VPN 서버를 설치하면 된다.

방화벽으로 포트를 막은 회사에서 한게임 고도리를 하고 싶은가?

 

Windows XP PRO로 VPN 서버를 구성하기 위해 필요한 것은 일단 다음과 같다.

1) Windows XP PRO 가 설치된 PC

2) LAN Card 2개

Windows XP PC로 VPN 서버 구성하기

 

거두절미하고 바로 VPN 서버 설치를 해볼까?

[시작] -> [제어판] -> [네트워크 연결] -> [새 연결 만들기] -> [다음] -> [고급설정]

Windows XP PC로 VPN 서버 구성하기

(내 OS가 영문버젼이라 일단 스크린샷은 영문버젼으로 보여준다.)

 

그리고 연결 요청 수락을 선택하고 [다음] 클릭 -> [다음] 클릭 -> VPN 연결 허용 선택 후 [다음] 클릭

Windows XP PC로 VPN 서버 구성하기

연결을 허용할 사람 리스트를 선택하고

Windows XP PC로 VPN 서버 구성하기

사용 할 프로토콜을 다음과 같이 선택한 다음 TCP/IP 설정을 다음과 같이 해준다.

Windows XP PC로 VPN 서버 구성하기

Windows XP PC로 VPN 서버 구성하기

설치가 완료되면 다음과 같이 나온다.

Windows XP PC로 VPN 서버 구성하기

어떤가? 설치가 무척 쉽지 않은가?

Windows XP는 로컬 네트워크에 있는 다른 컴퓨터와 인터넷 연결을 공유하는 기능을 제공하는 인터넷 연결 공유(ICS)를 지원합니다. Windows XP에서 ICS를 사용하면 인터넷에서 오는 요청과 특정 서비스를 향하는 요청이 Windows XP에 의해 내부 네트워크에 있는 적절한 컴퓨터로 리디렉션되도록 서비스를 내부 네트워크에 있는 호스트에 매핑할 수 있습니다.

예를 들어, PPTP(Point-to-Point Tunneling Protocol) 서버를 내부 네트워크에 배치하고 Windows XP ICS를 구성하여 가상 사설망(VPN) 소통량을 PPTP 서버로 전달할 수 있습니다. 본 문서에서는 들어오는 VPN 연결이 Windows XP ICS 컴퓨터를 통과할 수 있도록 PPTP를 내부 호스트로 매핑하는 데 필요한 프로세스를 설명합니다. 본 문서의 목적을 위해 PPTP 서버가 이미 제대로 구성되었으며 로컬 네트워크에 있는 클라이언트로부터 PPTP 연결을 받아들일 수 있다고 가정합니다.

PPTP 연결은 두 종류의 소통량으로 구성되어 있습니다. 첫번째는 TCP 포트 1723을 사용하는 PPTP 소통량이며 연결을 설정하고 유지하는 데 사용됩니다. 두 번째는 GRE(Generic Route Encapsulation) (프로토콜 47)이며 두 종점 간에 전달되는 실제 데이터를 암호화하는 데 사용됩니다. ICS(Windows XP용)에서 서비스 리디렉션을 구성할 때 TCP 포트 1723을 적절한 내부 서버로 매핑하기만 하면 됩니다. GRE 소통량은 PPTP 소통량과 동일한 호스트로 자동 리디렉션됩니다.

PPTP 소통량이 내부 호스트로 전달될 수 있도록 서비스 매핑을 추가하려면 다음과 같이 하십시오.

1. 제어판에서 네트워크 연결을 두 번 누릅니다.

2. 인터넷 연결(ICS가 설정된 연결이기도 함)을 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.

3. 고급 탭에서 설정을 누릅니다.

4. 서비스 상자에서 들어오는 연결 VPN(PPTP) 항목이 있는지 확인합니다. 있으면 이 서비스 필터를 누른 다음 삭제를 누릅니다. 이 항목은 들어오는 연결 마법사에 의해 유지되므로 이 서비스 필터에 대해 구성된 설정은 마법사를 실행할 때마다 로컬 호스트에 대한 기본값으로 반환됩니다.

5. 추가를 누릅니다.

6. 서비스 설정 양식을 다음과 같이 입력합니다.

  • 서비스 설명: 내부 PPTP 서버
  • 이름 또는 IP: <내부 PPTP 서버의 IP 주소(예: 192.168.0.12) 또는 PPTP 서버의 이름(예: PPTPServ.MSHOME.NET) 입력>
  • 프로토콜: TCP
  • 이 서비스에 대한 외부 포트 번호: 1723
  • 이 서비스에 대한 내부 포트 번호: 1723

7. 확인을 눌러 구성을 완료한 다음 확인을 눌러 고급 설정 대화 상자를 종료합니다.

이제 ICS는 인터넷에 있는 클라이언트가 PPTP를 사용하여 내부 VPN 서버에 연결할 수 있도록 구성되었습니다.

우선 서버에 접속하여 VPN을 할 수 있도록 단축아이콘을 하나 만들어야 한다.

설치 방법은 무척 간단하다.

[네트워크 연결]에서 [새 연결 만들기]를 클릭한다.

그리고 다음과 같이 다이얼로그가 나오면 차례대로 해주면 된다.

최종적으로 바탕화면에 다음과 같은 아이콘이 만들어진다.

접속을 해보고 만약 접속이 되지 않으면 포트가 제대로 열려있는지 확인해 보도록 하라.


혹 접속은 되었으나 네트웤이 제대로 되지 않는다면 위의 접속 창에서 [속성]을 누르고 다음의 사항을 On/Off 해보라

1) [일반설정] -> [보안] ->데이터 암호화 필요 Uncheck

2) [네트워킹] -> TCP/IP -> [속성] -> [고급] -> [일반] -> 원격 네트워크에 기본 게이트웨이 사용 Check

L2TP, PPTP 포트는 기본적으로 다음과 같다.

 

IP 보안(IKE) : 500

image

IP 보안(IKE NAT 통과): 4500

image

L2TP/IPSec : 1701

image

PPTP : 1723

image

Windows 2008에서는 별도의 VPN S/W를 구할 필요 없이 설치 CD에 내장된 소프트웨어를 이용하여 VPN을 구성 할 수 있다. OpenVPN 설정하다가 ROUTE 명령어 때문에 이런저런 세팅 때문에 아주 골머리를 앓았는데, 2008에 포함된 VPN은 설치가 매우 간단하였다.

 

1. VPN (PPTP) 설치

시작 -> 모든 프로그램 -> 관리도구 -> 서버 관리자 -> 역할 추가 -> 네트워크 정책 및 액세스 서비스 -> 라우팅 및 원격 액세스 서비스 설치 (라우팅, 원격 액세스 서비스 둘다 설치한다)

 

 

2. VPN 구성

서버 관리자 -> 네트워크 정책 및 액세스 서비스 -> [라우팅 및 원격 액세스] 우클릭 하여 [라우팅 및 원격 액세스 구성 및 사용] 클릭

※ 이때 오류가 발생하면 관리도구 > 서비스에서 Internet Connection Sharing(ICS)을 사용안함으로 선택 후 바로 리부팅 하고 다시 VPN을 구성해 준다. (VMWare가 설치되어져 있다면 ICS를 Disable시키지 못할 수도 있다.)

 

이제 해주어야 할 일은 서버 관리자를 통해 새 인터페이스를 생성해 주는 일이다.

IPv4의 NAT에서 새 인터페이스를 누르면 다음과 같이 두개의 인터페이스가 나온다. 이때 로컬 영역 연결을 선택해 준다.

그리고 NAT에서 공용 인터페이스를 인터넷에 연결하도록 세팅해 주고

서비스 및 포트 탭으로 이동하여 다음과 같이 4개의 프로토콜을 선택한다.

이때 각각을 설정할 때 개인주소는 다음과 같이 127.0.0.1로 설정한다.

새 인터페이스 생성이 완료 되었으면 NAT의 속성을 변경 해 준다.

DHCP 할당자를 사용하여 자동으로 IP 주소를 할당하도록 해주고

[컴퓨터 관리]에 들어가서 VPN을 사용할 사용자를 추가 해 준다.

사용자가 추가 되었으면  VPN을 사용 할 수 있도록 속성을 변경 해 준다.

이제 서버 설정은 끝났다. VPN을 사용할 클라이언트에서 접속환경만 맞춰주면 된다.

 

잘 쓰기 바란다.

회사에서 보안상의 이유로 방화벽을 설정해 놓은 경우는 네트워크 사용에 제약이 많다. 이 경우 VPN을 원격지에 설정해두면 네트워크를 제약없이 사용 할 수 있다. 예를 들어 원거리에 출장을 간 출장자가 회사 내에서만 사용 가능한 인트라넷을 써야 한다면, 회사 인트라넷에 접속하여

 

1. 서버 설치

1.1. 소프트웨어 다운로드 및 설치

http://openvpn.se 접속 -> Stable -> openvpn-2.0.9-gui-1.0.3-install.exe 다운로드

(무조건 Next -> Next -> Next -> ... 하여 설치)

 

1.2. Key 생성

1) c:\program files\openvpn\easy-rsa 폴더로 이동

 

2) init-config.bat 파일 실행

 

3) texteditor로 vars.bat 파일을 열어 파일 맨 하단부에서 다음 부분을 찾는다.

set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=FortFunston
set KEY_EMAIL=mail@host.domain

 

4) 여기서 다음과 같이 수정

set KEY_COUNTRY=KR
set KEY_PROVINCE=Seoul
set KEY_CITY=Seoul
set KEY_ORG=KURAPA_CORP 
set KEY_EMAIL=foo@foo.com

 

여기서 값은 알아서 적당하게 넣으십시오.

 

5) DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 차례대로 실행

   - vars.bat 실행

   - clean-all.bat 실행

   - build-ca.bat 실행

     (그냥 ENTER를 계속 누르되 common name/host name은 server로 입력.

      잘못 입력했으면 다시 build-ca.bat를 실행하여 입력)

 

6) 서버 인증서 생성

DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 실행.

   - build-key-server server

     . 그냥 ENTER를 계속 누르되 common name/host name은 server로 입력

     . A challenge password는 적당한것을 입력

     . y/n을 묻는 부분에서는 무조건 y

 

7) 클라이언트 인증서 생성

DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 실행.

   - build-key client

     . 그냥 ENTER를 계속 누르되 common name/host name은 client로 입력

     . A challenge password는 적당한것을 입력

     . y/n을 묻는 부분에서는 무조건 y

 

  ※ 접속할 사용자가 여러명이면 다음과 같이 인증서를 여러개 만들 수 있다.

   - build-key kurapa

   - build-key mimi

 

8) DH 파라메터 생성

DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 실행.

   - build-dh (시간이 좀 걸린다.)

    

 

9) 인증서 생성 마무리

   -  c:\program files\openvpn\easy-rsa\keys에서 다음의 파일들을 c:\program files\openvpn\config 디렉토리에 복사

     . ca.crt

     . dh1024.pem

     . server.crt

     . server.key

 

   - 다음의 파일은 클라이언트에서의 사용을 위해 별도로 저장해둔다.

  (아무나 막 사용할 수도 있으므로 USB메모리 같은데 안전하게 저장해 두는 것이 좋다.)

     . ca.crt

     . client.crt

     . client.key

 

1.3. VPN 서버 환경 설정

c:\program files\openvpn\sample-config에서 server.ovpn 파일을 복사하여 c:\program files\openvpn\config 폴더에 복사한다.

 

1.4. 방화벽 해제

Windows 방화벽이 설정되어져 있다면 다음과 같이 예외설정을 해준다.

(프로토콜은 UDP임을 꼭 확인하자)

 

1.5. VPN 서버 실행

- 시작 -> 프로그램 -> OpenVPN -> OpenVPN GUI 실행 (오른쪽 하단에 빨간색 아이콘이 생긴다)

- 오른쪽 버튼을 눌러 Popup Menu를 띄우고 Connect버튼을 누른다.

- 녹색( )으로 변신하면 OK, 실패했다면 c:\program files\openvpn\easy-rsa\keys 폴더를 지우고 1.2. Key 생성을 처음부터 다시 한다.

 

1.6. 서버를 자동 실행시키고 싶은 경우

제어판 -> 관리도구 -> 서비스 -> OpenVPN 자동실행으로 변경

 

 

2. VPN 클라이언트 설치

클라이언트 설치는 서버에 비해 무척 간단하다.

 

2.1. 소프트웨어 다운로드 및 설치

http://openvpn.se 접속 -> Stable -> openvpn-2.0.9-gui-1.0.3-install.exe 다운로드

(무조건 Next -> Next -> Next -> ... 하여 설치)

 

2.2. Key 복사

1.2.의 8)에서 저장해둔 ca.crt, client.crt, client.key파일을 c:\program files\openvpn\config 폴더에 복사한다.

 

2.3. 환경설정

c:\program files\openvpn\sample-config에서 client.ovpn 파일을 복사하여 c:\program files\openvpn\config 폴더에 복사한 후 Notepad로 열어 다음의 부분을 찾는다.

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote my-server-1 1194
;remote my-server-2 1194

 

여기서 아래와 같이 my-server-1을 접속하고자 하는 서버의 domain name 또는 IP Address로 적어준 후 파일을 저장한다.

remote vpn.kurapa.com 1194

 

2.4.  VPN Client 실행

- 시작 -> 프로그램 -> OpenVPN -> OpenVPN GUI 실행 (오른쪽 하단에 빨간색 아이콘이 생긴다)

- 혹시 외부 접속시 반드시 Proxy를 써야 하는 환경이라면 오른쪽 버튼을 눌러 Popup Menu를 띄우고 Proxy Settings 버튼을 누르고 해당 정보를 세팅해 준다.

- 오른쪽 버튼을 눌러 Popup Menu를 띄우고 Connect버튼을 누른다.

  접속이 안된다면 log를 꼼꼼히 살펴보고 조치를 취해줘라.

 

3. 기타 (트러블 슈팅)

3.1. VPN 프로토콜

OpenVPN 기본 설정은 접속 프로토콜로 UDP를 사용하게 되어져 있다.

따라서 공유기를 사용하고 있다면 프로토콜을 UDP로 해줘야 한다.

그런데 일부 회사는 방화벽을 하면서 아예 UDP는 막아버리는 경우가 많다. 그런 경우는 프로토콜을 부득이하게 TCP로 바꾸어줘야 되는 경우가 많다.

이를 TCP로 변경하고자 한다면 위의 server.ovpn, client.ovpn에서 protocol을 다음과 같이 수정해 주면 된다.

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
proto tcp
;proto udp

그리고 서버에 방화벽이 설치되어져 있다면 다음과 같이 예외설정을 해준다.

(프로토콜이 TCP로 되어져 있음을 확인)


3.2. 공유기를 사용하는 경우

위의 설정을 다 했는데도 안되는 경우는 공유기가 PPTP 패스 쓰루, IPSec 패스쓰루를 잘 지원하지 못해서 그럴 수도 있다. ipTimes의 q204의 경우도 그러했는데, 업체에서는 메뉴에는 없지만 Pass Through를 기본적으로 지원한다고 한다. 그러나 무엇때문인지 공유기를 다른것으로 바꾸니까 잘 되었다. 이런썅~


3.3. 포트변경

1) 이래도 안되면 포트를 변경해보자. 20,000번대 이상으로...

2) 그래도 안되면 1194라는 숫자가 포트 번호에 있는지 보자. 더러는 방화벽으로 이 숫자만 막아놓은 경우가 있다. (무식하게...)

+ Recent posts