Mudah Membangun OpenVPN Server dengan Pritunl

Sebelumnya saya sudah menulis tutorial membangun OpenVPN server di Centos 5, namun tidak ada panel kontrol untuk mengelola server dan user; semua harus dilakukan via CLI. Nah, kali ini saya akan memberikan tutorial membangun Open VPN server dengan Pritunl.

Pritunl adalah aplikasi server OpenVPN dan IPsec kelas enterprise, yang disitribusikan secara open source. Untuk fitur dasar, Pritunl bisa dipakai secara gratis. Namun untuk fitur-fitur advance, Pritunl dibandrol beaya $10 – $50 per bulan. Dengan fitur dasar, sudah cukup untuk kebutuhan personal.

Requirement

Kita membutuhkan VPS, tidak perlu spek tinggi, dengan 1 CPU dan 512 MB sudah cukup. Untuk OS, Pritunl mendukung banyak distribusi Linux; anda bisa menggunakan Arch Linux, AmazonLinux 1, AmazonLinux 2, CentOS 7, Debian 8, Debian 9, Oracle Linux 7, Ubuntu 16.04 dan Ubuntu 18.04. Untuk tutorial ini, saya menggunakan Ubuntu 16.04.

Pilih lokasi datacenter yang terdekat dengan anda, bisa di Jakarta atau Singapore jika anda di Indonesia.

Sedang untuk OpenVPN client, Pritunl mendukung Windows, Mac OS; juga banyak distribusi Linux seperti Arch Linux, Centos 7, Debian 9, Antergos, Fedora 28, Ubuntu 16.04, Ubuntu 18.04 dan Ubuntu 18.10.

Instalasi

Login ke VPS Ubuntu anda, dan masukan perintah berikut satu persatu berurutan:

sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list << EOF
deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse
EOF

sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb http://repo.pritunl.com/stable/apt xenial main
EOF

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt-get update
sudo apt-get --assume-yes install pritunl mongodb-org
sudo systemctl start pritunl mongod
sudo systemctl enable pritunl mongod

Kemudian masukkan perintah berikut untuk menaikkan batasan Open File:

sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

Sekarang buka browser, dan kunjungi alamat OpenVPN server anda di https://AlamatIPServer/.

*Note: Jika muncul peringatan SSL error, tetap lanjutkan saja, nanti kita akan install SSL Lets Encrypt.

Untuk mendapatkan setup key, jalankan perintah:

pritunl setup-key

Dan masukkan setup key seperti contoh dibawah ini

Selanjutnya akan muncul kolom login seperti dibawah ini. Untuk mendapatkan username dan password login, jalankan perintah:


sudo pritunl default-password

Jika berhasil login, maka akan muncul pop-up konfigurasi Pritunl seperti dibawah ini.

Di kolom konfigurasi ini, anda bisa mengganti username & password. Dan yang utama adalah masukan domain (atau subdomain) yang akan anda pakai untuk mengakses server Pritunl ini. Jangan lupa untuk mengarahkan dulu domain/subdomain yang akan anda pakai, ke alamat IP server Pritunl ini. Masukkan domain/subdomain ke kolom Lets Encrypt Domain, dan tekan tombol Save. Maka secara otomatis Pritunl akan melakukan request sertifikat SSL ke Lets Encrypt, dan menginstalnya.

Setelah Pritunl mengkonfirmasi bahwa konfigurasi sukses, sekarang silahkan coba akses dengan url https://NamaDomainAnda.

Konfigurasi User dan Server

Kita mulai dengan melakukan konfigurasi User dulu. Klik menu Users, lalu pilih Add Organization. Ini semacam membuat grup pengguna. Isi dengan nama organisasi yang diinginkan, dan klik Add.

Selanjutnya kita akan membuat/menambahkan user ke organisasi yang baru kita buat tadi. Klik tombol Add User. Masukkan nama user, pilih organisasinya, email, dan PIN untuk nanti digunakan pada saat konek ke server Pritunl ini, semacam password lah. Biasanya saya hanya menggunakan nomor saja, seperti PIN pada umumnya. Jika sudah, jangan lupa klik Add.

Next, kita lakukan konfigurasi server. Klik menu Servers, dan pilih Add Server.

Masukkan nama server yang diinginkan di kolom Name. Jika ingin mengganti DNS lain selain default, masukkan di kolom DNS Server. Port bisa dibiarkan default, atau ganti sesuai keinginan anda. Untuk protocol, saya sarankan tetap menggunakan UDP saja. Jika ingin menggunakan IPv6, silahkan centang Enable IPv6; namun pastikan server anda memiliki IPv6 dan koneksi klien anda mendukung IPv6; jika ragu lebih baik tidak usah menggunakan IPv6. Virtual Network adalah alamat IP virtual yang akan diberikan ke klien OpenVPN, biarkan nilai defaultnya. Untuk menambah keamanan, anda bisa mengaktifkan fitur Enable Two-Step Authentication.

Langkah berikutnya adalah melakukan “attach“, organisasi (atau grup) mana yang bisa mengakses server Pritunl kita ini. Di halaman Servers, pilih Attach Organization. Pada jendela Attach Organization, pilih organisasi/grup dan server, dan klik Attach.

Dan untuk menjalankan server, klik tombol Start Server. Cek log output, jika ada tulisan “Initialization Sequence Completed“, maka server sudah berjalan dan siap digunakan.

OpenVPN Client

Untuk bisa melakukan koneksi ke server OpenVPN Pritunl yang sudah kita buat tadi, kita harus mengunduh User Profile. Link untuk mengunduhnya bisa anda temukan di menu Users, pilih user yang ingin kita unduh profilnya, dan klik link Click to download profile.

Atau anda bisa memberikan link unduh User Profile ke klien anda, dengan klik link Get temporary profile links. (link ini bersifat sementara, akan kadaluwarsa dalam 24 jam).

Sekarang unduh Pritunl Client agar kita bisa melakukan koneksi. Untuk mengunduh installernya, silahkan kunjungi halaman Pritunl Client.

Untuk memeriksa apakah koneksi anda sudah melalui server Pritunl, kunjungi website https://whatismyipaddress.com/ atau masukan di kolom pencarian Google, dengan kata kunci “whatismyipaddress“. Jika yang muncul adalah alamat IP server Pritunl, berarti anda telah sukses terkoneksi. Semoga bermanfaat & selamat mencoba!

Comments 1

  1. Pingback: Cara Instal OpenVPN di VPS Berbasis CentOS 5 - Tuts.web.id

Leave a Reply

Your email address will not be published. Required fields are marked *