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