Belajar OpenVPN - Instalasi & Setup Awal
Episode 3 of 23

Belajar OpenVPN - Instalasi & Setup Awal

Episode praktik pertama: menginstall OpenVPN di berbagai platform, memahami dependensi OpenSSL dan LZO, menulis server.conf dan client.ovpn pertama, lalu memverifikasi tunnel hidup dengan ping.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Teori di episode 2 sudah cukup. Sekarang saatnya tangan mulai bekerja: menginstall OpenVPN dan membuat konfigurasi pertama yang benar-benar berjalan. Episode 3 adalah milestone besar — di akhir episode ini, tunnel VPN pertama kalian akan hidup dan bisa di-ping.

Kita akan menginstall di beberapa platform, memahami dependensi yang wajib ada, menulis server.conf dan client.ovpn dari nol, lalu menjalankan daemon dan memverifikasi koneksi. Jika ada yang gagal, bagian troubleshooting di akhir episode akan menuntun kalian langkah demi langkah.

Instalasi OpenVPN di Berbagai Platform

Instalasi di bawah otomatis membawa dua dependensi inti: OpenSSL 3.x sebagai mesin kriptografi untuk TLS, dan LZO sebagai library kompresi opsional. Verifikasi OpenSSL dengan openssl version setelah instalasi.

Debian dan Ubuntu dengan apt

Debian dan turunannya menyediakan OpenVPN di repository resmi:

Install di Debian/Ubuntu
apt update
apt install -y openvpn easy-rsa

Paket easy-rsa ikut diinstall karena akan dipakai di episode 4 untuk membangun PKI. Pastikan tidak ada error pada tahap ini sebelum lanjut.

Red Hat family dengan dnf

Untuk CentOS Stream, Rocky Linux, atau AlmaLinux:

Install di Red Hat family
dnf install -y epel-release
dnf install -y openvpn easy-rsa

Easy-RSA tersedia dari EPEL, jadi repository tambahan wajib diaktifkan terlebih dahulu.

macOS dengan Homebrew

Di macOS, Homebrew adalah cara tercepat:

Install di macOS
brew install openvpn

Catatan: di macOS, klien OpenVPN Connect atau Tunnelblick lebih sering dipakai untuk pemakaian harian. Perintah brew install openvpn menyediakan binary CLI yang sama dengan Linux.

Docker Image

Untuk lab cepat atau isolasi, image kylemanna/openvpn sangat populer:

Jalankan OpenVPN di Docker
docker run -v /etc/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://203.0.113.10

Alur lengkap Docker akan kita pakai lagi di episode 17 dan 21. Untuk sekarang, instalasi native di VM lebih memudahkan pemahaman.

Build dari Source

Cara paling fleksibel — dan paling jarang diperlukan:

Build OpenVPN dari source
apt install -y build-essential libssl-dev liblzo2-dev libpam0g-dev
curl -LO https://swupdate.openvpn.org/community/releases/openvpn-2.7.5.tar.gz
tar xzf openvpn-2.7.5.tar.gz && cd openvpn-2.7.5
./configure && make && make install

Jalur ini berguna jika kalian butuh fitur yang belum ada di paket distro. curl -LO digunakan untuk mengunduh tarball rilis resmi.

Konfigurasi Server Pertama

Buat file /etc/openvpn/server/server.conf di sisi server. File ini adalah versi ringkas dari konfigurasi production yang akan kita sempurnakan di episode-episode berikutnya:

server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
verb 3

Direktif server 10.8.0.0 255.255.255.0 membuat pool alamat untuk client, sementara keepalive 10 120 mengirim ping setiap 10 detik dan menganggap koneksi putus jika tidak ada respon 120 detik.

Menjalankan dan Menyalakan Server

Mulai dan aktifkan service
systemctl enable --now openvpn-server@server
systemctl status openvpn-server@server

Service openvpn-server@server membaca konfigurasi server.conf di /etc/openvpn/server. Nama setelah tanda at adalah nama file konfigurasi tanpa ekstensi.

Konfigurasi Client Pertama

Di sisi client, buat file client.ovpn. Perhatikan perbedaan dengan server: direktif client, remote, dan nobind hanya berlaku untuk client:

client.ovpn
client
dev tun
proto udp
remote 203.0.113.10 1194
resolv-retry infinite
nobind
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
verb 3

Direktif remote-cert-tls server mencegah serangan man-in-the-middle dengan memastikan sertifikat lawan benar-benar sertifikat server. remote 203.0.113.10 1194 menunjuk ke alamat server yang diisi sesuai lab kalian.

Membuka Port di Firewall

Server harus menerima UDP 1194:

Buka port UDP 1194
ufw allow 1194/udp

Untuk cloud, pastikan juga security group mengizinkan UDP 1194 dari alamat client kalian. Ini adalah penyebab nomor satu kegagalan koneksi pertama.

Verifikasi Koneksi Pertama

Menjalankan Client

Dengan key material yang sudah disiapkan (episode 4 akan membahas pembuatannya), jalankan client:

Jalankan client di foreground
openvpn --config client.ovpn

Jalankan di foreground agar log tampil langsung. Jika semuanya benar, kalian akan melihat pesan Initialization Sequence Completed — tanda tunnel sudah aktif.

Menguji Tunnel

Setelah sequence selesai, verifikasi dari client:

Cek interface dan ping server VPN
ip addr show tun0
ping -c 4 10.8.0.1

ping -c 4 10.8.0.1 menguji koneksi ke alamat server di dalam tunnel. Jika balasan datang, selamat — VPN pertama kalian berfungsi dan lab dasar sudah lengkap.

Kesalahan Umum pada Setup Awal

  • Options error: Unrecognized option or missing parameter(s): typo pada nama direktif — cek kembali ejaannya.
  • TLS Error: Unroutable control packet received: server dan client tidak bisa saling menjangkau, biasanya masalah firewall atau alamat remote.
  • Cannot open TUN/TAP dev /dev/net/tun: device tun tidak tersedia — kembali ke episode 0.

Untuk error koneksi yang lebih dalam, kita akan membahas teknik logging dan troubleshooting secara menyeluruh di episode 8.

Penutup

Inti yang harus dibawa pulang:

  • Install OpenVPN via apt, dnf, brew, Docker, atau build dari source.
  • Dependensi inti: OpenSSL 3.x dan LZO.
  • server.conf menentukan pool client; client.ovpn menentukan target server.
  • remote-cert-tls server wajib di client untuk mencegah serangan MITM.
  • Jalankan client di foreground dan tunggu Initialization Sequence Completed.
  • Buka UDP 1194 di firewall dan security group cloud sebelum menguji.

Di episode 4 selanjutnya kita akan membangun PKI dan manajemen sertifikat dengan Easy-RSA — membuat CA, mengeluarkan sertifikat server dan client, membangkitkan Diffie-Hellman parameters, serta belajar mencabut sertifikat yang bermasalah. Ini menggantikan key contoh yang tadi kita pakai dengan kunci yang benar-benar kalian kendalikan.

Belajar OpenVPN - Instalasi & Setup Awal | Belajar OpenVPN