회사에서 보안상의 이유로 방화벽을 설정해 놓은 경우는 네트워크 사용에 제약이 많다. 이 경우 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라는 숫자가 포트 번호에 있는지 보자. 더러는 방화벽으로 이 숫자만 막아놓은 경우가 있다. (무식하게...)

iptimes q204 공유기를 몇일전 샀는데, 인터넷이 점점 느려지고 급기어는 인터넷이 아예 동작 안하는 현상을 발견하였다.

iptimes 홈페이지에 접속해보니 이를 해결하기 위한 방법 몇가지를 올려두어 그대로 해봤다.

1) 공유기의 UDP 제한 해제
관리도구 > 고급설정 > 트래픽 관리 - 커넥션 제어에서 최대 UDP 커넥션 수를 0 (제한없음) 으로 변경.

2) 랜카드가 기가비트 랜카드인 경우
마더보드와 함께 제공되는 랜카드 드라이버를 사용하면 이상하게 공유기가 맛이 갑니다. 이런것도 공유기 자체적으로 자동으로 커버해줘야 되는거 아닌가요?

invalid-file

Marvell Yukon Gigabit NIC(51x86_v84113) Driver – Click!!


+ Recent posts