Skip to content

Goorkey's Blog

Note the life of a Son of Karo highland

Langkah-langkah dalam membangun sistem OpenVPN :

01. Download aplikasi OpenVPN (http://openvpn.net/), yang saya gunakan saat ini adalah versi 2.0.9.

02. Install aplikasi OpenVPN, misal di D:\OpenVPN.

03. Masuk ke dalam folder D:\OpenVPN\easy-rsa.

04. Jalankan perintah init-config, kemudian akan ada dua file baru yaitu vars.bat dan openssl.cnf.

05. Edit file vars.bat, isi data-data berikut ini :
KEY_COUNTRY, misal diisi dengan ID
KEY_PROVINCE, misal diisi dengan JKT
KEY_CITY, misal diisi dengan Jakarta
KEY_ORG, misal diisi dengan OpenVPNUser
KEY_EMAIL, misal diisi dengan admin@domain.com
HOME, diisi dengan folder kita menginstall, misal D:\OpenVPN\easy-rsa
KEY_DIR, karena kita akan memasukan sertifikat dan key ke dalam sub folder D:\OpenVPN\easy-rsa\VPN-Test maka
data ini akan diisi dengan VPN-Test

06. Buat sub folder VPN-Test di dalam folder D:\OpenVPN\easy-rsa.

07. Jalankan vars.bat.

08. Jalankan clean-all.bat.

09. Jalankan build-ca.bat, untuk pertanyaan-pertanyaan yang diajukan cukup direspon dengan menekan ENTER saja, kecuali untuk pertanyaan Common Name, bagian ini harus diisi dengan nama sistem yang akan dibangun, misal VPNTest.

10. Jalankan build-key-server dengan sebuah parameter yang merupakan nama dari server yang akan dibuat, misal :
build-key-server server-001, dengan demikian kita akan membuat suatu file server-001. Saat ditanyakan tentang Common Name, masukan server-001
sebagai isian (disesuaikan saja dengan nama file).

11. Kemudian jalankan build-key untuk membuat key dan sertifikat untuk klien-kliennya. Misal, bila kita akan membangun satu jaringan vpn dengan
network address 10.0.1.0/24 maka host yang dapat ditampung dalam satu network address ini adalah 64 host (setahu saya ini berhubungan dengan mekanisme yang berjalan dengan Win32). Untuk itu kita dapat membuat 63 file key dan sertifikat untuk digunakan oleh klien. Jalankan dengan build-key client-001 untuk membuat file client-001, dan ketika mengisi Common Name, gunakan saja client-001.

12. Lakukan langkah no. 11 untuk semua klien yang akan dimasukan ke dalam sistem OpenVPN.

13. Kemudian jalankan build-dh.bat.

14. Hal-hal yang perlu diperhatikan setelah semua langkah tersebut dilakukan adalah :

a. Untuk kebutuhan server, file-file yang dibutuhkan adalah :
– ca.crt
Didapatkan dengan perintah build-ca, ingat langkah no. 09.
– ca.key
Didapatkan dengan perintah build-ca, ingat langkah no. 09.
– dh1024.pem
File ini bernama dh1024.pem karena kita menggunakan KEY_SIZE=1024, bila menggunakan KEY_SIZE=2048 maka akan bernama dh2048.pem, lihat vars.bat.
Lihat langkah no. 13, yaitu build-dh.
– server-001.crt
Didapatkan dengan perintah build-key-server server-001, ingat langkah no. 10.
– server-001.key
Didapatkan dengan perintah build-key-server server-001, ingat langkah no. 10.
– server-001.ovpn
Berikut ini adalah contoh isinya :
##############################
# Tentukan alamat ip address publik yang akan dijadikan server untuk openvpn.
# Misal ip publik yang akan kita gunakan pada server adalah 202.50.100.100.
local 202.50.100.100
# Port yang akan digunakan untuk koneksi OpenVPN.
port 1194
# Tentukan protokol yang akan digunakan TCP atau UDP ?
;proto tcp
proto udp
# Tentukan tipe device yang akan digunakan. Bila menggunakan “dev tun” maka akan menghasilkan koneksi tipe routing,
# sedangkan dengan “dev tap” akan menghasilkan koneksi dengan tipe bridging.
;dev tap
dev tun
# Dalam sistem operasi Windows, bila terdapat lebih dari 1 Tap Adapter maka
# kita harus melakukan pemilihan yang bersesuian dengan konfigurasi yang akan
# diaktifkan, bila hanya terdapat 1 Tap Adapter maka bagian ini tidak perlu untuk
# diisi.
;dev-node MyTap
# Tentukan file ca (certificate of authority) yang akan digunakan.
# Perhatikan lokasi file tersebut.
ca D:\\OpenVPN\\config\\server-001\\ca.crt
cert D:\\OpenVPN\\config\\server-001\\server-001.crt
key D:\\OpenVPN\\config\\server-001\\server-001.key
# Diffie hellman parameters.
# KEY_SIZE yang digunakan adalah 1024. Bila anda menggunakan 2048 maka file yang digunakan adalah dh2048.pem.
dh D:\\OpenVPN\\config\\server-001\\dh1024.pem
# Tentukan network address yang akan digunakan untuk jaringan OpenVPN yang akan kita buat.
# Misal kita akan membuat network address 10.0.1.0/24. Hal ini hanya berlaku di mode routing, bukan bridging.
server 10.0.1.0 255.255.255.0
# Bila diinginkan maka antar klien dapat melakukan komunikasi.
# Bila tidak diinginkan, hilangkan saja konfigurasi di bawah ini.
client-to-client
# Bila konfigurasi ini diaktifkan maka klien yang menggunakan certificate/key sama tetap diperbolehkan.
# Sebaiknya konfigurasi ini dihilangkan agar klien benar-benar unik sesuai dengan certifikat/key-nya.
;duplicate-cn
# Untuk mendeteksi apakah sisi lawan yang terkoneksi dalam keadaan aktif/non aktif.
# Arti konfigurasi ini adalah melakukan ping setiap 10 detik dan mengasumsikan bahwa
# sisi lawan non aktif bila tidak diterima balasan dalam 120 detik.
keepalive 10 120
# Mengaktifkan mode kompresi. Jangan lupa untuk mengaktifkan juga pada sisi klien.
comp-lzo
# Jumlah maksimal klien yang diizinkan untuk melakukan koneksi ke server.
max-clients 100
# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun
# Dibutuhkan untuk mendeteksi klien yang sedang aktif.
status D:\\OpenVPN\\config\\server-001\\openvpn-status.log
# Menentukan level dari log yang diinginkan.
# Nilai antara 0 s/d 9.
verb 3
##############################
b. Untuk kebutuhan klien, file-file yang dibutuhkan adalah :
– ca.crt
Didapatkan dengan perintah build-ca, ingat langkah no. 09.
– ca.key
Didapatkan dengan perintah build-ca, ingat langkah no. 09.
– client-001.crt
Didapatkan dengan perintah build-key client-001, ingat langkah no. 11.
– client-001.key
Didapatkan dengan perintah build-key client-001, ingat langkah no. 11.
– client-001.ovpn
Berikut ini adalah contoh isinya :
##############################
# Tentukan bahwa ini adalah konfigurasi klien.
client
# Tentukan tipe device yang akan digunakan. Bila menggunakan “dev tun” maka akan menghasilkan koneksi tipe routing,
# sedangkan dengan “dev tap” akan menghasilkan koneksi dengan tipe bridging.
;dev tap
dev tun
# Dalam sistem operasi Windows, bila terdapat lebih dari 1 Tap Adapter maka
# kita harus melakukan pemilihan yang bersesuian dengan konfigurasi yang akan
# diaktifkan, bila hanya terdapat 1 Tap Adapter maka bagian ini tidak perlu untuk
# diisi.
;dev-node MyTap
# Tentukan protokol yang akan digunakan TCP atau UDP ?
;proto tcp
proto udp
# Tentukan target yaitu ip publik yang menjadi server OpenVPN berserta port yang digunakan.
# Perhatikan konfigurasi untuk server di atas.
remote 202.50.100.100 1194
# Tetap melakukan pencarian untuk nama host dari server OpenVPN.
resolv-retry infinite
# Pada umumnya klien tidak perlu menempel pada port tertentu.
nobind
# Try to preserve some state across restarts.
persist-key
persist-tun
# Tentukan file ca (certificate of authority) yang akan digunakan.
# Perhatikan lokasi file tersebut.
ca D:\\OpenVPN\\config\\client-062\\ca.crt
cert D:\\OpenVPN\\config\\client-062\\client-062.crt
key D:\\OpenVPN\\config\\client-062\\client-062.key
# Mengaktifkan mode kompresi. Jangan lupa untuk mengaktifkan juga pada sisi klien.
comp-lzo
# Menentukan level dari log yang diinginkan.
# Nilai antara 0 s/d 9.
verb 3
##############################
15. Simpan file-file tersebut pada subfolder config. Misal untuk server (lihat no. 14a), maka file-file tersebut dapat disimpan di D:\OpenVPN\config\server-001.
Untuk klien (lihat no. 14b), maka file-file tersebut dapat disimpan di D:\OpenVPN\config\client-001.
16. Untuk mencoba, maka server OpenVPN harus diaktifkan terlebih dahulu, yaitu dengan mengklik kanan pada ikon OpenVPN (lihat ikon pada tray di pojok kanan bawah).
Setelah diklik kanan maka akan muncul menu dan selanjutnya pilih connect. Begitu pula dengan sisi klien, dapat dilakukan dengan langkah yang sama seperti mengaktifkan
sisi server.
17. Koneksi yang telah terjalin dapat diuji dengan melakukan test ping. Selamat mencoba !!!

%d bloggers like this: