Postingan satu-satunya di bulan agustus yang bertepatan pada tanggal terakhir ini, 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.
Prasyarat1. 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 Sertifikat1. 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 Server1. 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-1Routes :
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-1Jika sudah klik
OK.
3. Terakhir aktifkan interface OVPN Server melalui
PPP >
Interface >
OVPN ServerEnabled :
Centang #Untuk mengaktifkan interface OVPN ServerMode :
EthernetCertificate :
cert1 #pilih sertifikat yang sudah kita import diawal.Require Client Certificate :
Jangan dicentangSilahkan disesuaikan dengan gambar milik saya ini :
Jika sudah klik
OK.
Konfigurasi OpenVPN Client1. 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 ClientConnect To :
192.168.0.13 #diisi dengan ip publik asli dari KPusat/OVPN ServerMode :
ethernetUser :
ovpn-KCabang1 #samakan dengan Name pada saat membuat PPP Secret pada KPusatPassword :
passovpn #samakan dengan Password pada saat membuat PPP Secret pada KPusatJika 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 KPusatGateway :
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.
PengetesanUntuk 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