Setup dan Konfigurasi OpenVPN Server | Ubuntu 20.04 LTS

Belajar Konfigurasi VPS Untuk Pemula

Ghifari Nur
netSHOOT
10 min readFeb 7, 2021

--

Tahun 2021, semakin banyak yang menggunakan dan beralih ke teknologi cloud karena punya segudang fitur yang sangat bermanfaat bagi personal dan company untuk membuat suatu server. Yang ngga kalah menarik adalah harganya kian miring alias murah.

Setelah kalian mengakses server menggunakan SSH atau protokol lainnya, saatnya untuk membuat jalur koneksi secara private yaitu VPN (Virtual Private Network).

Oiya, disini gua membahas lebih jauh mengenai networking ya.. dan gua menggunakan OS Ubuntu pada VPS nya

Tool yang akan kita gunakan adalah OpenVPN.

Apa Itu VPN?

Ketika ingin menggunakan Internet secara aman dan nyaman dari device manapun yang lagi terkoneksi dengan Internet Publik (misalkan Wi-Fi milik Cafe, Restaurant, Hotel, dll) maka diperlukan teknologi yang namanya Virtual Private Network (VPN).

VPN mengizinkan untuk berinternet secara private terhadap koneksi yang terbuka (public dan untrusted) supaya pengguna merasa aman dan nyaman.

Contohnya, saat orang Indonesia yang kerjanya remote dari rumah untuk mengakses resource kantor yang berlokasi di USA.

Topologi

Persiapan

Sebelum install OpenVPN lebih baik persiapkan hal pendukung sebagai berikut:

  1. User Account yang non-root
  2. Ubah User Account untuk menjadi Admin
  3. EasyRSA
  4. Certificate Authority (CA)

Membuat User Account non-root Untuk CA

  • Login ke VPS Ubuntu kalian menggunakan user root

Selanjutnya, gua akan menggunakan command asli (bukan syntax)

Tulisan tebal (bold) bisa diubah sesuai konfigurasi VPS kalian

  • Cek server IP
  • Membuat user untuk CA
  • User gipey, akan dijadikan Administrative Privileges
  • Login dengan akun baru
  • Tulis command bebas untuk melakukan test

*EasyRSA

Login menggunakan akun non-root kalian dari VPS untuk menjalankan CA Server (dalam kasus ini, gua memilih install CA Server dengan nama gipey di VPS gua. bukan standalone)

* tanda ini menandakan menggunakan akun gipey untuk CA

  • *Login ke akun gipey
  • *Install EasyRSA
  • *Setelah terinstall, buat folder untuk EasyRSA
  • *Buat symbolic links yang mengarah ke EasyRSA dari folder CA
  • *Restrict access direktori PKI
  • *Inisialisasi PKI dalam folder easy-rsa

Certificate Authority

* tanda ini menandakan menggunakan akun gipey untuk CA

  • *Buat file populate dengan nama vars dalam folder easy-rsa dan edit
  • *Buat root public dan private key untuk CA diatas
  • *Lihat certificate kita, copy dari -----BEGIN CERTIFICATE----- sampai -----END CERTIFICATE-----
  • *Paste key certificate disini
  • *Import key nya ke VPS kalian

Instalasi

Gua menggunakan satu server yang ada OpenVPN dan CA dengan akun non-root

* tanda ini menandakan menggunakan akun gipey untuk CA

Langkah 1 — Installing OpenVPN and Easy-RSA

  • Login ke akun root
  • Install OpenVPN
  • Setelah terinstall, buat folder untuk EasyRSA
  • Buat symbolic links yang mengarah ke EasyRSA dari folder CA
  • Restrict access direktori PKI

Langkah 2 — Creating a PKI for OpenVPN

  • Buat file populate dengan nama vars dalam folder easy-rsa dan edit
  • Inisialisasi PKI dalam folder easy-rsa

Langkah 3— Creating an OpenVPN Server Certificate Request and Private Key

  • Membuat OpenVPN Server Certificate Request dan private key
  • Copy server key ke /etc/openvpn/server

Langkah 4—Signing the OpenVPN Server’s Certificate Request

* tanda ini menandakan menggunakan akun gipey untuk CA

  • Login ke OpenVPN Server Certificate Request
  • Buat private key dan import certificate request
  • Sign In/Log in ke certificate request
  • *Login akun gipey untuk CA, copy server.crt danca.crt dari CA server ke OpenVPN server (dalam kasus ini, gua masih menggunakan resource yang sama 😆)
  • Kembali ke OpenVPN Server untuk akun root, copy file dari /tmp ke /etc/openvpn/server

Langkah 5 — Configuring OpenVPN Cryptographic Material

  • Generate tls-crypt dan jalankan OpenVPN server di ~/easy-rsa
  • Copy ta.key ke /etc/openvpn/server/

Langkah 6— Generating a Client Certificate and Key Pair

* tanda ini menandakan menggunakan akun gipey untuk CA

  • Buat struktur direkroti untuk menyimpan client certificate dan key files
  • Kunci dan amankan folder
  • Jalankan easyrsa script dengan gen-req dan nopass
  • Copy client1.key ke ~/client-configs/keys/
  • Copy client1.req ke CA Server menggunakan SSH (dalam kasus ini, gua tetap menggunakan resource yang sama)
  • Masuk ke CA Server, dan import certificate request
  • *Login ke akun gipey untuk CA, buat client certificate file. Transfer kembali ke Server utama
  • Login ke OpenVPN Server utama, copy cleint certificate ke ~/client-configs/keys/
  • Copy ca.crt dan ta.key ke ~/client-configs/keys/

Langkah 7— Configuring OpenVPN

  • Copy server.conf
  • Edit isi dari server.conf
tls dan cipher

Langkah 8— Adjusting the OpenVPN Server Networking Configuration

  • Edit file sysctl.conf , tambahkan command dibawah dibaris paling bawah/akhir
  • Verifikasi

Langkah 9— Firewall Configuration

  • Cek IP dan interface
  • Edit konfigurasi before.rules
  • Edit policy firewall untuk forward packet
  • Setting firewall supaya mengizinkan OpenVPN

Langkah 10— Starting OpenVPN

  • Enable service OpenVPN
  • Jalankan OpenVPN
  • Cek aktifasi OpenVPN

Langkah 11— Creating the Client Configuration Infrastructure

  • Buat direktori untuk menyimpan client configuration
  • Copy example client configuration ke client-configs sebagai base configuration
  • Edit base.conf
  • Buat compile base configuration
  • Tandai file

Langkah 12— Generating Client Configurations

  • Setelah membuat client1.crt dan client1.key, tambahkan beberapa config file dan pindahkan ke ~/client-configs
  • Buat file dengan nama client1.ovpn di ~/client-configs/files
  • Meminta file ke OpenVPN Server client1.ovpn, gua menggunakan Windows 10 sebagai client. Untuk membukanya pakai Windows PowerShell

Langkah 13— Installing the Client Configuration

Gua menggunakan Windows 10 sebagai client untuk menjalankan VPN, maka harus punya app OpenVPN dan konfigurasi sedikit supaya bisa mejalankan client1.ovpn

  • Setelah mendapatkan file client1.ovpn, pindahkan ke
  • Jalankan program OpenVPN
Berhasil (Connected)

--

--