Saya akan berbagi mengenai cara instalasi OpenVPN Server 
maupun OpenVPN Client dengan Mikrotik.
Inti dari tulisan ini 
adalah saya ingin menghubungkan dua buah jaringan lokal yang berada di 
kantor pusat dan kantor cabang agar bisa saling terkoneksi melalui 
jaringan internet. Kira-kira berikut adalah gambaran topologinya :
Skema
 ip addressnya akan saya samakan persis dengan gambar tersebut, apabila 
kalian ingin menggunakan ip address yang lain silahkan disesuaikan.
Prasyarat
1.
 Untuk dapat mengikuti artikel ini kalian diwajibkan sudah mengerti cara
 konfigurasi dasar mikrotik agar siap digunakan, baik dari konfigurasi 
ip address, hostname, gateway, dan yang lainnya. Selain itu kalian juga 
diwajibkan mengerti cara-cara pengoperasian mikrotik seperti cara 
meremote via winbox, cara memindahkan file ke mikrotik, dll.
2. Wajib
 mengerti konsep dasar TCP/IP dan jaringan. Sehingga kalian sudah tidak 
bingung lagi ketika muncul istilah-istilah seperti IP, subnet, gateway, 
routing statik, dll.
3. Wajib bisa menginstall linux dan sedikit 
pengoperasian dasar linux, khususnya Ubuntu atau Debian. Karena kita 
akan membutuhkan sedikit jasa dari Linux untuk membuat sertifikat yang 
diperlukan untuk membangun OpenVPN Server ini. Selain itu silahkan baca 
juga cara mengirim file dari Linux melalui SSH atau FTP, karena kita 
nanti perlu memindahkan file dari server Linux kita ke Mikrotik.
Jika kalian merasa sudah siap dengan prasyaratnya, maka mari kita mulai.
Pembuatan Sertifikat
1.
 Pertama-tama kita harus membuat sertifikat agar VPN Server kita dapat 
dikenali klien sebagai VPN Server yang asli. Intinya untuk pengamanan 
dan peng-enkripsian jalur komunikasi antara VPN Server dan VPN Klien 
nantinya. Berhubung mikrotik tidak memiliki fitur untuk membuat 
sertifikat, maka kita memerlukan jasa Linux Ubuntu untuk membuat 
sertifikatnya.
Silahkan kalian install Linux Ubuntu atau Debian 
(saya menggunakan Ubuntu Server 12.04 LTS), kemudian konfigurasikan 
jaringan dan repositorinya agar sudah siap untuk dapat menginstall 
aplikasi. Jika sudah, install aplikasi Openvpn :
$ sudo apt-get install openvpn
2. Kemudian kopi contoh konfigurasi openvpn yang berada di direktori 
/usr/share/doc/openvpn/examples/ ke direktori tempat openvpn. Caranya seperti ini :
$ sudo -i
# cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
Setelah itu pindahlah ke direktori 
/etc/openvpn/2.0 dengan mengetikkan perintah berikut : 
# cd /etc/openvpn/2.0/
Edit file 
vars untuk mengganti identitas yang diperlukan openvpn saat membuat file-file sertifikat nantinya :
# nano vars
Pada
 baris paling bawah, gantilah beberapa informasi sehubungan dengan 
identitas perusahaan atau organisasi kalian. Edit seperti yang sudah 
saya tuliskan dibawah, sisanya biarkan saja :
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="ID"
export KEY_PROVINCE="JB"
export KEY_CITY="Bandung"
export KEY_ORG="Cilsy"
export KEY_EMAIL="admin@linuxsupports.com"
export KEY_EMAIL=admin@linuxsupports.com 
Simpan
 dan tutup file tersebut. Sekarang kita akan membuat file-file  
sertifikatnya. Eksekusi perintah dibawah ini  secara berurutan :
# source vars
# ./clean-all
# ./build-dh
# ./pkitool --initca
# ./pkitool --server server
# ./pkitool client
Apabila pada saat mengeksekusi perintah 
source vars diatas terdapat pesan error semacam 
"openssl not found", silahkan eksekusi perintah berikut :
# mv openssl-1.0.0.cnf openssl.cnf
Setelah itu baru eksekusi ulang perintah 
source vars.
3. Langkah berikutnya kalian tinggal memindahkan file 
server.crt dan 
server.key yang berada di direktori 
/etc/openvpn/2.0/keys ke komputer kalian, baru setelah itu kalian pindahkan lagi ke mikrotik. 
Untuk
 memindahkan dari server Linux ke komputer saya, saya menggunakan teknik
 SCP. Silahkan kalian cari mengenai cara mengirim file di Linux 
menggunakan SCP. Bisa menggunakan SCP langsung atau WinSCP jika di 
Windows.
Setelah
 kedua file tersebut saya pindahkan ke komputer saya, saya pindahkan 
lagi file-file itu ke Mikrotik. Saya menggunakan teknik dari Filezilla. 
Silahkan kalian gunakan cara kalian masing-masing untuk mengirim file 
dari komputer ke Mikrotik.
Sampai sini tahap pembuatan file sertifikat untuk keperluan OpenVPN Server telah selesai.
Konfigurasi OpenVPN Server
1.
 Pertama-tama kita harus mengimport sertifikat dan key yang sudah kita 
masukkan ke mikrotik. Akses Mikrotik kalian via winbox, kemudian buka 
New Terminal, lalu ketikkan perintah berikut :
/certificate import file-name=server.crt
/certificate import file-name=server.key
Jika diminta memasukkan 
passphrase, masukkan saja 
1234. 
2.
 Selanjutnya untuk membangun sebuah jaringan VPN seperti ini, kita perlu
 membuat subnet jaringan virtual baru agar memudahkan kita dalam 
memonitor jaringan VPN kita ini nantinya. Maksudnya seperti apa? Coba 
perhatikan gambar dibawah :
Disitu terlihat kita menambahkan sebuah ip baru pada tiap-tiap router, yaitu 
10.0.0.1 dan
 10.0.0.2.
 Tujuannya seperti yang sudah saya katakan, agar memudahkan kita dalam 
memonitor jaringan VPN kita. Nantinya ketika jaringan VPN kita ini sudah
 terkoneksi, maka yang terbaca adalah kedua ip baru tersebut. Dan kedua 
ip tersebut harus berada dalam satu subnet. Dalam kasus ini maka mereka 
tergabung dalam subnet 
10.0.0.0/24.
Sekilas pada topologi diatas memang terlihat tidak perlu, karena 
ether1 dari kedua router saya memang sudah satu subnet, 
192.168.0.13 dan
 192.168.0.14 sudah tergabung dalam subnet 
192.168.0.0/24. Tapi jika di dunia nyata, ip publik tidak akan satu subnet seperti itu. Bisa jadi 
ether1 pada 
KPusat adalah
 118.97.87.0.1 sedangkan 
ether1 pada 
KCabang-1 adalah 
184.25.22.11.
 Nah, makanya untuk menggabungkan kedua ip publik yang berbeda jauh ini 
kita perlu membuat ip virtual yang seolah-olah kedua router kita 
terhubung dalam satu subnet.
Untuk membuatnya, arahkan ke menu 
PPP > 
Secrets > 
+
Name : 
ovpn-KCabang1 #diisi dengan username yang akan digunakan oleh klien untuk koneksi ke VPN Server ini nantinya. Bebas.
Password : 
passovpn #diisi dengna password yang akan digunakan oleh klien. Bebas.
Local address : 
10.0.0.1 #ip virtual yang digunakan oleh KPusat.
Remote address : 
10.0.0.2 #ip virtual yang digunakan oleh KCabang-1
Routes : 
192.168.11.0/24 10.0.0.2 #mengarahkan jaringan lokal KPusat yang ingin menuju jaringan lokal KCabang-1, harus melewati 10.0.0.2 (ip virtual KCabang-1
Jika sudah klik 
OK.
3. Terakhir aktifkan interface OVPN Server melalui
 PPP >
 Interface > 
OVPN Server
Enabled : 
Centang #Untuk mengaktifkan interface OVPN Server
Mode : 
Ethernet
Certificate : 
cert1 #pilih sertifikat yang sudah kita import diawal.
Require Client Certificate : 
Jangan dicentang
Silahkan disesuaikan dengan gambar milik saya ini : 
Jika sudah klik 
OK.
Konfigurasi OpenVPN Client
1. Untuk konfigurasi dari sisi 
KCabang-1 sebagai OpenVPN Client caranya cukup mudah. Kalian tinggal menambahkan interface 
OVPN Client untuk mengkoneksikan 
KCabang-1 ke 
KPusat.
Arahkan ke menu
 Interface > 
+ > 
 OVPN Client
Connect To : 
192.168.0.13 #diisi dengan ip publik asli dari KPusat/OVPN Server
Mode : 
ethernet
User : 
ovpn-KCabang1 #samakan dengan Name pada saat membuat PPP Secret pada KPusat
Password : 
passovpn #samakan dengan Password pada saat membuat PPP Secret pada KPusat
Jika sudah klik 
Apply. Pastikan 
Status sudah menunjukkan 
connected pada sisi kanan bawah sebelum mengklik 
OK.
2. Selanjutnya kalian perlu menambahkan 
tabel routing secara manual agar jaringan lokal pada 
KCabang-1 bisa terhubung dengan jaringan lokal pada 
KPusat. Masuk ke 
IP >
 Routes > 
+ :
Dst. Address : 
192.168.10.0/24 #diisi dengan subnet jaringan lokal KPusat
Gateway : 
10.0.0.1 #diisi dengan ip virtual KPusat. Karena jika kita ingin menuju 192.168.10.0/24 harus melewati 10.0.0.1.
Jika sudah klik 
OK.
Sampai tahap ini, proses pengkonfigurasian OpenVPN Server dan OpenVPN Client telah selesai.
Pengetesan
Untuk memastikan bahwa benar kedua jaringan lokal pada 
KPusat dan 
KCabang-1 sudah terkoneksi, maka kalian bisa mencoba melakukan ping dari jaringan
 192.168.10.0/24 ke jaringan 
192.168.11.0/24 maupun sebaliknya.
Contoh, saya melakukan ping dari klien 
KCabang-1 ber-ip 
192.168.11.2 ke klien 
KPusat yang ber-ip 
192.168.10.100 :
Kemudian saya coba
 traceroute ke 
192.168.10.100 dan terlihat bahwa saya melewati ip 
10.0.0.1 :
Silahkan dicoba sendiri untuk kebalikannya, yaitu dari 
KPusat ke
 KCabang-1.
Semoga bermanfaat :)
Sumber : 
AyoLinux