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 버전의 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