Thursday, December 22, 2016

Setup Mikrotik Openvpn Site-to-Site


Mikrotik adalah perangkat jaringan yang sangat mumpuni, memiliki fitur lengkap sebagai router, dan yang paling utama adalah harganya yang terjangkau, sehingga sejak diluncurkan sampai saat ini, Mikrotik sudah merajai pasaran router untuk SOHO.

Kali ini kita akan membahas penggunakan Mikrotik sebagai perangkat VPN dengan menggunakan protokol OpenVPN.

Selain berbasis opensource, OpenVPN adalah salah satu protokol VPN yang mampu dijalakan dengan model TCP ataupun UDP.  Dimana dengan model TCP portnya bisa diubah-ubah, sehingga jika ada provider yang memblok port default OpenVPN yaitu 1194, anda bisa pindah ke port 443 misalnya yang tidak mungkin diblok oleh Internet Provider. Namun sayangnya model UDP sepertinya tidak bisa jalan di Mikrotik.

Untuk membuat koneksi openvpn site-to-site kita tentunya perlu dua buah mikrotik, dimana satu sebagai OpenVPN Server dan satu lagi sebagai client.

Adapun topologi jaringan yang akan kita buat adalah sebagai berikut ini.


Implementasi OpenPVN pada mikrotik memiliki sedikit kelemahan, dimana mikrotik tidak dapat meng-generate certificate untuk OpenVPN, sehingga dalam hal ini kita akan menggunakan Ubuntu untuk membuat certificate-nya kemudian kita upload ke Mikrotik.


Membuat Certificate


Untuk membuat certificate yang akan digunakan oleh OpenVPN, anda dapat menggunakan Linux, dalam tulisan ini kita akan menggunakan Linux Ubuntu..

Install Paket yang dibutuhkan yaitu openvpn dan easyrsa.

sudo apt-get install openvpn easyrsa

Setelah terinstall, buat direktori untuk menampung certificate.

make-cadir mikrotik-openvpn

kemudian edit file vars yang ada di folder yang baru dibuat.

cd mikrotik-openvpn
nano ./vars

Edit bagian ini.

# 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="SU"
export KEY_CITY="Medan"
export KEY_ORG="Suburban-IT"
export KEY_EMAIL="admin@suburban-it.com"
export KEY_OU="Suburban-IT"

# X509 Subject Field
export KEY_NAME="mikrotik-openvpn"

Kemudian buat lakukan pembersihan, untuk menghapus certificate sebelumnya jika memang ada.

source ./vars
./clean-all

Buat File ca.crt

./build-ca

Buat Certificate Server
./build-key-server mikrotik-hq

Export file mikrotik-hq.crt

openssl rsa -in keys/mikrotik-hq.crt -out keys/mikrotik-hq.pem

Buat Certificate Client

./build-key mikrotik-branch

Export file mikrotik-branch.crt

openssl rsa -in keys/mikrotik-branch.crt -out keys/mikrotik-branch.pem

File certificate akan disimpan di folder keys, merupakan sub folder yang dibuat dari perintah make-cadir di atas. Kita perlu mengambil file berikut ini yang tersimpan di folder keys, dapat menggunakan WinSCP atau juga dengan metode lainnya,  untuk nanti kita upload ke mikrotik.

ca.crt
mikrotik-hq.crt
mikrotik-hq.pem
mikrotik-branch.crt
mikrotik-branch.pem
Note ** file ca.key merupakan file yang sensitif, anda tidak boleh menshare file ini kepada orang lain.

Setup OpenVPN Server


Import Certificate


Untuk membuat OpenVPN server di Mikrotik-HQ, kita perlu mengupload file ca.crt, mikrotik-hq.crt dan mikrotik-hq.pem. Hal ini dapat dilakukan dengan fitur drag-n-drop  di Winbox.



Setelah file terupload, sekarang kita akan mengimport certificate tersebut, masuk ke menu System, Certificate, kemudian klik import certificate, pilih file ca.crt, kemudian ulangi import certificate dan pilih file mikrotik-hq.crt, dan terakhir import file mikrotik-hq.pem



Buat Profile

Langkah ini tidaklah mandatory, anda dapat menggunakan default-profile yang sudah ada dalam Mikrotik, supaya lebih spesifik kita buat profile baru dengan nama site_to_site. Pada Winbox, klik tombol PPP, kemudian pada tab Profiles, klik tanda + untuk membuat profile baru.


Buat User dan Password

Selain certificate, kita juga perlu membuat username dan password yang akan digunakan oleh OpenVPN Client untuk login ke service OpenVPN di server.
Pada Winbox, klik tombol PPP, kemudian pada tab Secrets, klik tanda + untuk membuat user baru.

Pada saat pembuatan user ini kita tentukan juga ip yang akan digunakan disisi server (Mikrotik-HQ) dan sisi client (Mikrotik-Branch) untuk user yang dimaksud, selain diset manual, pemberian IP juga dapat dibuat secara otomatis dengan mengutilisasi penggunaan IP POOL di Mikrotik.

Aktifkan Open VPN Server


Saatnya mengaktifkan OpenVPN server di Mikrotik-HQ, Pada Winbox, klik tombol PPP, kemudian klik tombol "OpenVPN Server",


Beri tanda check pada "Enabled" untuk mengaktifkan, kemudian di portnya anda bisa ubah sesuai keinginan, dan mode-nya di set ke IP bukan ethernet. Pilih Certificate yang telah diimport dilangkah awal sebagai certificate yang akan digunakan oleh OpenVPN Server.

Setup OpenVPN  Client


Setelah disisi server ready, sekarang kita pindah ke sisi client untuk menyambungkan Mikrotik-Branch ke Mikrotik-HQ dengan OpenVPN.

Pastikan certificate disisi client telah diimport, langkahnya sama dengan mengimport certificate disisi server hanya saja disisi client kita hanya mengimport file ca.crt, mikrotik-branch.crt dan mikrotik-branch.pem.

Buat Interface OpenVPN-Client.

Pada Winbox, klik tombol PPP, kemudian klik tanda tambah (+) untuk menambah interface, kemudian pilih OpenVPN Client.

Masukkan parameter yang dibutuhkan, sesuai dengan gambar diatas. Setelah semua parameter diisi, klik tombol OK, perhatikan di log-nya, proses koneksi ke OpenVPN server ke Mikrotik-HQ akan diproses, jika semua parameter telah diinput dengan benar, maka interface baru ini akan online dengan IP address yang diperoleh dari server yaitu 172.17.1.2.

Tambah Routing Table


Setelah tunnel terbangun antara Mikrotik-HQ dengan Mikrotik-Branch, sekarang kita perlu menambahkan routing table dikedua Mikrotik agar mereka dapat saling mengakses LAN diwilayah Private masing-masing mikrotik.

Sesuai dengan gambar toplogi diatas maka routing table yang perlu ditambah adalah sebagai berikut.

Mikrotik-HQ


Mikrotik Branch



Setelah routing table dibuat, dan tunnel sudah up, saat nya kita pastikan apakah koneksi sudah berjalan sesuai dengan harapan kita.


Testing


Untuk menguji coba koneksi, kita tambahkan Ubuntu Linuk menjadi bagian dari LAN di Mikrotik-HQ, kemudian dari Ubuntu kita coba traceroute ke IP Lan Mikrotik-Branch.


Untuk menguji apakah paket dienkripsi, kita coba lakukan tcpdump di salah satu router di wilayah WAN, maka kita lihat paket yang dilewatkan telah dienkripsi, padahal paket tersebut hanyalah merupakan ping (ICMP) dari  Router-Branch ke  IP-LAN Mikrotik-HQ (172.16.10.1).

 Dengan demikian, koneksi OpenVPN site-to-site dengan menggunakan Mikrotik telah berhasil disetup dan silahkan mencoba. Jangan lupa berikan komentar anda pada tulisan ini, jika ada yang kurang jelas.

Anda dapat mendownload tutorial ini dalam bentuk pdf pada link berikut ini https://goo.gl/i02FJm



1 comment: