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 :
1 2 3 4 5 6 7 8 |
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 :
1 2 |
# yum upgrade && yum update # yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel |
Download OPENVPN repo :
1 |
# wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm |
for 32 bit
1 |
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm |
for 64bit
1 |
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm |
Build the rpm packages
1 2 3 4 |
# 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
1 |
# yum install openvpn |
Copy OPENVPN easy-rsa folder to /etc/openvpn/
1 |
# cp -R /usr/share/doc/openvpn-2.2.0/easy-rsa/ /etc/openvpn/ |
Creating the Certificate :
1 2 3 4 5 |
# cd /etc/openvpn/easy-rsa/2.0 # chmod 755 * # source ./vars # ./vars # ./clean-all |
Build CA :
1 |
#./build-ca |
Build key server :
1 |
#./build-key-server server |
Build Diffie Hellman (wait a moment until the process finish)
1 |
# ./build-dh |
Membuat Certificate untuk Client, dalam contoh ini saya membuat sesuai nama saya, erawanarifn :
1 2 3 4 |
# ./build-key erawanarifn # ./build-key client1 # ./build-key client2 # ./build-key namauser |
Membuat konfigurasi port forwarding ke IP VPS :
1 2 3 |
# 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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 :
1 2 3 4 5 6 |
# 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 :
1 |
# chkconfig openvpn on |
Menjalankan OpenVPN sebagai service :
1 |
# 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 :
1 |
C:/Program Files/OpenVPN/config/Openvpn.ovpn |
1 2 3 4 5 6 7 8 9 10 11 12 |
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