Beberapa waktu lalu, saya pernah membuat tutorial untuk membuat sebuah VPN server dengan sebuah VPS yang berlokasi di Chicago, Amerika. Namun dikarenakan script otomatisasi yang dulu sudah tidak bisa dipakai lagi, maka kali ini saya membuat sebuah tutorial baru.

Tutorial ini saya terapkan di salah satu VPS saya dari 123Systems.net dengan spesifikasi berikut :

OpenVZ Virtual Private Server
CentOS 5.5 x86
Location Chicago, IL
Memory 256 Mb
Burstable 512 Mb
Disk Space 10Gb
Bandwidth 500Gb
Tun / Tap enabled

 

Konfigurasi Server

Sebelum membuat VPN server ini, saya rebuild VPS saya dengan OS Template yang baru, agar tidak terjadi konflik.

Mengupdate dan mengupgrade Operating System yang berjalan di VPS :

# yum upgrade && yum update
# yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel

 

Download OPENVPN repo :

# wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

for 32 bit

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

for 64bit

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

 

Build the rpm packages

# rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm
# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
* remember to change i386 to x86_64 if you're using 64bit

Install OPENVPN

# yum install openvpn

Copy OPENVPN easy-rsa folder to /etc/openvpn/

# cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/

Creating the Certificate :

# cd /etc/openvpn/easy-rsa/2.0
# chmod 755 *
# source ./vars
# ./vars
# ./clean-all

 

Build CA :

#./build-ca

 

Build key server :

#./build-key-server server

 

Build Diffie Hellman (wait a moment until the process finish)

# ./build-dh

 

Membuat Certificate untuk Client,  dalam contoh ini saya membuat sesuai nama saya, erawanarifn :

# ./build-key erawanarifn
# ./build-key client1
# ./build-key client2
# ./build-key namauser

Membuat konfigurasi autoforwarding ke IP VPS :

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT - -to ip.address.vps.anda
# /etc/init.d/iptables save

Menambahkan OpenVPN saat startup VPS :

# chkconfig openvpn on

Selanjutnya kita membuat file konfigurasi untuk server , disimpan di /etc/openvpn/openvpn.conf

local ip.address.vps.anda
port 1194
proto udp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

;server 10.8.1.0 255.255.255.0
server 10.8.0.0 255.255.255.0

push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 4.2.2.1"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status server-tcp.log
verb 3

Menjalankan OpenVPN sebagai service :

# service openvpn start

Jika konfigurasi berhasil, maka OpenVPN akan berjalan.

Mengcopy file certificate ke directory openvpn :

# cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn/ca.crt
# cp /etc/openvpn/easy-rsa/2.0/keys/ca.key /etc/openvpn/ca.key
# cp /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem /etc/openvpn/dh1024.pem
# cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn/server.crt
# cp /etc/openvpn/easy-rsa/2.0/keys/server.csr /etc/openvpn/server.csr
# cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn/server.key

Konfigurasi Client

Mengcopy file di direktory /etc/openvpn/easy-rsa/2.0/keys ke komputer, dan menyimpannya di C:/Program Files/OpenVPN/config

Membuat file konfigurasi untuk Client :

C:/Program Files/OpenVPN/config/Openvpn.ovpn
client
remote ip.address.vps.anda  1194
dev tun
comp-lzo
ca ca.crt
cert erawanarifn.crt
key erawanarifn.key
route-delay 2
route-method exe
redirect-gateway def1
dhcp-option DNS 10.8.0.1
verb 3

Setelah semua selesai, kita jalankan OpenVPN Gui.
Jika sukses, maka semua koneksi internet akan dilewatkan melalui VPS