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

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

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

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

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

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


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

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

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

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을 사용할 클라이언트에서 접속환경만 맞춰주면 된다.

 

잘 쓰기 바란다.

OpenVPN을 설정하다보면 TCP/IP 포워딩이 필요할 때가 있는데, 이것은 다음과 같이 레지스트리를 세팅함으로서 가능해진다.

(Windows 2000, Windows XP, Windows 2008에서 동작 됨을 확인하였다.)

 

TCP/IP 전달 사용

1. 레지스트리 편집기(Regedt32.exe)를 사용하여 다음 키를 봅니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

2. 다음 레지스트리 값을 추가합니다.

값 이름: IPEnableRouter
값 종류: REG_DWORD
값 데이터: 1

참고: 값 1은 이 컴퓨터에 설치되어 사용되는 모든 네트워크 연결에 대해 TCP/IP 전달을 사용합니다.

서버 설정시 server.ovpn파일에 다음을 추가한다.

 

#client의 모든 traffic을 VPN을 통하도록 설정
push "redirect-gateway def1"

IP 라우팅 테이블의 전체 내용을 표시하려면 다음과 같이 입력합니다.

route print

IP 라우팅 테이블에서 10.으로 시작하는 경로를 표시하려면 다음과 같이 입력합니다.

route print 10.*

기본 게이트웨이 주소인 192.168.12.1에 기본 경로를 추가하려면 다음과 같이 입력합니다.

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

서브넷 마스크 255.255.0.0과 다음 홉 주소 10.27.0.1과 함께 대상 10.41.0.0에 경로를 추가하려면 다음과 같이 입력합니다.

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

서브넷 마스크 255.255.0.0과 다음 홉 주소 10.27.0.1과 함께 대상 10.41.0.0에 영구 경로를 추가하려면 다음과 같이 입력합니다.

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

서브넷 마스크 255.255.0.0, 다음 홉 주소 10.27.0.1 그리고 비용 메트릭 7과 함께 대상 10.41.0.0에 경로를 추가하려면 다음과 같이 입력합니다.

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

인터페이스 색인 0x3을 사용하여 서브넷 마스크 255.255.0.0, 다음 홉 주소 10.27.0.1과 함께 대상 10.41.0.0에 경로를 추가하려면 다음과 같이 입력합니다.

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

서브넷 마스크 255.255.0.0과 대상 10.41.0.0의 경로를 삭제하려면 다음을 입력합니다.

route delete 10.41.0.0 mask 255.255.0.0

IP 라우팅 테이블에서 10.으로 시작하는 경로를 모두 삭제하려면 다음과 같이 입력합니다.

route delete 10.*

대상이 10.41.0.0이고 서브넷 마스크가 255.255.0.0인 경로의 다음 홉 주소를 10.27.0.1에서 10.27.0.25로 변경하려면 다음과 같이 입력합니다.

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

회사에서 보안상의 이유로 방화벽을 설정해 놓은 경우는 네트워크 사용에 제약이 많다. 이 경우 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