Windows 운영체제에 OpenVPN Client 설정하기
※ Windows 7 이나 Vista 의 경우에는 프로그램을 관리자 권한으로 실행하여야만, 시스템의 라우팅 테이블을 변경할 수 있다. 그래야만, 모든 네트워크 트래픽을 OpenVPN 서버측, 즉 공유기로 보낼 수 있다.
인터넷 망에서 원격으로 공유기의 OpenVPN 서비스로 접속하려면, 클라이언트(아마도 노트북이거나, 또는 원격지의 어떤 컴퓨터)에 OpenVPN 접속 프로그램을 설치하고, 설정파일을 통하여, 접속과 관련된 클라이언트 설정이 반드시 필요합니다.
http://openvpn.net/index.php/open-source/downloads.html
에서 Windows Installer(2011년 2월 현재 openvpn-2.1.4-install.exe 파일)를 다운받아서 설치합니다.
전 단계에서 생성한 인증서 파일중에서 ca.crt, client1.crt, client1.key 파일을 OpenVPN 클라이언트가 설치된 디렉토리의 하위 설정 디렉토리로 복사합니다.(WinXP에서 일반적으로 C:\Program Files\OpenVPN\config)
클라이언트의 설정파일인 openvpn.ovpn 파일을 다음과 같이 수정합니다.
remote 210.132.245.97 1194
client
remote-cert-tls server
dev tun0
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
float
ca ca.crt
cert client.crt
key client.key
redirect-gateway def1
dhcp-option DNS 168.126.63.1
설정파일 내용 | 설명 |
remote 210.132.245.97 1194 | 클라이언트가 접속할 OpenVPN 서버의 도메인명 또는 IP와 포트번호를 지정한다. 서버의 IP(여기서는 210.132.254.97)를 지정하거나, 또는 공유기에 무료 DDNS 설정으로 인터넷 상에서 접속가능한 도메인명을 할당하였다면, 그 도메인명을 지정할 수 있다. 공유기에서 OpenVPN 서버 설정에서 설정한 포트번호를 동일하게 지정하여야 한다. |
client | 현재 설정파일이 클라이언트용임을 지정한다. 바꾸지 말고, 그대로 사용하면 됩니다. |
remote-cert-tls server | 접속할 OpenVPN 서버가 인증서 기반의 TLS 통신을 사용함을 지정한다. 바꾸지 말고, 그대로 사용하면 됩니다. |
dev tun0 | OpenVPN이 사용하는 네트워크 디바이스 명을 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
proto tcp | OpenVPN이 사용하는 기반 프로토콜을 지정합니다. 공유기에서 OpenVPN 서버 설정에서 설정한 프로토콜(udp/tcp)을 동일하게 지정하여야 한다. |
resolv-retry infinite | 도메인 resolve 재시도를 무한히 계속한다고 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
nobind | 소켓 바인드 기능(서버 역할)을 하지 않는다고 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
persist-key | 재연결 시에도 동일한 키를 그대로 사용한다고 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
persist-tun | 재연결 시에도 동일한 디바이스를 그대로 사용한다고 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
float | 클라이언트가 고정된 IP를 사용하지 않는다고 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
ca ca.crt | CA 인증서 파일명을 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. (전 단계에서 이미 CA 인증서 파일명을 ca.crt라고 지정하였습니다.) |
cert client1.crt | 클라이언트 인증서 파일명을 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. (전 단계에서 이미 클라이언트 인증서 파일명을 client1.crt라고 지정하였습니다. 만약 다른 인증서를 사용한다면, 그 파일명을 바꿔 적어주면 됩니다.) |
key client1.key | 클라이언트 비밀키 파일명을 지정합니다. 바꾸지 말고, 그대로 사용하면 됩니다. (전 단계에서 이미 클라이언트 비밀키 파일명을 client1.key라고 지정하였습니다. 만약 다른 비밀키를 사용한다면, 그 파일명을 바꿔 적어주면 됩니다.) |
redirect-gateway def1 | OpenVPN 가상 네트워크에 접속된 경우, 서버의 게이트웨이 정보를 클라이어트로 가져와서 적용합니다. 바꾸지 말고, 그대로 사용하면 됩니다. |
dhcp-option DNS 168.126.63.1 | OpenVPN 가상 네트워크에 접속된 경우, 사용하게 될 DNS 서버의 IP 주소를 지정합니다. 공유기에 설정되어 있는 DNS 서버의 IP 주소를 지정하는 것이 가장 좋습니다만, 만약 확실하지 않거나, 잘 모른다면 예와 같이 한국의 기본 DNS 서버인 KT의 제 1 DNS 서버 IP(168.126.63.1)로 설정합니다. |
클라이언트 프로그램을 실행하면, 컴퓨터의 오른쪽 하단 메뉴에 두대의 컴퓨터가 겹쳐진 모양의 아이콘이 생긴다.
아이콘 내의 겹쳐진 컴퓨터 화면은 빨간색이다. 이 아이콘에 마우스의 오른쪽 버튼을 클릭하면 메뉴가 나온다.
설정파일을 수정하거나, 로그를 보거나, 접속 및 접속 해제, 재접속등을 할 수 있다.
Connect를 시도하면, 아이콘 내의 겹쳐진 컴퓨터 화면이 노란색으로 바뀌었다가, 접속이 정상적으로 연결되면, 녹색으로 된다. (녹색이 정상이며, 접속 중 문제가 생기면 다시 노란색으로 변경된다.)
클라이언트가 서버에 정상적으로 접속한 경우, 로그의 내용은 다음과 같다.
Sun Feb 20 03:14:19 2011 OpenVPN 2.1.4 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 8 2010
Sun Feb 20 03:14:19 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sun Feb 20 03:14:19 2011 Attempting to establish TCP connection with 59.26.166.208:1194
Sun Feb 20 03:14:19 2011 TCP connection established with 59.26.166.208:1194
Sun Feb 20 03:14:19 2011 TCPv4_CLIENT link local: [undef]
Sun Feb 20 03:14:19 2011 TCPv4_CLIENT link remote: 59.26.166.208:1194
Sun Feb 20 03:14:21 2011 [server] Peer Connection Initiated with 59.26.166.208:1194
Sun Feb 20 03:14:24 2011 TAP-WIN32 device [로컬 영역 연결 4] opened: \\.\Global\{6F8BCE95-DEC8-4312-B75C-0ACA19D8C739}.tap
Sun Feb 20 03:14:24 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.100.200.10/255.255.255.252 on interface {6F8BCE95-DEC8-4312-B75C-0ACA19D8C739} [DHCP-serv: 10.100.200.9, lease-time: 31536000]
Sun Feb 20 03:14:24 2011 Successful ARP Flush on interface [4] {6F8BCE95-DEC8-4312-B75C-0ACA19D8C739}
Sun Feb 20 03:14:29 2011 Initialization Sequence Completed