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

January 5th, 2012 on 05:49
“maka semua koneksi internet akan dilewatkan melalui VPS”
maksudnya gimana ya mas?
thanks artikelnya
January 5th, 2012 on 12:47
Maksudnya semua traffic yang kita lakukan dalam mengakses akan dianggap dilakukan dari VPS mas.
Akses yang kita lakukan akan dilihat dari IP Address dari VPS. Dan juga bandwidth yang kita pakai dalam mengakses internet, akan mengurangi alokasi bandwidth dari VPS kita juga.
Intinya, koneksi VPN, bisa dipergunakan untuk menyembunyikan identitas/asal lokasi atau IP asli kita.
Dalam beberapa kasus, ada beberapa website Luar Negeri yang hanya bisa diakses oleh warga di Luar Negeri. Misalnya Hulu.com, film-filmnya hanya bisa dinikmati oleh warga Amerika.
Bila masih ada yang ingin ditanyakan, monggoo…
January 26th, 2012 on 07:31
kalo sekedar untuk tunneling supaya bisa akses internet melalui IP VPS saya lebih seneng pake debian dan pam plugin, jadi client ngga perlu pake certificate tapi username & password.
trus KEY_SIZE di file vars saya rubah jadi 384, dan enkripsi cipher juga saya disable supaya koneksi jadi lebih ringan tanpa diberat2in oleh proses enkripsi.
salam kenal mas erawan
January 26th, 2012 on 08:32
Wah…
Terima kasih nih untuk informasinya Pak.
Saya akan coba di VPS saya nanti.
January 26th, 2012 on 07:49
nice article
, saya sudah mempraktekkan tapi ada kendala error seperti berikut ini :
Thu Jan 26 03:46:12 2012 OpenVPN 2.2.0 i686-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] built on Jun 6 2011
Thu Jan 26 03:46:12 2012 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Thu Jan 26 03:46:12 2012 Diffie-Hellman initialized with 1024 bit key
Thu Jan 26 03:46:12 2012 TLS-Auth MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Jan 26 03:46:12 2012 Socket Buffers: R=[137216->131072] S=[137216->131072]
Thu Jan 26 03:46:12 2012 ROUTE: default_gateway=UNDEF
Thu Jan 26 03:46:12 2012 Note: Cannot open TUN/TAP dev /dev/net/tun: Permission denied (errno=13)
Thu Jan 26 03:46:12 2012 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Thu Jan 26 03:46:12 2012 Cannot allocate TUN/TAP dev dynamically
Thu Jan 26 03:46:12 2012 Exiting
itu kenapa ya?
January 26th, 2012 on 08:31
Kalau dilihat dari sini, kemungkinan errornya karena TUN/TAP nya belum aktif Pak
Ini pakai OpenVZ? Kalau iya, bisa minta di-enable dari Hostnya. Kalau misalnya pakai Xen, seharusnya langusng jalan.
Coba dijalankan perintah ini :
Kalau hasilnya ok, tanpa error, berarti module TUN/TAP jalan di VPS. Kalau ada keterangan not found/error, kemungkinan TUN/TAP nya didisable dari Host.
January 26th, 2012 on 17:16
saya melihat ada settingan :
cert erawanarifn.crt
key erawanarifn.key
ini cara buatnya gmn ya?kok punya saya tidak ditemukan,apakah saya melewatkan sesuatu?
January 27th, 2012 on 21:07
O iya, maaf Pak. Sepertinya terlewat, belum saya masukkan.
Tutorialnya sudah saya update. Bisa dengan menjalankan perintah berikut di tempat kita membuat key untuk server :
February 10th, 2012 on 12:23
mas saya juga rencana mau pakai 123system
kira-kira kalau buat vpn /tunnelling cepat tidak ya??rencana mau pakai paket yg 192mb ($15)
February 10th, 2012 on 15:29
Kalau cepet, 123System cepet mas
Cuman masalahnya ada di server mereka. Kadang-kadang mereka suka reboot sendiri
February 14th, 2012 on 22:25
mas saya pengen lebih belajar banyak mengenai server,boleh minta kontaknya?
February 15th, 2012 on 07:28
Mari sama-sama belajar Pak
Kontak via email, bisa ke :
Atau bisa SMS ke :
February 15th, 2012 on 10:27
terimakasih mas
sudah saya save kontaknya
wah saya jadi gak enak dipanggil bapak,hihihi
ps:
apa gak apa-apa mas share kontak langsung di comment box?saya saja yang dulu gak sengaja share no.hp sekarang suka di spam sama orang ga jelas(info diskon apa lah,dsb)
February 15th, 2012 on 15:08
hehehe…
Nggak apa-apa mas
Soalnya informasi kontak, juga bisa dilihat dari WHOIS website saya