Cara Install OpenVPN di Ubuntu 16.04

Cara Install OpenVPN di Ubuntu 16.04

openvpn.net
openvpn.net

Masih mengenai Cara Install OpenVPN di Ubuntu 16.04,kali ini kita akan install OpenVPN di distro Ubuntu 16.04 , salah satu fungsi dari vpn adalah untuk mengamankan koneksi internet terutama ketika kita menggunakan jaringan public seperti di public wifi. Dengan menggunakan vpn memungkinkan kita untuk menggunakan untrusted network secara private dan aman seperti menggunakan jaringan pribadi (local),

OpenVPN adalah solusi open source yang aman dengan fitur lengkap  (SSL) yang mengakomodasi berbagai konfigurasi. Dalam tutorial ini, kita akan menyiapkan server OpenVPN pada VPS dan kemudian mengkonfigurasi akses  dari Windows, iOS dan Android. Berikut adalah Cara Install OpenVPN di Ubuntu 16.04 dan Setting client OpenVPN.

Persiapan

Untuk memulai installasi OpenVPN, kita memerlukan akses SSH ke server Ubuntu 16.04 adapun cara menggunakan SSH bisa di baca di Cara Mengakses VPS Menggunakan Putty di Windows

Untuk melakukan installasi, kita memerlukan user yang memiliki akses sudo atau bisa juga langsung menggunakan root. Agar lebih aman kita perlu membuat user yang memiliki akses sudo terlebih dahulu.

Membuat User 

Masuk ke shell dengan menggunakan root dan jalankan command berikut

Set user yang telah dibuat dengan sudo privileges

Kemudian login menggunakan user yang telah dibuat

 1: Install OpenVPN

OpenVPN sudah tersedia di default repositories dan bisa langsung di install menggunakan apt, kita juga membutuhkan easy-rsa untuk membuat CA(Certificate Authority) yang akan digunakan untuk vpn kita.

Update server package index dan Install OpenVPN:

2: Set Up CA Directory

OpenVPN adalah TLS / SSL VPN. Ini berarti bahwa ia memanfaatkan sertifikat untuk mengenkripsi lalu lintas antara server dan klien. Untuk memulai, kita dapat menyalin direktori template easy-rsa ke home directory kita menggunakan make-cadir :

Pindah ke directory openvpn-ca yang telah kita buat, untuk memulai konfigurasi CA:

 3: Configure CA Variables

Edit vars untuk mengubah value CA Variables dengan text editor kesayangan anda:

file vars ini berfungsi untuk menentukan default value pada saat kita membuat CA, tanpa di editpun sebetulnya tidak ada masalah, tetapi sebaiknya kita edit saja sesuai dengan server detail yang akan kita buat.

 

Edit value seperti contoh diatas, tentunya sesuaikan dengan anda, dan jangan dibiarkan kosong:

Edit juga KEY_NAME sebagai contoh saya menggunakan key_name=”server”

Save dan Close dengan menekan tombol esc:wq untuk editor vi :).

4: Build Certificate Authority

Sekarang kita akan menggunakan variables yang barusan telah kita edit untuk membuat CA, dengan menggunakan command source vars

Lanjutkan dengan menjalankan command berikut

Build CA dengan Command ./build-ca:

 

Command diatas akan menampilkan beberapa pertanyaan terkait vars yang telah kita edit sebelumnya kita bisa langsung lanjut dengan menekan enter :

Output

5: Create Server Certificate, Key, dan Encryption Files

Selanjutnya kita akan membuat sertificate dan key pair server dan Encryption file

Lanjut dengan menekan Enter dan ketika muncul pertanyaan Sign the certificate dan Certificate request certified,commit, tekan y dan Enter.

Output

Berikutnya kita akan generate Diffie-Hellman keys

Generate HMAC signature untuk lebih mengamankan kemampuan integritas verifikasi TLS

 

6: Generate  Client Certificate dan Key Pair

Berikutnya kita akan generate Client Certificate yang akan diberi nama client1, Certificate pair ini yang nantinya digunakan client untuk authentifikasi koneksi ke server VPN

Untuk membuat Certificate tanpa password, login otomatis gunakan command berikut:

Untuk membuat password protected key gunakan command berikut ya:

Pada proses ini kita bisa langsung tekan Enter, sampai pada saat muncul pertanyaan Sign and Commit the certificate dengan y kemudian Enter.


 

7: Configure OpenVPN Service

Selanjutnya kita akan melakukan konfigurasi openvpn.

Copy file ke directory openvpn

Pindahkan CA cert,Key,Server dan Key,HMAC dan Diffie-Hellman ke /ete/openvpn

 

Copy dan Unzip sample config file :

 

Edit OpenVPN Configuration

Edit file server.conf :

Basic Configuration

Uncomment tls-auth directive. dengan menghilangkan “;” tambahkan juga key-direction parameter set menjadi “0”:

/etc/openvpn/server.conf

uncommant juga cipher AES-128-CBC

dibawah cipher AES-128-CBC tambahkan  HMAC message digest algorithm.

Uncomment user nobody dan group nogroup

(Optional) Push DNS untuk Redirect All Traffic Melalui the VPN

Konfigurasi diatas akan membuat koneksi VPN antara dua komputer. tetapi tidak menggunakan koneksi untuk menggunakan tunnel, jika kita akan menggunakan vpn untuk mengalihkan semua traffic, yang salah satu fungsinya adalah unblock content filtering, aktifkan redirect-gateway dengan uncomment redirect-gateway.

Uncomment juga dhcp-option dns, dan sesuaikan dengan keinginan kita, dns mana yang akan kita gunakan, saya gunakan dns google:

(Optional) Adjust the Port and Protocol

Secara default port yang digunakan openvpn adalah 1194 dan protocol udp. Jika kita membutuhkan untuk diset ke port lain kita bisa edit di bagian port dan proto,biasanya port 443 adalah alternatif terbaik, mengingat port ini secara default di perbolehkan di firewall.

simpan dan close esc:wq

8: Setting Konfigurasi Network Server

Allow IP Forwarding

Aktifkan ip forward dengan mengedit file /etc/sysctl.conf:

Uncomment dengan menghapus #

simpan dan close.

Untuk melihat value dari sysctl gunakan command berikut:

Edit UFW Rules untuk Masquerade Client Connections

Sebelum kita membuka konfigurasi firewall untuk menambahkan masquerading, kita perlu untuk melihat public network interface terlebih dahulu:

Public interface diawali dengan dev, pada contoh berikut public interface bernama ens3:

Output

Buka file /etc/ufw/before.rules dan tambahkan konfigurasi berikut:

Tambahkan command berikut di file /etc/ufw/before.rules. Hal ini berfungsi untuk mengijinkan semua traffic melalui VPN:

Note: Ganti eth0 dengan public device server kita, sebagai contoh ens3


 

Simpan dan Close dengan menekan esc:wq.

Edit  /etc/default/ufw agar mengijinkan packet forward secara default:

Inside, find the DEFAULT_FORWARD_POLICY directive. Ganti  DROP menjadi ACCEPT:

Simpan dan close dengan menekan esc:wq.

Buka OpenVPN Port di Firewall

Berikutnya kita akan membuka port OpenVPN melalui firewall.

Jika kita tidak melakukan perubahan pada file /etc/openvpn/server.conf , kita perlu membuka protocol UDP dan port 1194, sesuaikan dengan perubahan yang kita lakukan sesuai dengan server.conf

Restart ufw dengan command berikut:

9: Start dan Enable OpenVPN Service

Untuk menjalankan OpenVPN service kita bisa lakukan dengan menjalankan command berikut:

Untuk mengetahui status openvpn:

Output


Jalankan openvpn as service:

 

10: Create Client Configuration

Berikutnya kita akan membuat client configuration, yang akan mempermudah kita dalam membuat client setup.

Jalankan command berikut untuk membuat directory file config:

Creating a Base Configuration

Copy sample config ke base directory:

Edit sesuai dengan konfigurasi server vpn kita:

 

Edit protocol yang digunakan

Uncomment user dan group dengan menghapus “;“:

Nonaktifkan ca client dan key dengan menambahkan #:


 

Samakan cipher dan auth setting sesuai dengan file /etc/openvpn/server.conf

 

Set key-direction menjadi 1 untuk berhubungan dengan server

Tambahkan comment berikut, yang akan digunakan khusus untuk client linux.

 

Save dan Close dengan menekan esc:wq.

Membuat Client Config script

Berikutnya kita akan membuat simple script yang akan mengcompile konfigurasi dasar sesuai dengan certificate dan key yang relevan

Masukan script berikut:


 

Save dan close dengan menekan esc:wq

Buat file menjadi executable:

 

11: Generate Client Configurations

Untuk membuat client config, sebelumnya kita sudah membuat client certificate client1.crt dan client1.key dengan menggunakan ./build-key client1 seperti langkah ke 6.

 

Jika semua berjalan lancar, kita seharusnya mempunyai client1.ovpn file di directory ~/client-configs/files :

Output

Download client1.ovpn menggunakan winscp di home_directory/client-configs/files

12: Setting / Install Client OpenVPN

Windows

Download dan install OpenVPN Client  setelah itu copy file .ovpn ke directory openvpn

Buka OpenVPN Gui dan OpenVPN akan muncul di taskbar kanan bawah. Klik kanan dan pilih connect

client1-connect

client1-connected

Android / IOS

untuk android ataupun IOS download OpenVPN Connect.. Copy file .ovpn ke SDCard , kemudian Import profile from SdCard

screenshot_2016-11-23-18-09-57

screenshot_2016-11-23-18-10-09screenshot_2016-11-23-18-13-49

Cek apakah bisa browsing jika berhasil browsing, berarti vpn berjalan normal, dan cek juga ip public yang sekarang digunakan, tentunya akan berganti menggunakan vpn.

screenshot_2016-11-23-18-14-32

One thought on “Cara Install OpenVPN di Ubuntu 16.04

Leave a Reply

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

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »