Tutorial ini saya terapkan di VPS saya dengan spesifikasi berikut :
OpenVZ Virtual Private Server
CentOS 5.5 x86
Memory 128 Mb
Burstable 256 Mb
Disk Space 10Gb
Bandwidth 500Gb
Tun / Tap enabled
- Konfigurasi Server
Seperti biasa, untuk mencegah adanya konflik, maka kita install ulang VPSnya, dan memilih CentOS 5 32bit
Mengupdate dan mengupgrade Operating System yang berjalan di VPS :
# yum upgrade && yum update
# yum install nano gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel
- Download OPENVPN repo :
Untuk 32bit
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
Untuk 64bit
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm- Build the rpm packages
# 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
- Copy OPENVPN easy-rsa folder to /etc/openvpn/
- Creating the Certificate :
# chmod 755 *
# source ./vars
# ./vars
# ./clean-all
- Build CA :
- Build key server :
- Build Diffie Hellman (wait a moment until the process finish)
Karena akan mempergunakan validasi berdasar Username dan Password, maka kita tidak perlu membuat Certiticate untuk user
- Membuat konfigurasi port forwarding ke IP VPS :
# 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 xxx.xxx.xxx.xxx
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
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3
- Mengcopy file certificate ke directory openvpn :
# 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 :
- Menjalankan OpenVPN sebagai service :
Jika konfigurasi berhasil, maka OpenVPN akan berjalan.
- Menambahkan User yang nanti akan mempergunakan VPN :
Misalnya :
# useradd vpnusatu -s /bin/false
- Memberikan password untuk User yang tadi kita buat :
Misalnya :
# passwd vpnusatu
- 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
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3
Setelah semua selesai, kita jalankan OpenVPN Gui.
Jika sukses, maka kita akan diminta untuk mengisi Username dan Password yang telah kita buat di VPS