CentOS에 openvpn을 설치해 보도록 하겠다. 환경은 다음과 같다

환경
  1. OS : CentOS 6.3 / x86_64(64비트)
  2. openvpn : 버전 2.2.2 -> 2.3.2


우선 yum으로 openvpn을 설치할 것인데, 기본적으로는 openvpn이 없다. "yum list | grep openvpn" 명령어를 쳐보면 아무것도 나오지 않는다. 그래서 rpmforge 리파지토리를 rpm을 이용해 설치한다.

# wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

# rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm


위 방식보다는 openvpn의 공식 사이트(https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos)에 보면 openvpn을 설치하는 가이드가 있다. 중간정도 보면 다음과 같이 리눅스 배포판 별로 나뉘어 있다. 굵게 표시한 CentOS용 링크를 클릭하도록 한다.

이 레파지토리는 openvpn에서 직접 관리하기 때문에 추후 yum을 통한 업그레이드가 더 신속할 것으로 생각되어 추천한다.


위 링크를 클릭하면 다음과 같이 가이드 페이지가 나온다. 간단하다. 굵게 표시한 부분을 자신의 리눅스 콘솔에서 수행해 보도록 한다.

ADDING THE REPOSITORY FILE

You also need to download a yum repo file so that yum can find these packages:

$ cd /etc/yum.repos.d
$ wget http://repos.openvpn.net/repos/yum/conf/repos.openvpn.net-CentOS6-snapshots.repo


INSTALLING PACKAGES

In most cases, this is as simple as

$ yum install <packagename>

You need to allow importing the repository's public GPG key when you tells you 
to.


다음 명령을 실행해 보면 yum으로 설치할 수 있는 상태가 된다.

yum list | grep vpn

openvpn.x86_64                         2.3.2-1                          @repos.openvpn.net-CentOS6-snapshots
easy-rsa.noarch                        2.2.0_master-1                   repos.openvpn.net-CentOS6-snapshots
openvpn.i386                           2.3.2-1                          repos.openvpn.net-CentOS6-snapshots


그러면 openvpn을 설치하도록 한다. yum은 openvpn이 필요로 하는 패키지를 찾아 자동으로 설치를 해준다. 여기서는 두 개의 패키지가 추가로 설치된다.

# yum install openvpn.x86_64

Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.cdnetworks.com
 * extras: centos.mirror.cdnetworks.com
 * rpmforge: ftp.riken.jp
 * updates: centos.mirror.cdnetworks.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package openvpn.x86_64 0:2.2.2-1.el6.rf will be installed
--> Processing Dependency: lzo for package: openvpn-2.2.2-1.el6.rf.x86_64
--> Processing Dependency: libpkcs11-helper.so.1()(64bit) for package: openvpn-2.2.2-1.el6.rf.x86_64
--> Processing Dependency: liblzo2.so.2()(64bit) for package: openvpn-2.2.2-1.el6.rf.x86_64
--> Running transaction check
---> Package lzo.x86_64 0:2.03-3.1.el6 will be installed
---> Package pkcs11-helper.x86_64 0:1.08-1.el6.rf will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================
 Package                               Arch                           Version                                  Repository                        Size
======================================================================================================================================================
Installing:
 openvpn                               x86_64                         2.2.2-1.el6.rf                           rpmforge                         434 k
Installing for dependencies:
 lzo                                   x86_64                         2.03-3.1.el6                             base                              55 k
 pkcs11-helper                         x86_64                         1.08-1.el6.rf                            rpmforge                         116 k

Transaction Summary
======================================================================================================================================================
Install       3 Package(s)

Total download size: 605 k
Installed size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): lzo-2.03-3.1.el6.x86_64.rpm                                                                                             |  55 kB     00:00
(2/3): openvpn-2.2.2-1.el6.rf.x86_64.rpm                                                                                       | 434 kB     00:00
(3/3): pkcs11-helper-1.08-1.el6.rf.x86_64.rpm                                                                                  | 116 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                 700 kB/s | 605 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : lzo-2.03-3.1.el6.x86_64                                                                                                            1/3
  Installing : pkcs11-helper-1.08-1.el6.rf.x86_64                                                                                                 2/3
  Installing : openvpn-2.2.2-1.el6.rf.x86_64                                                                                                      3/3
  Verifying  : pkcs11-helper-1.08-1.el6.rf.x86_64                                                                                                 1/3
  Verifying  : lzo-2.03-3.1.el6.x86_64                                                                                                            2/3
  Verifying  : openvpn-2.2.2-1.el6.rf.x86_64                                                                                                      3/3

Installed:
  openvpn.x86_64 0:2.2.2-1.el6.rf

Dependency Installed:
  lzo.x86_64 0:2.03-3.1.el6                                            pkcs11-helper.x86_64 0:1.08-1.el6.rf

Complete!


그럼 설치가 다 되었으니 서버에서 사용할 키와 인증서, 클라이언트가 사용할 키와 인증서를 만들 차례이다. 다음과 같이 폴더를 이동한다.

# cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
# chmod +rwx *


그리고 키를 만드는 과정은 여기를 참고한다. OpenWrt에 서버를 구축한 포스팅인데 거의 유사하다.


이제 생성된 키파일들을 복사하도록 한다.

# cd keys
# cp ca.crt server.crt server.key dh1024.pem /etc/openvpn


설정파일을 하나 복사해서 내용을 편집한다.

# cd /etc/openvpn
# cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf .
# vi server.conf


설정파일을 보면서 아래 내용처럼 수정한다.

port 1194
proto tcp
dev tab
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.10.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#client-config-dir ccd
#route 10.10.10.0 255.255.255.252
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 3


방화벽을 오픈한다. setup명령으로 들어가서 [방화벽 설정]메뉴에서 오픈하도록 한다. 1194 udp 포트를 열어야 한다. 또한 [시스템 서비스]메뉴에서 openvpn이 서비스로 시작되도록 한다.

# setup


마지막으로 openvpn을 기동해준다.

# /etc/init.d/openvpn start


클라이언트가 서버로 접속하여 사용하는 방법은 이 포스팅의 하단부분을 참고하기 바란다.




2013.07.05 openvpn이 포함된 레파지토리 설치 부분 변경 (rpmforge -> openvpn)

저작자 표시 비영리 변경 금지
신고

'컴퓨터 > CentOS' 카테고리의 다른 글

CentOS의 ssh 데몬 포트 변경하기  (0) 2012.11.29
CentOS 파티션 구성  (0) 2012.11.29
CentOS에 openvpn 구축  (0) 2012.11.23
rpm 명령어  (0) 2012.11.23
yum 명령어  (0) 2012.11.23
CentOS에서 DDNS 사용하기  (0) 2012.11.23
Posted by Life 스토리