OpenVPN 사용하기 #2 클라이언트

Posted by 빵빵빵
2009/10/24 17:17 전산(컴퓨터)/PC-Windows



Server 설치 및 설정은 Open VPN 활용하기 #1 서버 설치및 설정 에서 확인

1. Open VPN 설치
Open VPN 서버의 설치와 동일하다.
Open VPN GUI버전은 서버와 클라이언트의 차이는 설치파일이 아니라, 설정파일및 가지고 있는 인증서와 키에 따라 달라진다.


1-1. OpenVPN DOWNLOAD
http://openvpn.net

설치본 다운로드는 'Open Source Project'의 메뉴로 들어가야 한다.


'Open Source Project'로 들어오자 Downloads 메뉴가 보인다.


2.0.9 릴리즈가 제공되지만 Windows 환경에서 사용하기 편하도록 GUI버전을 다운 받도록 한다.
다운로드 목록 위에 'Mathias Sundman's OpenVPN GUI Site' 링크가 제공된다.

사이트 접속후 Stable 버전 선택하여 들어간다.

Stable 버전의 1.0.3버전을 다운받아 설치한다.
다운받은 설치 파일



1-2. OpenVPN Server 설치

설치시작

라이센스 동의

설치 컴포넌츠 선택 - Default상태로 설치

설치 디렉토리 설정

파일복사

'계속'을 눌러 호환성 체크한다.

설치 완료


2. Open VPN Client 설정
Open VPN이 설치된 디렉토리에서 C:\Program Files\OpenVPN\sample-config 로 이동한다.
사용자 삽입 이미지


client.ovpn 파일을 오픈하여 접속할 서버에 맞춰 필요한 부분을 수정한다.
사용자 삽입 이미지


서버에 설정에 따라서 proto는 서버와의 프로토콜을 선택하는 것으로 tcp로 설정하고
remote는 Open VPN서버의 주소와 연결된 port번호를 입력한다.
(OpenVPN의 기본설정은 프로토콜은 UDP이고, 포트번호는 1194번이다.)
수정한 client.ovpn 파일은 C:\Program Files\OpenVPN\config 디렉토리로 복사/이동한다.

OpenVPN 서버에서 만들어진 인증서와 client용 키파일을 C:\Program Files\OpenVPN\config 디렉토리로 복사한다.
사용자 삽입 이미지


OpenVPN client의 config 디렉토리에는 client.ovpn, client.key, ca.crt, client.crt 파일이 존재하여야 한다.

Open VPN을 실행시키면 하단 트레이에 아이콘이 나타난다. 연결이 되어 있지 않아 빨간색이다.
사용자 삽입 이미지



트레이의 아이콘은 우클릭하여 서버에 연결한다.
사용자 삽입 이미지



서버와의 연결이 성공하면 10.8.0.X의 IP를 할당 받게 됬었음을 알려주는 메세지가 나타나고, 아이콘이 초록색으로 변하게 된다.
사용자 삽입 이미지




3. 연결후 사용하기
Open VPN의 서버는 10.8.0.1이란 IP를 획득하게 된다. Open VPN 클라이언트는 서버의 가상 IP로 접근할수 있다.
네트워크 드라이브의 경우에는
\\ 10.8.0.1\d$
식으로 접근하면 된다. \\10.8.0.1\ 로 접근하게 되면 공유가 설정된 디렉토리만 나타나게 된다.

원격 데스크탑의 경우는 터미널로 10.8.0.1로 접근하면 서버의 원격 테스크탑 서비스에 연결할수 있다.
서버에서 다른 서버로 연격 데스크탑을 다시 연결할 수 있다. 이때는 가상 IP가 아니라 연결하려는 시스템의 실제 IP로 연결하여야 한다.

출처 : http://memfis.tistory.com/244
2009/10/24 17:17 2009/10/24 17:17

OpenVPN 사용하기 #1 서버설치 및 설정

Posted by 빵빵빵
2009/10/24 17:12 전산(컴퓨터)/PC-Windows



OPEN VPN을 윈도우즈에 설치하여 사용하여 보자.

OPEN VPN으로 구성한 네트워크 구조는 다음 그림과 같다.
사용자 삽입 이미지

이미지출처 : http://kano.feena.jp/?OpenVPN

방화벽 내에 있는 VPN Server로 사용할 시스템에 OpenVPN Server를 설치하고 방화벽에서 Server에서 설정한 Port를 열어 놓는다.
설정과 설치가 완료되게 되면 VPN Server는 10.8.0.1 식의 IP를 획득하게 된다. 이과정에서 CA인증서와 Server인증서 그리고 Client 인증서까지 만든다.

방화벽 밖에 있는 VPN Client에서는 OpenVPN Clinet를 설치하고, Server에서 생성된 Client 인증서와 key등으로 서버로 접속 한다.
접속이 성공되면 VPN Client는 10.8.0.2 식의 IP를 획득하게 된다.

Server와 Client는 동일 IP대역으로 IP상으로는 같은 네트워크상에 있는 가상 네트워크상에 있게 된다.
그리하여 방화벽이 있어도 외부에서 공유된 드라이브에 네트워크 드라이브로 연결가능하고, 원격 데스크탑 Port가 방화벽에 의해
막혀 있어도, 원격 데스크탑에 접속을 할수 있게 된다.

1. OpenVPN 서버 DOWNLOAD
사용자 삽입 이미지

http://openvpn.net

설치본 다운로드는 'Open Source Project'의 메뉴로 들어가야 한다.

사용자 삽입 이미지


'Open Source Project'로 들어오자 Downloads 메뉴가 보인다.

사용자 삽입 이미지


2.0.9 릴리즈가 제공되지만 Windows 환경에서 사용하기 편하도록 GUI버전을 다운 받도록 한다.
다운로드 목록 위에 'Mathias Sundman's OpenVPN GUI Site' 링크가 제공된다.

사용자 삽입 이미지

사이트 접속후 Stable 버전 선택하여 들어간다.

사용자 삽입 이미지

Stable 버전의 1.0.3버전을 다운받아 설치한다.
사용자 삽입 이미지

다운받은 설치 파일



2. OpenVPN Server 설치
사용자 삽입 이미지


설치시작


사용자 삽입 이미지

라이센스 동의

사용자 삽입 이미지

설치 컴포넌츠 선택 - Default상태로 설치

사용자 삽입 이미지

설치 디렉토리 설정

사용자 삽입 이미지

파일복사

사용자 삽입 이미지
'계속'을 눌러 호환성 체크한다.


사용자 삽입 이미지

설치 완료


3. 서버 설정, 인증서, Key등 생성
Open VPN은 Server와 Client간의 데이타를 암호화 한다.
암호화 방식은 공개키 방식을 사용하고 이때문에 Server와 Client에서 사용할 암호키가 필요하다.
사용자 삽입 이미지

Open VPN이 설치된 디렉토리의 서브 디렉토리인 easy-rsa에 들어가면 서버 설정이나 키와 인증서 생성에 관련된 배치파일들이있다.

사용자 삽입 이미지

init-config.bat 파일을 실행하면 vars.bat 과 openssl.cnf 파일이 생성(복사되어 온다)된다.

사용자 삽입 이미지

vars.bat파일을 실행하기 전에 vars.bat내용을 변경한다.
파일의 하단 부분에 KEY와 관련된 부분을 수정한다.

set KEY_COUNTRY=KR <-- 국가 
set KEY_PROVINCE=DJ <-- 지방
set KEY_CITY=Deajeon <-- 도시
set KEY_ORG=none <-- 기구(기관)명
set KEY_EMAIL=OOOO@gmail.com <-- 메일주소
키와 관련된 항목을 내 정보에 맞게 변경한다.

사용자 삽입 이미지

vars.bat 파일을 실행한다.

사용자 삽입 이미지

clean-all.bat파일을 실행하여 기존에 생성된 파일들을 지우고, 새로 복사해온다.

build-ca.bat를 실행하여 키를 생성한다.

실행도중 몇가지 항목을 물어오는데
vars.bat 파일을 수정한대로 입력한다.
Organizational Unit Name, Common Name등 새로 물어오는 항목은 질문의 옆의 설명대로 입력한다.

사용자 삽입 이미지

완료되면 esay-rsa 디렉토리 안에 keys라는 폴더가 생성된다.
keys폴더 안에는 CA인증서와 CA암호키가 생성되어 있다.

build-key-server.bat server를 실행하여 Server에 필요한 인증서를 만든다.
사용자 삽입 이미지


vars.bat과 키 생성때 물어본 것과 비슷한 항목들을 물어온다.
같은 방식으로 답한다.

사용자 삽입 이미지


keys 디렉토리에 server.crt, server.csr, server.key등 Server인증서와 Server 암호키가 새로 생성되어 있다.

Server 인증서를 만듣것과 같은 방법으로 Client 인증서를 만든다.
builc-key.bat client 를 실행한다
사용자 삽입 이미지

Server 인증서를 만들때와 같은 방법으로 응답한다. 성공하였다면 keys 폴더에 client.crt, client.key 파일이 생성된다.

build-dh.bat 를 실행한다.
사용자 삽입 이미지

성공적하였다면 dh1024.pem 파일이 keys 디렉토리에 생성된다.

사용자 삽입 이미지

생성된 dh1024.pem 파일

keys 폴더에 생성된 다음 파일들은 VPN Server와 VPN Client에 필요한 파일들이므로 잘 보관하도록 한다.
사용자 삽입 이미지


4. 서버 구동
키와 인증서등이 모두 생성되었으니 서버를 구동해 보자.
sample-config 디렉토리에는 Server와 Client에 필요한 config파일들의 sample드리 있다.
이것들 config 디렉토리로 복사하고, 필요한 대로 설정을 변경하도록 한다.
사용자 삽입 이미지

설정파일을 config파일로 복사

# open up this port on your firewall.
port 1723 <- 1194에서 일반적인 VPN port인 1723으로 변경
# TCP or UDP server?
proto tcp <- 기본 udp에서 tcp로 변경한다.
;proto udp
설치한 서버에 맞추어 설정을 변경한 항목이다.
#이나 ; 이 맨앞에 있는 문장은 효력이 없는 라인이다.

이어서 config 폴더로 server.key, ca.crt, dh1024.pem, server.crt 파일을 복사한다.
사용자 삽입 이미지

필요한 설정과 파일의 복사가 모두 이루어 졌다.

이제 서버를 구동한다.
Open VPN GUI를 실행하면, 트레이에 아이콘이 추가된다.
사용자 삽입 이미지


연결이 아직 되지 않았기 때문에, 빨간색으로 되어있다.

사용자 삽입 이미지

우클릭하여 메뉴중에 'Connect'를 선택하면 VPN Server가 구동된다.

사용자 삽입 이미지


Server가 성공적으로 구동된다면, 10.8.0.1이라는 IP가 할당된다. 서버는 10.8.0.1 의 IP를 갖게 되고,
클라이언트들은 10.8.0.2, 10.8.0.3, .. 식의 IP가 할당된다. 트레이의 아이콘은 초록색으로 변하여 있다.

VPN으로 추가된 네크워크는 네크워크 환경 > 속성 탭에서 확인할수 있다.
사용자 삽입 이미지

TAP-Win32 Adapter V8 이 활성화 되어있다.

마지막으로 클라이언트의 접속을 위해서 방화벽 설정을 변경한다.
server.ovpn에서 설정한 포트번호를 예외 포트에 추가하고,
고급탭에서 TAP-Win32 Adapter V8 영역을 체크를 해제해 준다.
사용자 삽입 이미지



이로서 서버의 전반적인 설정은 끝이 났다.

참고 : http://ummae.tistory.com/trackback/221 텍스트로 정리가 아주 잘되어있음

출처 : http://memfis.tistory.com/243
2009/10/24 17:12 2009/10/24 17:12

윈도우CE, PPC 배포 프로그램 CAB ( 캐비넷 ) 만들기

Posted by 빵빵빵
2009/10/20 12:37 전산(컴퓨터)/Mobile-CE&PPC



이 이야기는 WinCE 4.x에서 동작할 App 제작시 배포를 위한 이야기입니다.

(2006년 즈음에 작성했던 내용입니다.)


준비물

Cabwiz.exe (PocketPC Builder인가 거기에 포함되어 있음. eVC엔 없었다는.. =_=)

Cabwiz.ddf

Makecab.exe (Windows 어딘가에 포함되어 있었는지 이미 갖고 있었음. Cabwiz에 필요한 파일)

ezsetup.exe (오픈소스. 구글에서 ezsetup만 치면.. -_-)


Cabwiz.exe와 cabwiz.ddf, Makecab.exe는 같은 경로에 있어야 한다. 쉽게 하려면 네 파일을 모두 설치 패키지 만들 파일이 있는 경로에 같이 두고 진행하는게 좋다.

(.ini든 .inf든 뭔든 한자리에~~ -_-v)


예제를 보면서 따라하기.


example.inf

;————————————————————————————————————

[Version]

Signature = “$Windows NT$” ; 그대로

Provider = “Me” ; 소스 배포하는 사람이나 회사

CESignature = “$Windows CE$” ; 그대로


[CEStrings]

AppName=”ExProgram” ; 프로그램 이름(이나 브렌드 등등)

InstallDir=”\PocketStore\Sample” ; 설치될 위치

Desktop=”\Windows\바탕 화면” ; 단축아이콘을 넣기 위해


[Strings]

Company_name = “Comppp” ; 회사이름이라는데 별 영향없는 듯.(틀림없이 변수이고 필요 없을 것임)

reg_path = “\PocketStore\Sample” ; Registry 경로


[CEDevice] ; 여기 부분을 잘 활용하면 각 CPU에 맞는 버전을 패키징 할 수 있음(현재는 패스. 단일 플랫폼)

UnsupportedPlatforms = Pltfrm1

VersionMin = 2.0

VersionMax = 5.0


[DefaultInstall] ; 설치될 파일들의 목록을 지정하는 부분

CopyFiles = Files.Common ; 기본적으로 파일 리스트

AddReg = RegSettings ; 설치할 때 추가할 레지스트리의 리스트 이름

CEShortcuts = Startmenu, Desktop ; 말 그대로 단축아이콘. 여기서는 변수 이름만 지정하고 [DestinationDirs] 부분에 실제 경로를 기술할 것임


[Files.Common] ; 설치될 파일 리스트. [DestinationDirs] 부분에 실제 경로를 기술할 것임

DataMgrCore.dll,,,0

LOGO.BMP,,,0

THANK.bmp,,,0

Sample.exe,,,0


[CEShortcuts] ; 단축아이콘 부분

CEShortcuts = Startmenu, Desktop

[Startmenu] ; 위에선 변수 선언, 여기에서 세부내용 기술함.

SampleProgram,0,Sample.exe ; Taskbar의 시작프로그램 부분과 바탕화면에 단축아이콘을 넣을 것임

[Desktop]

SampleProgram,0,Sample.exe


[RegSettings] ; HKLM은 레지스트리의 LocalMachine.

HKLM,%reg_path%,Port,0×00000000,80 ; %reg_path% 하위로 %reg_path%\path2 와 같이 경로를 더 둘 수 있음

HKLM,%reg_path%,Server,0×00000000,123.456.789.001

HKLM,%reg_path%,Option1,0×00000000,1

HKLM,%reg_path%,Option2,0×00000000,1

HKLM,%reg_path%,Option3,0×00000000,1

HKLM,%reg_path%,Option4,0×00000000,1

HKLM,%reg_path%,Option5,0×00000000,1


[SourceDisksNames]

1 = ,”Common files”,,D:\Installation ; cab으로 패키징될 Disk 이름


[SourceDisksFiles] ; 위의 [Files.Common]의 내용과 같게 해 주면 간단함.

DataMgrCore.dll = 1

LOGO.BMP = 1

THANK.bmp = 1

Sample.exe = 1



[DestinationDirs] ; 설치될 경로

Files.Common = 0,%InstallDir% ; 위에서 설정한 경로

Startmenu = 0,%CE11% ; 시작프로그램\프로그램

Desktop = 0,%CE3% ; \Windows\바탕화면


;————————————————————————————————————


위와같이 해 주면 되겠다. *.inf는 실제로 cabwiz.exe가 .cab으로 패키징할 내용을 담고 있다. 심사숙고해서 만들길 바란다.


cabwiz.ddf

;————————————————————————————————————

;

; cabwiz.ddf

;

; Template directive file to create the CAB file

;


.Set Cabinet=ON

.Set Compress=OFF

.Set CabinetFileCountThreshold=0 ; no files per cabinet threshold

.Set FolderFileCountThreshold=0 ; no files per folder threshold

.Set FolderSizeThreshold=0 ; no folder size threshold

.Set MaxCabinetSize=0 ; no max size for the cabinet

.Set MaxDiskFileCount=0

.Set MaxDiskSize=0

.Set ReservePerCabinetSize=0 ; for web signing

.Set ReservePerDataBlockSize=0

.Set ReservePerFolderSize=0

.Set UniqueFiles=OFF


.Set DiskDirectory1=.

.Set DiskLabel1=Setup


;

; to be filled out by the CABWIZ.exe program

;.Set InfFileName=

;.Set RptFileName=

;.Set CabinetName1=

;

; followed by the list of files

;————————————————————————————————————

이건 이대로 바꿀 것 없이 그대로 쓰면 된다. 세부적인 내용은 구글신이 알려줄거다.


setup.ini

;————————————————————————————————————

[CEAppManager]

Version = 1.0

Component = Sample_program ; 요게 [Sample_program] 요리에서 설명한다.


[Sample_program]

Description = 주절주절 ; 그냥 이런저런 설명

Uninstall = Sample Program ; 프로그램 추가/제거에 나타나는 이름

CabFiles = sample.cab

;————————————————————————————————————

*.ini는 ezsetup.exe가 cab을 exe로 만들어줄 내용을 담고 있다. 그리고 프로그램추가/제거의 목록에도 나타나게 된다.


.cab 만들기

>> cabwiz sample.inf /err error.txt

이렇게 하면 sample.cab이 만들어진다. 에러나면 error.txt를 보도록

사실 이 .cab만 WinCE PDA에 복사해서 실행하면 설치한다. 그래도 좀 더 폼나는 설치 패키지(PC에서 실행하는)를 만드려면 ezsetup.exe를 사용한다.


.exe 만들기 (설치용 패키지!!)

>> ezsetup -l english -i setup.ini -r ReadMe.txt -e eula.txt -o Setup_Sample.exe

ReadMe.txt는 설치 시작할 때 나오는 글이고, eula.txt는 사용자 약관(동의하나 하는)에 대한 내용이다.


모두 정상작동한다면 Setup_Sample.exe가 멋지게 나올 것이다.

(실제 이 방법으로 한국의 대기업 K사에서 업무용 PDA 프로그램이 배포된다. -_-v)

혹시라도 위의 방법에 대해서 질문이 있는 분은 서슴없이 제게 메일을 주시길. ( icksishu At gmail Dot com )


P.S 사실 위의 내용은 본인이 잊지 않기 위해서 적어둔 것임. -_-;;

출처 : http://defree.co.kr/blog/?p=32


예제파일

2009/10/20 12:37 2009/10/20 12:37