Recent Post»

Recent Comment»

Archive»

« 2025/1 »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

OpenVPN를 이용해서 Mac과 Linux 연결하기

Mac | 2010. 12. 8. 11:22 | Posted by 블로장생

집에서 서버와 연결해서 사용하던 환경을 외부에서도 동일하게 이용하고 싶어서 VPN을 연결을 시도했다. PPTP로 VPN을 연결하는 구성을 했지만 일부 환경에서는 PPTP 패킷이 차단당해서 사용할 수 없었다. 그래서 이번에는 OpenVPN을 이용한 SSL  VPN 연결을 시도하게 되었다.

테스트 환경

  • 클라이언트 : Mac OS X 10.6.5
  • 서버 : Linux CentOS 5.5

서버 설치하기

OpenVPN 버전은 2가지 있다. 동시 사용자가 2명까지는 무료 사용이 가능하기 때문에 상용 버전으로 일단 설치한다. 동시 사용자가 많은 경우에는 라이센스를 구입하거나 오픈 소스(커뮤니티) 버전을 이용하면 된다. 모두 같은 사이트에서 제공하고 있다.

설치는 간단하다.

1. 자신의 리눅스 버전에 맞는 access server RPM을 받아서 설치한다. 여기서는 CentOS를 사용하고 있어서 다음의 버전을 설치했다.

$ rpm -ivh openvpn-as-1.5.6-CentOS5.i386.rpm

2. 초기 설정을 위한 명령을 수행한다. 여러 가지 질문에 대해 읽고 답을 하면 끝난다. 대부분은 디폴트값을 사용하면 된다.

$/usr/local/openvpn_as/bin/ovpn-init

3. Admin Web Interface에 브라우저를 이용해서 접속한다. 접속 주소는 다음과 같다.

http://<AS 서버 IP 주소>:943/admin

클라이언트 설치하기

OS 별로 여러 클라이언트가 있다. Mac의 경우에는 tunnelblick이라는 오픈 소스 클라이언트가 있다. 설치를 한 후에 설정 디렉토리(/Users/<사용자계정>/Library/Application Support/Tunnelblick/Configurations)에 http://<AS 서버 IP 주소>:943 (/admin은 빼고) 접속해서 다운받은 client.ovpn 파일을 가져다 놓는다.

만일 서버가 공유기 등의 내부에 위치한 경우에는 client.vpn의 서버에 할당된 공인 IP로 아래의 설정 부분을 변경해야 한다.

remote <AS 서버 공인 IP> 1194 udp
remote <AS 서버 공인 IP> 1194 tcp

Tunnelblick 실행하기

준비한 설정 파일을 이용해서 tunnelblick을 실행하면 상단의 상태바에 터널 모양의 아이콘이 생성된다. 클리하고 연결을 실행하면 연결이 된다.  연결 후에 netstat -nr을 이용해서 상태를 보면 다음과 같이 tun0 인터페이스가 추가된 것을 알 수 있을 것이다. AS 서버를 제외한 모든 패킷은 tun0로 가도록 설정이 추가된다.
Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
0/1                10.10.0.129        UGSc            7        0    tun0
10.10.0.128/25     10.10.0.130        UGSc           12        0    tun0
10.10.0.130        10.10.0.130        UH              3        0    tun0
<AS 서버 주소>/32  192.168.1.254      UGSc            1        0     en1
128.0/1            10.10.0.129        UGSc            4        0    tun0
: