Koneksi internet melalui VPN di OpenVZ VPS

· 2 min read

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, dengan otentifikasi mempergunakan Certificate dan Key untuk masing-masing user.
Tutorial ini saya terapkan di VPS saya 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.2.0/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 port forwarding 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

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.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

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

Menambahkan OpenVPN saat startup VPS :

# chkconfig openvpn on

Menjalankan OpenVPN sebagai service :

# service openvpn start

Jika konfigurasi berhasil, maka OpenVPN akan berjalan.
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