VPS Murah Nevacloud

Yuk, Pasang WireGuard VPN di VPS: Terowongan Pribadi ke Server Sendiri

Halo Sobat Online! Pernah tidak kepikiran begini: panel admin server kita sebaiknya tidak dibuka ke internet, tapi kita tetap ingin mengaksesnya dari warung kopi atau dari HP saat sedang di jalan? Jawabannya bukan membuka port tambahan, melainkan membuat WireGuard VPN di VPS — sebuah terowongan terenkripsi dari perangkat kita langsung ke server, seolah-olah kita duduk di jaringan yang sama.

Analoginya seperti lorong bawah tanah pribadi. Pintu depan rumah tetap terkunci rapat untuk umum, tetapi kita punya kunci lorong yang hanya kita dan server yang tahu. Lewat lorong itu, semua data berjalan terenkripsi, dan dari sisi server kita terlihat seperti tamu lokal, bukan pengunjung dari internet bebas.

Yang menyenangkan: WireGuard bukan aplikasi berat. Modulnya sudah menyatu di kernel Linux sejak versi 5.6, jadi di Ubuntu atau Debian modern kita cukup memasang paket kecil wireguard, menulis satu file konfigurasi, lalu menyalakannya lewat systemd. Mari kita kerjakan langkah demi langkah.

Apa Itu WireGuard VPN di VPS dan Kenapa Banyak Dipakai?

WireGuard adalah implementasi VPN modern yang sengaja dibuat sederhana. Ia hanya punya satu tugas: membuat antarmuka jaringan (wg0) yang mengenkripsi dan memverifikasi lalu lintas data. Urusan alamat IP dan rute diserahkan ke peralatan standar Linux seperti ip address dan ip route — itulah sebabnya konfigurasinya pendek dan mudah dibaca.

Beberapa alasan ia cocok untuk pemilik VPS:

  • Modul kernel bawaan. Sejak Linux 5.6, wireguard sudah ada di dalam kernel, jadi tidak perlu kompilasi atau DKMS. Cukup cek dengan modinfo wireguard.
  • Handshake cepat. WireGuard hanya mengirim paket saat ada data, sehingga koneksi terasa langsung hidup dan hemat kuota.
  • Kunci, bukan kata sandi. Setiap sisi punya pasangan kunci publik dan privat. Kalau salah satu perangkat hilang, cukup hapus publiknya dari server — tidak perlu mengganti kata sandi di banyak tempat.
  • Satu file konfigurasi per antarmuka. Semua pengaturan inti ada di /etc/wireguard/wg0.conf, gampang dibaca dan dicadangkan.
  • Ringan di VPS kecil. Karena berjalan di kernel, konsumsi CPU-nya jauh lebih hemat dibanding VPN yang berjalan penuh di ruang pengguna.

Dua pola pemakaian yang paling sering dipilih:

  1. Split tunnel — hanya trafik ke jaringan server (misalnya 10.8.0.0/24) yang masuk terowongan. Cocok untuk mengakses panel admin, database, atau dashboard monitoring yang tidak dibuka ke publik.
  2. Full tunnel — semua trafik internet ikut masuk terowongan, sehingga IP publik yang terlihat situs lain adalah IP VPS-mu. Berguna saat memakai Wi-Fi publik.

Yang Perlu Disiapkan Sebelum Mulai

Persiapan berikut singkat, tapi dua poin pertama wajib beres:

  1. VPS Linux (Ubuntu atau Debian) dengan akses SSH dan hak sudo. Perintah di artikel ini memakai keluarga Debian.
  2. IP publik VPS dan satu port UDP bebas, misalnya 51820 — port bawaan WireGuard.
  3. Perangkat klien: laptop (Windows, macOS, Linux) atau HP (Android, iOS) dengan aplikasi resmi WireGuard.
  4. Catatan penting soal Cloudflare: layanan proxy oranye Cloudflare hanya meneruskan trafik HTTP/HTTPS, bukan UDP. Jadi untuk WireGuard, record DNS-nya harus menunjuk langsung ke IP VPS dan port UDP-nya dibuka. Ini kebalikan dari pola “tanpa buka port” yang kita pakai di artikel Cloudflare Tunnel di VPS — pola itu memang hanya berlaku untuk aplikasi web.
  5. Niat mencadangkan konfigurasi. Kunci privat adalah identitas server. Ia tidak boleh diunggah ke GitHub, dikirim lewat chat, atau disimpan di folder yang bisa diakses publik.

Langkah 1: Pasang WireGuard dan Cek Modul Kernel

Mulai dari paket resmi distro, bukan skrip acak di internet:


sudo apt update
sudo apt install -y wireguard
wg --version
command -v wg-quick
modinfo wireguard | head -n 8

Perintah wg --version menampilkan versi perkakasnya. Di Ubuntu 26.04 paket wireguard-tools berisi v1.0.20250521, sedangkan rilis lama seperti 22.04 dan 24.04 bisa menampilkan v1.0.20210914. Nomor versi yang berbeda itu tidak berarti protokolnya tertinggal — modul kernel dan perkakasnya dipaketkan mengikuti tiap rilis Ubuntu, dan protokol WireGuard sendiri sudah stabil sejak lama.

Kalau modinfo wireguard menampilkan baris filename: .../drivers/net/wireguard/wireguard.ko, kabar baik: kernel VPS-mu sudah membawa modulnya. Tidak perlu memasang apa pun lagi.

Langkah 2: Aktifkan IP Forwarding secara Permanen

Langkah ini sering dilupakan, padahal tanpanya paket dari klien akan sampai ke VPS lalu berhenti di situ — tidak diteruskan ke internet. Buat file /etc/sysctl.d/99-wireguard.conf:


net.ipv4.ip_forward = 1

Lalu terapkan dan pastikan nilainya benar:


sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
sysctl net.ipv4.ip_forward

Output harus net.ipv4.ip_forward = 1. Menuliskannya di sysctl.d membuat setelan ini ikut hidup lagi setiap kali VPS di-reboot, sehingga kita tidak perlu mengulang perintahnya.

Langkah 3: Bikin Pasangan Kunci untuk Server

WireGuard memakai kunci berbasis base64. Perkakas wg bisa membuatnya dalam satu baris:


sudo mkdir -p /etc/wireguard
cd /etc/wireguard
umask 077
wg genkey | sudo tee server.key | wg pubkey | sudo tee server.pub
sudo cat server.key
sudo cat server.pub

Perintah umask 077 memastikan file kunci hanya bisa dibaca pemiliknya. Isi server.key adalah kunci privat yang hanya tinggal di VPS, sedangkan server.pub adalah kunci publik yang nanti ditempel di konfigurasi klien. Untuk klien, ulangi pola yang sama di perangkatnya masing-masing — atau pakai aplikasi WireGuard yang membuat kuncinya otomatis.

Satu aturan yang tidak boleh dilanggar: satu pasangan kunci untuk satu perangkat. Kalau dua HP memakai kunci yang sama, keduanya akan saling menendang di sisi server dan koneksi terasa “putus-nyambung”.

Langkah 4: Tulis Konfigurasi Server di /etc/wireguard/wg0.conf

Di sinilah semua bagian bertemu. Buat file /etc/wireguard/wg0.conf:


[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <ISI_KUNCI_PRIVAT_SERVER>

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# Laptop atau HP pertama
PublicKey = <KUNCI_PUBLIK_KLIEN>
AllowedIPs = 10.8.0.2/32

Arti baris yang paling sering ditanya

  • Address = 10.8.0.1/24 — alamat VPS di dalam jaringan terowongan. Alamat ini tidak terlihat dari internet; ia hanya hidup selama wg0 menyala.
  • ListenPort = 51820 — port UDP yang didengarkan server. Kalau diganti, klien harus memakai nomor yang sama.
  • AllowedIPs di sisi server berperan ganda: sebagai rute untuk mengirim paket, dan sebagai daftar izin saat menerima paket. Karena itu isinya hanya alamat tunnel klien (10.8.0.2/32), bukan 0.0.0.0/0. Menulis 0.0.0.0/0 di sini akan membuat server menerima klaim alamat dari mana saja.
  • PostUp dan PostDown menjalankan aturan NAT otomatis saat antarmuka naik dan turun. Ganti eth0 dengan nama antarmuka jaringan publik VPS-mu — cek dulu dengan ip -brief address.

Jangan lupa kunci izin filenya supaya klien nakal tidak menebak-nebak:


sudo chmod 600 /etc/wireguard/wg0.conf /etc/wireguard/server.key

Langkah 5: Nyalakan Interface dan Jadikan Layanan Otomatis

Uji dulu secara manual, baru pasang sebagai layanan:


sudo wg-quick up wg0
sudo wg show
sudo systemctl enable --now wg-quick@wg0

Perintah wg-quick up wg0 membuat antarmuka, memasang alamat, dan mengatur MTU. Perhatikan bahwa wg-quick sejak awal menetapkan MTU 1420 — angka yang sengaja lebih kecil dari 1500 agar paket terenkripsi tidak perlu dipecah saat melintasi jaringan yang lebih sempit. Kalau nanti ada situs tertentu yang halaman pembukaannya “menggantung”, turunkan nilainya menjadi MTU = 1380 di bagian [Interface] lalu jalankan sudo wg-quick down wg0 && sudo wg-quick up wg0.

wg show menampilkan daftar peer beserta waktu handshake terakhir. Kalau baris itu masih kosong, artinya belum ada klien yang menyapa — wajar, karena konfigurasi klien baru kita buat di langkah berikutnya.

Langkah 6: Buat Konfigurasi Klien (Split Tunnel atau Full Tunnel)

Di aplikasi WireGuard pada laptop atau HP, tambahkan tunnel baru dan isi seperti ini:


[Interface]
PrivateKey = <KUNCI_PRIVAT_KLIEN>
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <KUNCI_PUBLIK_SERVER>
Endpoint = IP-PUBLIK-VPS:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Tiga baris yang paling menentukan rasa pemakaiannya:

  • AllowedIPs = 10.8.0.0/24 → split tunnel. Hanya lalu lintas ke jaringan server yang masuk terowongan; sisa internet tetap lewat jaringan asli, jadi koneksi tidak ikut lambat.
  • AllowedIPs = 0.0.0.0/0 → full tunnel. Semua trafik lewat VPS, dan alamat IP yang dilihat situs lain adalah IP VPS-mu.
  • PersistentKeepalive = 25 → paket kecil tiap 25 detik agar pemetaan NAT di jaringan rumah atau kantor tidak ditutup saat lalu lintas sedang sepi. Nilai ini direkomendasikan dokumentasi resmi WireGuard, dan tidak perlu dipasang di sisi server.

Kalau kliennya HP, mengirim file konfigurasi lewat aplikasi pesan itu ide yang buruk. Alternatifnya: buat kode QR di server dengan qrencode, lalu pindai dari aplikasi WireGuard di HP. Kunci privat hanya berpindah lewat layar yang kita pegang sendiri.

Langkah 7: Buka Port UDP dan Buktikan Terowongannya Hidup

Tinggal satu pintu yang perlu dibuka — dan hanya UDP:


sudo ufw allow 51820/udp
sudo ufw status numbered

Setelah klien tersambung, lakukan tiga uji ini dari perangkat klien:

  1. Ping alamat tunnel server — ping 10.8.0.1. Balasan muncul berarti terowongan sudah hidup.
  2. Cek IP publik yang terlihat — buka curl ifconfig.me. Untuk full tunnel, yang muncul adalah IP VPS-mu, bukan IP rumah.
  3. Lihat sisi server — jalankan sudo wg show lagi. Kolom latest handshake akan berisi beberapa detik lalu, dan penghitung transfer mulai bergerak.

Kalau wg show di server tetap kosong sementara klien bilang “connected”, hampir selalu masalahnya ada di port UDP yang belum dibuka di firewall VPS atau di panel penyedia cloud (security group).

Masalah yang Paling Sering Muncul

Kumpulan gejala dan obatnya, biar tidak perlu menebak:

  • Handshake tidak pernah terjadi → cek sudo ufw allow 51820/udp, lalu cek security group di panel penyedia VPS. Kunci publik yang tertukar (server di klien, klien di server) juga jadi penyebab nomor satu.
  • Sudah tersambung tapi tidak bisa membuka internet → net.ipv4.ip_forward masih 0, atau aturan MASQUERADE memakai nama antarmuka yang salah. Verifikasi dengan ip -brief address.
  • Bisa ping 10.8.0.1 tapi tidak bisa buka situs → DNS belum disetel di klien. Tambahkan baris DNS = 1.1.1.1 di bagian [Interface].
  • Koneksi mati setelah beberapa menit → tambahkan PersistentKeepalive = 25 pada peer di klien.
  • Muncul dua klien saling tendang → ada pasangan kunci yang dipakai dua perangkat. Buat pasangan kunci baru untuk perangkat kedua.
  • Situs tertentu menggantung → turunkan MTU menjadi 1380 di sisi klien maupun server.
  • Ingin mencabut akses satu perangkat → hapus blok [Peer] miliknya di server, lalu sudo wg-quick down wg0 && sudo wg-quick up wg0. Tidak ada kata sandi yang perlu diganti.

Kesimpulan: Satu Terowongan, Server Tetap Tertutup

WireGuard VPN di VPS memberi kita cara paling rapi mengakses server sendiri: pintu publik tetap tertutup untuk umum, tetapi kita punya lorong pribadi yang bisa dibuka kapan saja dari HP atau laptop. Konfigurasinya cuma satu file, jalannya sudah otomatis lewat wg-quick@wg0, dan menambah perangkat baru berarti menambah satu blok [Peer] beserta sepasang kunci.

Sobat Online, coba luangkan 20 menit malam ini: pasang paketnya, buat sepasang kunci, nyalakan wg0, lalu uji dari HP. Setelah handshake pertama muncul di sudo wg show, kamu akan sadar bahwa VPN pribadi itu bukan barang mewah yang perlu langganan bulanan — cukup satu VPS yang sudah kamu punya, ditambah satu file konfigurasi. Selamat mencoba, dan ceritakan di kolom komentar untuk apa terowongan pertamamu dipakai!

Baca juga

Nevacloud VPS Indonesia

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *