Apr
12Instalasi Virtual Private Network dengan OpenVPN
Filed Under (Networking, Operating System, Tutorial) by Nurdiansyah on Sunday, 12 April 2009
Tagged Under : Certificate Authority, Diffie Hellman, easy-rsa, Key, OpenSSL, OpenVPN, Ubuntu, Virtual Private Network
OpenVPN adalah aplikasi open source untuk Virtual Private Network (VPN), di mana aplikasi tersebut dapat membuat koneksi point-to-point tunnel yang telah terenkripsi.
OpenVPN menggunakan private keys, certificate, atau username/password untuk melakukan otentikasi dalam membangun koneksi. Di mana untuk enkripsinya menggunakan OpenSSL.
Pada posting kali ini saya ingin menerangkan langkah-langkah untuk instalasi VPN menggunakan OpenVPN. Untuk VPN Server saya menggunakan Linux Ubuntu 8.0.4, dan untuk client saya menggunakan Windows XP SP2 dan Linux Ubuntu 8.0.4.
Berikut step untuk instalasi dan konfigurasi di sisi SERVER:
- Instalasi paket OpenVPN
apt-get install openvpn
- Membuat soft link (optional)
ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /vpn cd /vpn
- Mengkonfigurasi file vars
vim varsLalu edit bagian akhir dari file, isi sesuai keinginan anda
60 61 62 63 64
export KEY_COUNTRY="ID" export KEY_PROVINCE="DKI" export KEY_CITY="South-Jakarta" export KEY_ORG="Eresha-Technologies" export KEY_EMAIL="nurdiansyah@eresha.net.id"
Save dan keluar dari editor.
- Mempersiapkan Certificate Authority dan Key menggunakan tool easy-rsa
source vars ./clean-all ./build-ca
Command “clean-all” akan membuat folder keys, dan 2 file di dalamnya yaitu index.txt dan serial, jika sebelumnya sudah pernah dibuat bisa dilewatkan saja. Sedangkan command “build-ca” akan men-generate RSA Private Key Certificate Authority, dan menghasilkan file ca.crt dan ca.key. Command “build-ca” akan menampilkan beberapa pertanyaan, isi value-nya seperti data di bawah ini atau bisa dikosongkan saja.
– Country Name : ID – State or Province : DKI – Locality Name : South-Jakarta – Organization Name : Eresha-Technologies – Organization Unit : EreshaNet – Common Name : eresha.net.id – Email : nurdiansyah@eresha.net.id - Membuat Certificate dan Key untuk VPN Server
Untuk membuat certificate dan key di sisi server dapat dilakukan dengan command:./build-key-server serverServerVPN Akan tampil beberapa pertanyaan yang mirip dengan pertanyaan sebelumnya. Untuk password dan optional company kosongkan saja, sedangkan pada pertanyaan “Sign the certificate? [y/n]:” dan “1 out of 1 certificate requests certified, commit? [y/n]“, ketik y dan enter.
Command di atas akan menghasilkan 3 buah file: server.crt, server.csr, dan server.key. - Membuat Certificate dan Key untuk VPN Client
Untuk membuat certificate dan key yang akan digunakan oleh VPN Client nantinya dapat dilakukan dengan command:./build-key jakarta ./build-key surabaya
Pada contoh di sini saya membuat key untuk client dari jakarta (Ubuntu) dan surabaya (XP SP2). 2 command di atas akan menghasilkan file: jakarta.crt, jakarta.csr, jakarta.key, dan juga file: surabaya.crt, surabaya.csr, surabaya.key.
- Membuat parameter dari Diffie Hellman
Parameter Diffie Hellman digunakan untuk melakukan pertukaran key rahasia, untuk membuatnya jalankan command berikut ini:./build-dhCommand tersebut akan membuat file dengan nama dhxxxx.pem di dalam folder keys. “xxxx” adalah jumlah enkripsi yang digunakan, tapi umumnya nama file yang dihasilkan adalah dh1024.pem.
- Pemindahan Certificate dan Keys
Command-command yang telah dijalankan di atas telah membuat folder “keys” berikut isinya sebagai berikut:- ca.crt - ca.key - dh1024.pem - index.txt - serial - server.crt - server.csr - server.key - jakarta.crt - jakarta.csr - jakarta.key - surabaya.crt - surabaya.csr - surabaya.key
jakarta.* dan surabaya.* adalah certificate dan key yang akan digunakan oleh client nantinya.
Copy semua file selain jakarta.* dan surabaya.* ke dalam folder /etc/openvpn/.cd keys/ cp -R *.pem ca.* index.* seri* server.* /etc/openvpn/
- Membuat konfigurasi untuk OpenVPN
Konfigurasi di sisi VPN Server menggunakan server.conf sedangkan di sisi Client mengunakan client.conf. Contoh 2 file konfigurasi bisa diambil dari /usr/share/doc/openvpn/examples/sample-config-files/ hasil instalasi pertama kali.
Copy file konfigurasi untuk server ke dalam folder /etc/openvpn/, dengan cara:gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Edit file server.conf yang telah di-extract tersebut.
vim /etc/openvpn/server.conf
Kemudian uncomment / hilangkan tanda komentar (;) di depan “client-to-client”. Ini optional, jika anda memiliki beberapa client dan menginnginkan supaya mereka dapat saling melihat dan behubungan.
Terakhir restart service-nya./etc/init.d/openvpn restart
- Instalasi paket OpenVPN
apt-get install openvpn
- Copy file Certificate dan Keys dari server yang telah di-generate sebelumnya.
Anda bisa menyalin file-file tersebut dengan mendownloadnya atau dengan menyalinnya langsung dengan menggunakan command “scp”.
KEMBALI ke VPN Server. Dari server saya akan menyalin file langsung ke dalam folder /etc/openvpn/ di client, service sftp atau ssh harus running terlebih dahulu.cd /vpn/keys/ scp -r ca.* root@116.68.x.x:/etc/openvpn/ scp -r jakarta.* root@116.68.x.x:/etc/openvpn/
Ganti IP 116.68.x.x dengan IP CLIENT milik anda.
KEMBALI lagi ke client. Copy juga file konfigurasi untuk client hasil dari instalasi ke dalam folder /etc/openvpn/, kemudian edit file tersebut.
cp /usr/share/doc/openvpn/examples/sample-config-file/client.conf /etc/openvpn/ vim /etc/openvpn/client.conf
Cari baris “remote my-server-1 1194″, ubah dengan IP dan port milik VPN Server
42
remote 116.68.x.x yyyy
Sesuaikan IP 116.68.x.x dan port yyyy dengan SERVER milik anda.
Ubah juga baris-baris di bawah ini, sesuai dengan key yang telah di-generate di server, sebelumnya saya telah men-generate key jakarta (untuk client Ubuntu) dan key surabaya (untuk client XP SP2).
88 89 90
ca ca.crt cert jakarta.crt key jakarta.key
Terakhir restart service openvpn.
/etc/init.d/openvpn restart
Pada Server dan Client setelah konfigurasi sempurna, akan muncul perangkat baru. Perangkat tersebut dapat dicek dengan perintah:
ifconfigHasilnya seperti di bawah:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)Tampilan di atas berarti konfigurasi telah sukses dan tunnel VPN telah berhasil terbentuk.
Cobalah untuk melakukan ping atau login via ssh dari VPN Client ke IP VPN Server.
ping 10.8.0.1 ssh 10.8.0.1
Semua command di atas dapat juga digunakan pada semua distribusi linux, kecuali command “apt-get”. Namun pada distro Debian maupun turunannya saya rasa tidak ada masalah. Untuk instalasi dan konfigurasi OpenVPN pada Client Windows akan saya paparkan pada posting berikutnya.





















Nur……emang elo hebat…nulisan elo menarik
Hehehe gaya nulisnya biasa aja boss.. daripada disimpen sendiri, mending gw share selagi ada waktu dan mood bwat nulis
saya kok belum mudeng ya mas apa saya yang masih gaptek he he salam kenal mas
kalau.. pada sisi server harus menggunakan ubuntu server edition ya…. ??
saya tunggu mas pembahasan cliet windowsnya ..
Tidak harus menggunakan server edition mas, untuk desktop-pun bisa asalkan paketan OpenVPN-nya sudah terinstall.
Untuk client windows nanti yah, sorry dah kelamaan nih kayanya gak posting artikel lg
Bos gw positive dech ne ada di materi CCNP.
Tapi gw blomliat isinya c, baru ngintip judul doank
Whehehehe
Oyee..?? Berarti gw dah berhak make gelar CCNP nih yah hahahaa.. CCNA aja blom ujian..
bos Q msh bingung pas step di client… bs tolong d perjelas…
thanks
I think i’ve seen this somewhere before…but it’s not bad at all
wew… hebat oe… ga ngerti aku yang kaya ginian
wew… hebat oe… ga ngerti aku yang kaya ginian !!!
ariosaja´s last blog ..Ibu Prita Sementara Dapat Bernafas Lega
mas, klo clientnya windows di network connectionya akan terdapat LAN baru.
settingan IPnya gimana tuh?
togum´s last blog… KP-iForte
@ Derekp:
Thanks dude…
@ Ariosaja:
Sama, masih terus belajar kalo ada waktu luang kok mas…
@ Togum:
Mau di Windows atau Linux sama deh, kalo tunnel sudah terbentuk dan antara server dan client terhubung, sudah pasti akan muncul IP /koneksi baru, pada kasus di atas IP server adalah 10.8.0.1, client bisa 2,3,4,5, dst…
To start earning money with your blog, initially use Google Adsense but gradually as your traffic increases, keep adding more and more money making programs to your site.
good..
good..
good..
good..
good..
Ahmad´s last blog… QuickTime Alternative 2.9.0
You obviously put a lot of work into that post and it’s very interesting to see the thought process that you went through to come up with those conclusion. Really interesting and informative article, keep posting. Nice work, thanks for such information.Thank you very much for sharing your views with us
This reminds me of something funny that my grandmother pretty much always said…
Then it is probably inappropriate right this moment…
This brings back to mind something my sister would always say…
Obviously it’s totally inappropriate just now…
some very interesting points… but i think your research and bias leaves a lot to be desired… then of course, that’s just my opinion…
have a great day… definitely a thought-provoking post!
I keep listening to the news speak about getting free online grant applications so I have been looking around for the best site to get one.
Have you been to the iaps security store to see their vpn combo specials? You can get up to a 10 country VPN combo special from all different kinds of countries. Thats prime security. See it here: https://www .intl-alliance.com/store/index.php?main_page=index&cPath=1
Mantap bro tulisannya
di tunggu updatean share ilmunya lagi ni
bravo for u
@ Proxis… Oke, thanks for your advice
@ Ahmad… Thanks
@ Amy Hewitt, Stephen Parker, Joan Williams, Lifestyle… Thanks for your comments guys
@ Plakeno… Thanks for your opinion
@ Martin… Nice info dude, thanks
@ Demank… Thanks support-nya bro, sebisa mungkin akan selalu gw update
Nurdiansyah´s last blog… Strategi Pemasaran Dengan Memanfaatkan Media Internet
very informative article… I would like to use a piece of this on my blog, is that feasible?
Very nice! ;). I enjoy studying your website..
Salam untuk penulis..
mantap banget ilmuna sob thanx 4shared
azzura´s last blog… Library: 8 Pengertian Cinta Menurut Qur’an