© 2026 Basis Pengetahuan Cloudkilat. Hak Cipta Dilindungi.

|
>
>
  1. Beranda
  2. Troubleshooting, Tips & Trik
  3. Cara Install WireGuard VPN di Server Sendiri (Ubuntu)

Cara Install WireGuard VPN di Server Sendiri (Ubuntu)

Pelajari cara install WireGuard VPN di server Ubuntu 24.04 dengan praktis. Panduan lengkap instalasi server hingga koneksi client Windows.

Waktu baca: 12 menit • Lihat progres baca di bar atas
Oleh Nizen Iskandar
Dipublikasikan 22 Februari 2026
tutorial vpnwireguard vpnsecurityVPS CloudKilatVPS Management

cara install wireguard ubuntu 24 04 - cover

Pernahkah kamu merasa khawatir saat harus menggunakan koneksi Wi-Fi publik di kafe atau bandara? Lalu lintas datamu bisa saja diintip oleh pihak tak bertanggung jawab. Solusi terbaiknya adalah menggunakan VPN (Virtual Private Network) dengan server milikmu sendiri.

Coba bayangkan internet seperti sebuah jalan umum yang selalu dipadati kendaraan. Saat kamu menggunakan WireGuard VPN, itu ibarat membuat lorong pribadi tersembunyi di bawah jalan tersebut. Aksesnya hanya bisa dibuka dengan kunci milikmu sendiri, sehingga setiap data yang melintas—mulai dari password hingga aktivitas penelusuran—tetap terlindungi dari pihak yang tidak berwenang.

Jika kamu mencari server yang ideal dan stabil untuk membangun tunnel VPN ini, Kilat VPS adalah pilihan yang tepat karena memberikan akses root penuh dengan performa komputasi dedikasi yang tinggi.

Kawan Belajar, mari kita bahas tuntas cara membangun VPN menggunakan WireGuard!

Mengapa Memilih WireGuard?

WireGuard adalah protokol VPN modern yang dirancang agar jauh lebih ringan, cepat, dan aman dibandingkan pendahulunya, seperti OpenVPN atau IPsec.

Berdasarkan perbandingan kinerja dan desain arsitektur, WireGuard jauh mengungguli OpenVPN baik dalam hal kecepatan maupun efisiensi. Berikut adalah rincian perbandingannya:

1. Kecepatan (Speed)

  • Bandwidth / Throughput: WireGuard memiliki kapasitas transfer data yang jauh lebih besar. Berbagai pengujian menunjukkan WireGuard dapat mencapai bandwidth 1,11 Gbps hingga 1.011 Mbps, sedangkan OpenVPN tertinggal jauh di kisaran 236 Mbps hingga 258 Mbps. Secara keseluruhan, kecepatan transmisi data WireGuard sering kali 2 hingga 3 kali lebih cepat dibandingkan OpenVPN.
  • Latensi (Ping): WireGuard memberikan waktu respons yang lebih cepat dan latensi yang lebih rendah. Waktu ping rata-rata WireGuard tercatat antara 0,403 ms hingga 0,433 ms, dibandingkan dengan OpenVPN yang mencapai 0,500 ms hingga 1,541 ms.
  • Waktu Pembuatan Koneksi (Setup Time): Proses jabat tangan (handshake) pada WireGuard sangat cepat. WireGuard dapat membuat koneksi dalam waktu kurang dari 1 detik hingga 1,776 detik, sedangkan OpenVPN membutuhkan waktu hampir dua kali lipat atau lebih, yakni sekitar 3,229 detik hingga 8 detik.

2. Efisiensi (Efficiency)

  • Integrasi Kernel vs. User Space: Salah satu alasan utama efisiensi WireGuard adalah kemampuannya beroperasi langsung di dalam kernel Linux. Sebaliknya, OpenVPN beroperasi di ruang pengguna (user space). Operasi user space milik OpenVPN memaksa sistem untuk berulang kali menyalin paket data antara kernel dan user space, yang memicu peralihan konteks (context switching), menambah latensi, serta menguras sumber daya secara drastis.
  • Penggunaan CPU dan Baterai: OpenVPN sering kali membebani CPU hingga utilitas 100% saat memproses data pada kecepatan tinggi. Di sisi lain, WireGuard tidak memonopoli CPU karena algoritma kriptografinya (seperti ChaCha20-Poly1305) sangat ringan dan dioptimalkan untuk kinerja cepat, bahkan pada perangkat dengan daya terbatas. Hal ini juga berdampak pada perangkat seluler, di mana WireGuard jauh lebih hemat baterai (menguras sekitar 1-2% per jam saat idle) dibandingkan OpenVPN (3-5% per jam).
  • Desain Stateless: WireGuard menggunakan model koneksi tanpa status (stateless), yang berarti protokol ini tidak membuang sumber daya untuk terus menyimpan atau melacak status koneksi paket data jaringan. Sebaliknya, OpenVPN bergantung pada model stateful konvensional yang menambah overhead pemrosesan karena terus memelihara informasi status tersebut.
  • Ukuran Kode (Codebase): WireGuard memiliki kode sumber yang sangat minimalis dengan hanya sekitar 4.000 baris kode, berbanding terbalik dengan OpenVPN yang sangat kompleks dengan lebih dari 70.000 hingga ratusan ribu baris kode (jika menyertakan pustaka OpenSSL). Basis kode yang ramping ini mengurangi overhead operasional, memudahkan audit keamanan, serta memastikan tidak ada fitur usang yang membebani kinerja.

Infografis Perbandingan Performa dan Fitur WireGuard vs OpenVPN

Gambar 1: Infografis perbandingan performa, kecepatan, dan fitur antara WireGuard dan OpenVPN.

Persiapan Sebelum Install

Pada panduan kali ini, kita akan menggunakan sistem operasi Ubuntu 24.04. Pastikan kamu sudah menyiapkan beberapa hal berikut:

  1. Sebuah VPS atau server dengan OS Ubuntu 24.04.
  2. Akses masuk via SSH menggunakan user root atau pengguna dengan hak akses sudo. (Baca juga: Cara Akses Server melalui SSH)
  3. Komputer OS Windows untuk melakukan pengetesan menggunakan aplikasi client.

Langkah Install WireGuard di Server Ubuntu

1. Update System dan Install WireGuard

Langkah pertama yang wajib dilakukan saat mengonfigurasi server baru adalah memperbarui daftar paket (repositori).

# Memperbarui indeks paket agar mendapatkan versi software terbaru
sudo apt update

# Menginstal aplikasi WireGuard beserta dependensinya
sudo apt install wireguard -y

Kita menggunakan perintah update agar sistem Ubuntu mengambil informasi versi software yang paling mutakhir. Hal ini krusial untuk mencegah terjadinya error akibat paket usang (obsolete) saat instalasi protokol keamanan tingkat tinggi seperti WireGuard.

2. Membuat Key Pair (Privat & Publik)

WireGuard menggunakan konsep Public Key Cryptography. Setiap perangkat (baik server maupun client) akan memiliki sepasang kunci: Private Key (kunci rahasia) dan Public Key (kunci publik).

# Berpindah ke direktori konfigurasi WireGuard
cd /etc/wireguard

# Menghasilkan private key dan mengubah hak akses file menjadi sangat ketat
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey

Menghasilkan private key dan mengubah hak akses file menjadi sangat ketat

Gambar 2: Menghasilkan private key dan mengubah hak akses file menjadi sangat ketat

Penjelasan Perintah:

  • wg genkey: Perintah utama untuk menghasilkan kunci privat.
  • tee privatekey: Menyimpan output (kunci privat) ke dalam sebuah file bernama privatekey.
  • wg pubkey: Mengambil kunci privat yang baru dibuat dan mengubahnya menjadi kunci publik.
  • > publickey: Mengarahkan output kunci publik ke dalam sebuah file bernama publickey.
  • chmod 600 privatekey: Mengubah hak akses file privatekey menjadi hanya bisa dibaca dan ditulis oleh pemilik (root). Ini sangat penting untuk keamanan agar private key tidak bocor.

Proses generate key ini adalah fundamental keamanannya. Private key ini layaknya nomor PIN rahasiamu—jangan pernah membagikannya. Hak akses chmod 600 diterapkan agar hanya user root yang bisa membaca file tersebut demi mengamankan enkripsi VPN milikmu.

Kamu bisa melihat teks isi dari kunci yang sudah dibuat menggunakan perintah cat:

# Melihat isi file privatekey (simpan catatannya untuk konfigurasi nanti)
cat privatekey

# Melihat isi file publickey (akan diberikan kepada client)
cat publickey

Melihat isi file privatekey dan publickey

Gambar 3: Melihat isi file privatekey dan publickey

3. Konfigurasi File wg0.conf

Sekarang, kita harus membuat konfigurasi interface utama WireGuard, yang umumnya diberi nama wg0. Gunakan teks editor pilihanmu, misalnya nano.

sudo nano /etc/wireguard/wg0.conf

Masukkan teks konfigurasi standar berikut. Ganti <SERVER_PRIVATE_KEY> dengan isi teks acak yang kamu dapatkan saat menjalankan cat privatekey sebelumnya.

[Interface]
# Private key milik server Ubuntu
PrivateKey = <SERVER_PRIVATE_KEY>

# IP address lokal untuk server di dalam jaringan VPN (subnet virtual)
Address = 10.8.0.1/24

# Port standar yang digunakan WireGuard untuk menerima trafik
ListenPort = 51820

# Aturan NAT dan Routing
PostUp = ufw route allow in on wg0 out on eth0; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = ufw route delete allow in on wg0 out on eth0; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Konfigurasi ini mengatur agar server VPN berfungsi sebagai gateway pada jaringan virtual ber-IP 10.8.0.1. Parameter PostUp dan PostDown adalah aturan lalu lintas (NAT/Routing) yang bertugas menyamaraskan (masquerade) data masuk dan meneruskannya ke internet melalui interface utama (pada contoh ini memakai nama eth0). Tanpa baris instruksi NAT ini, kamu bisa saling terhubung ke server (10.8.0.1), tetapi tidak bisa melacak IP publik ataupun mengakses URL internet apa pun dari koneksimu (No Internet Access).

Tips: Kamu bisa memeriksa apa nama interface publik VPS-mu sebenarnya (contoh: eth0, ens3, atau lainnya) dengan menjalankan perintah ip route get 8.8.8.8 pada terminal SSH. Jika muncul nama lain selain eth0, wajib ubah baris PostUp dan PostDown sesuai dengan interface tersebut.

Melakukan konfigurasi file wg0.conf

Gambar 4: Melakukan konfigurasi file wg0.conf

Ketika masih berada di dalam editor nano, untuk menyimpan konfigurasi pada file wg0.conf, tekan Ctrl + X, lalu tekan Y dan Enter.

4. Mengaktifkan IP Forwarding

Supaya VPS kamu bisa meneruskan koneksi internet dari perangkat Windows ke jaringan internet luas, fitur IP Forwarding harus diaktifkan pada sistem Linux.

# Membuka file konfigurasi sistem jaringan Linux
sudo nano /etc/sysctl.conf

Cari baris yang bertuliskan #net.ipv4.ip_forward=1, lalu hapus tanda pagar (#) di depannya untuk mengaktifkan pengaturan tersebut menjadi net.ipv4.ip_forward=1.

Mengaktifkan IP Forwarding

Gambar 5: Mengaktifkan IP Forwarding

Simpan perubahannya pada file tersebut dengan menekan Ctrl + X, lalu tekan Y dan Enter. Kemudian, terapkan langsung perintahnya dengan sysctl.

sudo sysctl -p
⚠️ Peringatan: Akses Firewall Port
Jika *server* kamu menggunakan *firewall* UFW yang aktif, pastikan kamu sudah mengizinkan koneksi masuk pada *port* WireGuard dengan perintah sudo ufw allow 51820/udp agar VPN tidak diblokir oleh sistem.

5. Menjalankan WireGuard

Setelah konfigurasi selesai, segera nyalakan interface WireGuard tersebut menggunakan perintah berikut.

# Mengaktifkan interface wg0 sekarang juga (wg-quick)
sudo wg-quick up wg0

# Membuat VPN otomatis berjalan saat server menyala ulang (restart)
sudo systemctl enable wg-quick@wg0

Untuk memastikan VPN sudah berjalan dengan benar, cek statusnya menggunakan perintah wg show.

Cek status interface WireGuard di Server Ubuntu

Gambar 6: Tampilan hasil perintah `wg show` yang menandakan konfigurasi WireGuard di server Ubuntu sudah berjalan normal.


Cara Akses Menggunakan WireGuard Client di Windows

Kawan Belajar, bagian fondasi keamanan di dalam VPS kamu sudah siap beroperasi penuh! Mari kita panggil server VPN tersebut dan hubungkan dari laptop atau komputer Windows.

1. Download dan Install Aplikasi Windows

Silakan download aplikasi versi client resmi OS Windows melalui katalog situs web WireGuard. Buka file installer dan lakukan proses pemasangan standar.

2. Konfigurasi Tunnel Baru

Langsung jalankan aplikasi instalannya di Windows kamu.

  1. Klik tombol Add Tunnel pada daftar menu di sudut kiri bawah.
  2. Pilih opsi lanjutan Add empty tunnel karena kita akan melakukan konfigurasi manual untuk menyambungkannya dengan server kita.

Pilih opsi empty tunnel

Gambar 7: Pilih opsi empty tunnel

Aplikasi tersebut akan secara otomatis membuat kombinasi kunci baru (Public dan Private key khusus untuk profil Windows ini). Layar kamu sekarang akan menampilkan jendela konfigurasi, dengan Private Key yang sudah terisi.

Lengkapi sisa pengaturan pada formulir berdasar blok ini:

[Interface]
PrivateKey = (Otomatis terisi - Jangan pernah dihapus atau diubah!)
# Menentukan IP address lokal Windows di ruangan VPN
Address = 10.8.0.2/24
# Menggunakan filter DNS bereputasi tinggi seperti Cloudflare
DNS = 1.1.1.1

[Peer]
# Masukkan Public Key MILIK SERVER Ubuntu-mu di baris ini
PublicKey = <SERVER_PUBLIC_KEY>
# Memblokir bocornya lalu lintas internet dengan rute mutlak via tunnel VPN
AllowedIPs = 0.0.0.0/0
# IP Publik milik mesin server utama Kilat VPS lengkap dengan port koneksinya
Endpoint = <IP_PUBLIK_SERVER_KAMU>:51820

Tips: Untuk mendapatkan nilai <SERVER_PUBLIC_KEY>, kamu bisa menyalinnya langsung dari terminal Ubuntu menggunakan perintah sudo wg show.

Jangan lupa memberikan nama koneksi pada kolom Name (contohnya Koneksi VPS Pribadi), lalu simpan pengaturan dengan klik Save.
Kita menggunakan routing 0.0.0.0/0 pada sintaks AllowedIPs agar seluruh lalu lintas internet dari Windows (baik browser maupun aplikasi lain) dilewatkan secara penuh melalui enkripsi VPN.

Tampilan Setelan Aplikasi WireGuard Client Windows

Gambar 8: Tampilan Setelan Aplikasi WireGuard Client Windows

3. Menambahkan Peer Windows ke Server

Meskipun Windows sudah dikonfigurasi untuk terhubung ke IP server, server Ubuntu kamu belum mengenali apalagi mengizinkan koneksi dari Windows ini. Oleh karena itu, kamu harus menambahkan Public Key milik Windows ke server agar bisa saling terhubung.

Tips: Untuk mendapatkan nilai <WINDOWS_PUBLIC_KEY>, kamu bisa menyalinnya langsung dari aplikasi WireGuard di Windows.

Salin Public Key yang ada di aplikasi Windows, lalu kembali ke terminal SSH server Ubuntu kamu. Jalankan perintah singkat berikut:

sudo wg set wg0 peer <WINDOWS_PUBLIC_KEY> allowed-ips 10.8.0.2/32

menambahkan peer Windows ke server

Gambar 9: Menambahkan Peer Windows ke Server

Perintah wg set ini berfungsi untuk menambahkan klien baru ke dalam VPN. Server akan menerima lalu lintas data asalkan kunci publiknya (Public Key) cocok dan berasal dari IP 10.8.0.2.

4. Koneksi dan Verifikasi

Kembali ke aplikasi WireGuard di Windows kamu.

  1. Klik tombol Activate pada koneksi yang baru saja kamu buat.
  2. Jika konfigurasi sudah benar, statusnya akan berubah menjadi hijau (Active) dan kamu akan melihat adanya aktivitas transfer data (Data received/sent).

Tampilan Status Koneksi VPN Berhasil di Windows

Gambar 10: Tampilan Status Koneksi VPN Berhasil di Windows

Cara paling mudah untuk memvalidasi apakah koneksimu sudah benar-benar terlindungi adalah dengan mengunjungi situs https://ip.me atau https://www.whatismyip.com/. Jika alamat IP dan lokasi yang muncul adalah milik server Kilat VPS kamu (bukan IP provider internet rumahmu), maka selamat! Koneksimu sudah dienkripsi sepenuhnya oleh WireGuard.

Contoh Hasil Cek IP

Gambar 11: Contoh Hasil Cek IP

Pemecahan Masalah (Troubleshooting)

Masalah: Status Windows "Active" dan ping ke IP 10.8.0.1 berhasil, tetapi tidak bisa mengakses internet / browsing.

Ini adalah tantangan yang lazim ditemui saat konfigurasi awalan WireGuard. Gejalanya sederhana: koneksi antar server dan profil klien tidak ada hambatan (handshake sukses), tapi jalur keluar ke internet tertutup. Hal ini disebabkan karena server Ubuntu belum berhasil melakukan pelimpahan NAT (menerjemahkan permintaan IP virtual 10.8.0.2 dan meneruskannya ke jaringan internet).

Solusi Perbaikan:

  1. Cek IP Forwarding: Pastikan kamu sudah menyelesaikan Langkah 4. Jalankan perintah sysctl net.ipv4.ip_forward di terminal dan pastikan hasilnya adalah 1.
  2. Koreksi Nama Interface: Aturan PostUp dan PostDown di file /etc/wireguard/wg0.conf sangat bergantung pada nama antarmuka jaringan (network interface) VPS kamu. Coba jalankan perintah ip route ls default atau ip link show. Jika nama yang muncul adalah ens3 (bukan eth0), buka kembali konfigurasi wg0.conf dan ubah semua teks eth0 menjadi ens3. Setelah itu, muat ulang layanan VPN dengan menonaktifkannya terlebih dahulu (sudo wg-quick down wg0) lalu nyalakan kembali (sudo wg-quick up wg0).

Kesimpulan

Kawan Belajar, membangun VPN sendiri menggunakan WireGuard memberikan tingkat keamanan dan kontrol penuh yang sulit kamu dapatkan dari layanan VPN gratisan di luar sana.

WireGuard sangat direkomendasikan karena ukurannya yang ringan dan kemampuannya menjaga performa koneksi tanpa membuat internetmu terasa lambat. Untuk hasil yang maksimal, pastikan kamu menggunakan server dengan koneksi yang cepat dan stabil seperti Kilat VPS agar aktivitas online dan privasimu terjaga secara optimal.

Referensi

  • Official WireGuard Documentation - Installation
  • Official WireGuard Documentation - Quick Start
  • WireGuard: Next Generation Kernel Network Tunnel
  • VPN Speed Showdown: Why is WireGuard Faster than OpenVPN?

Butuh bantuan lebih lanjut?

Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.

Hubungi Kami