Cara Menyiapkan VPN WireGuard di VPS Anda

Ditulis oleh tim ApexVPS • Terakhir diperbarui: Juli 2026 • 9 menit membaca

Tutorial penyiapan VPS WireGuard ini menunjukkan cara membangun VPN pribadi, cepat, dan modern Anda sendiri di server Ubuntu atau Debian. WireGuard adalah protokol VPN ringan yang tertanam di kernel Linux, sehingga jauh lebih sederhana daripada OpenVPN atau IPsec sambil tetap memberikan kriptografi kuat dan terkini. Pada akhirnya, Anda akan memiliki server yang berjalan, setidaknya satu klien yang terhubung, dan kendali penuh atas terowongan terenkripsi Anda sendiri — tanpa perlu berlangganan VPN pihak ketiga.

Menjalankan WireGuard di mesin Anda sendiri berarti lalu lintas berakhir di perangkat keras yang Anda sewa, bukan di titik akhir VPN konsumen yang padat. Jika Anda ingin melihat lebih dalam mengapa kotak pribadi adalah basis yang lebih baik untuk ini, baca panduan kami tentang memilih VPS untuk VPN pribadi sebelum Anda mulai.

Yang Anda butuhkan sebelum memulai

Titik akhir yang stabil dan tanpa kontensi penting untuk VPN, itulah mengapa sumber daya khusus yang sesungguhnya mengalahkan hosting bersama yang overprovisioned. IPv4 khusus tersedia di paket Business dan Enterprise ApexVPS, memberi terowongan Anda alamat yang tidak dibagikan dengan siapa pun.

Langkah 1: Perbarui sistem dan instal WireGuard

Mulailah dengan menyegarkan indeks paket dan menginstal alat ruang pengguna WireGuard. Pada kernel modern, ini adalah satu-satunya paket yang Anda butuhkan.

sudo apt update
sudo apt install wireguard -y

Ini menginstal wg dan wg-quick, dua perintah yang mengelola kunci, antarmuka, dan konfigurasi. Anda dapat mengonfirmasi instalasi dengan wg --version.

Langkah 2: Buat kunci server

WireGuard mengautentikasi peer dengan pasangan kunci publik/privasi, mirip seperti SSH. Pindah ke direktori konfigurasi, perketat izin file dengan umask, dan buat kunci dalam satu langkah.

cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key

Baris umask 077 memastikan kunci privat hanya dapat dibaca oleh root. Cetak kedua nilai tersebut agar Anda bisa menempelkannya ke konfigurasi berikutnya.

sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

Jaga kerahasiaan kunci privat. Siapa pun yang memegangnya dapat menyamar sebagai server Anda.

Langkah 3: Buat konfigurasi server (wg0.conf)

Antarmuka server dijelaskan dalam satu file, /etc/wireguard/wg0.conf. Buat file tersebut dengan editor pilihan Anda:

sudo nano /etc/wireguard/wg0.conf

Tempel blok di bawah, ganti <SERVER_PRIVATE_KEY> dengan kunci privat dari Langkah 2 dan eth0 dengan nama antarmuka asli Anda jika berbeda.

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

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

Di sini 10.8.0.1/24 adalah subnet VPN privat, 51820/udp adalah port pendengar, dan aturan PostUp/PostDown menambah dan menghapus NAT sehingga lalu lintas klien disamarkan melalui antarmuka publik server. Untuk menemukan nama antarmuka Anda, jalankan:

ip route list default

Kata setelah dev pada output (sering kali eth0, ens3, atau enp1s0) adalah antarmuka yang digunakan pada dua baris firewall di atas.

Langkah 4: Aktifkan IP forwarding dan NAT

Secara default, Linux tidak akan merutekan paket antar antarmuka, jadi kernel harus diinstruksikan untuk melakukan forwarding. Aktifkan secara persisten dengan file drop-in sysctl.

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf

Jika Anda juga merutekan IPv6 melalui tunnel, tambahkan net.ipv6.conf.all.forwarding = 1 ke file yang sama. Aturan MASQUERADE dari Langkah 3 menangani NAT itu sendiri, jadi begitu forwarding aktif, jalur routing selesai.

Buka port firewall

Izinkan port UDP WireGuard. Jika Anda menggunakan ufw, jalankan perintah berikut, dan pastikan SSH tetap terbuka agar Anda tidak terkunci.

sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable

Jika Anda mengelola aturan langsung dengan iptables daripada ufw, baris PostUp sudah menambahkan aturan forwarding dan NAT; Anda hanya perlu memastikan UDP 51820 masuk diizinkan oleh firewall host atau grup keamanan penyedia.

Langkah 5: Mulai WireGuard dengan systemd

wg-quick dilengkapi dengan template layanan systemd, jadi Anda dapat memulai tunnel sekarang dan memastikannya aktif otomatis setelah reboot.

sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0

Flag enable --now memulai antarmuka sekaligus mengaturnya untuk aktif saat boot. Pemeriksaan cepat memastikan antarmuka aktif:

sudo wg show

Anda akan melihat antarmuka wg0 dengan kunci publik dan port pendengar. Belum ada peer — itu langkah berikutnya.

Langkah 6: Tambahkan klien (peer)

Setiap perangkat yang terhubung adalah peer dengan pasangan kuncinya sendiri. Buat pasangan kunci untuk klien pertama Anda:

wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key

Sekarang daftarkan klien di server. Tambahkan blok [Peer] ke /etc/wireguard/wg0.conf, menggunakan kunci publik klien dan alamat bebas berikutnya di subnet VPN.

[Peer]
PublicKey = <CLIENT1_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Muat ulang antarmuka agar peer baru berlaku:

sudo systemctl restart wg-quick@wg0

Lebih suka tidak menghentikan tunnel? Anda dapat menambahkan peer secara langsung tanpa restart:

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

Langkah 7: Buat konfigurasi klien dan kode QR

Di server, susun file konfigurasi klien. Inilah yang akan dimuat perangkat — laptop atau ponsel. Ganti placeholder dengan kunci privat klien serta kunci publik dan IP publik server.

[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Menyetel AllowedIPs = 0.0.0.0/0, ::/0 merutekan semua lalu lintas klien melalui tunnel — perilaku VPN penuh klasik. PersistentKeepalive = 25 menjaga koneksi tetap hidup melalui NAT dan firewall. Simpan ini sebagai client1.conf.

Untuk desktop, salin client1.conf ke mesin dan impor ke klien WireGuard resmi. Untuk ponsel, render file sebagai kode QR yang dapat dipindai langsung di terminal:

sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf

Buka aplikasi WireGuard di Android atau iOS, pilih "Tambah tunnel" lalu "Pindai dari kode QR," dan tunnel terimpor dalam hitungan detik. Aplikasi dan klien resmi semuanya tertaut dari wireguard.com.

Langkah 8: Verifikasi tunnel

Aktifkan tunnel di klien, lalu konfirmasi handshake di server. Koneksi yang sehat menunjukkan handshake terbaru dan penghitung transfer yang meningkat.

sudo wg show

Cari timestamp latest handshake dan nilai transfer yang bukan nol di bawah peer Anda. Terakhir, verifikasi dari klien bahwa IP publik Anda sekarang adalah IP server:

curl ifconfig.me

Jika itu mengembalikan alamat VPS, lalu lintas Anda mengalir melalui tunnel dan pengaturan VPS WireGuard selesai. Untuk menambahkan perangkat lain, ulangi Langkah 6 dan 7 dengan pasangan kunci baru dan alamat berikutnya dalam rentang 10.8.0.0/24.

Memecahkan masalah koneksi yang tidak mau muncul

Jika wg show tidak pernah melaporkan handshake, periksa kemungkinan penyebabnya secara berurutan. Pertama, pastikan port benar-benar terbuka: dari mesin lain jalankan nc -uzv <SERVER_PUBLIC_IP> 51820, dan periksa bahwa security group atau firewall penyedia Anda mengizinkan UDP 51820 masuk, bukan hanya TCP. Kedua, pastikan IP forwarding benar-benar diaktifkan dengan sysctl net.ipv4.ip_forward — seharusnya mengembalikan 1. Ketiga, periksa ulang bahwa nama antarmuka dalam aturan NAT PostUp cocok dengan output dari ip route list default; ketidakcocokan adalah alasan paling umum lalu lintas terautentikasi tetapi tidak pernah mencapai internet. Terakhir, verifikasi bahwa kunci tidak tertukar: konfigurasi server menyimpan kunci privat server dan kunci publik klien, sedangkan konfigurasi klien mencerminkan pengaturan itu. Satu kunci yang salah tempat akan diam-diam memblokir handshake.

Memilih VPS yang tepat untuk WireGuard

WireGuard sendiri sangat ringan — protokolnya hampir tidak menyentuh CPU — jadi bahkan paket entry-level dapat menjalankan VPN pribadi dengan nyaman. Yang benar-benar memengaruhi pengalaman adalah jaringan: bandwidth, latensi ke wilayah Anda, dan apakah IP tersebut milik Anda sendiri. ApexVPS berjalan pada vCPU, RAM, dan penyimpanan NVMe yang benar-benar khusus di 39 lokasi, dengan latensi rendah di wilayah utama, sehingga throughput tetap dapat diprediksi daripada merosot di bawah tetangga yang bising.

Jika Anda ingin tunnel berada di alamat yang stabil dan tidak digunakan bersama, IPv4 khusus sudah termasuk dalam paket Business dan Enterprise. Dan karena privasi cenderung menjadi alasan utama untuk self-hosting VPN, perlu dicatat cara Anda mendaftar: ApexVPS adalah VPS tanpa KYC dengan pendaftaran hanya email dan pembayaran hanya crypto melalui OxaPay, menerima Bitcoin, Ethereum, USDT, dan 30+ cryptocurrency — tanpa nama, alamat, kartu kredit, atau rekening bank.

Pertanyaan yang sering diajukan

Apakah WireGuard sulit diatur di VPS?

Tidak. WireGuard menggunakan file konfigurasi yang kecil dan mudah dibaca serta sejumlah perintah standar. Di VPS Ubuntu atau Debian baru, Anda dapat menginstalnya, membuat kunci, menulis wg0.conf, dan menghubungkan klien pertama Anda dalam waktu sekitar sepuluh hingga lima belas menit.

Apakah saya memerlukan IP khusus untuk VPN WireGuard?

IP khusus tidak wajib, tetapi memberikan endpoint yang stabil untuk tunnel Anda yang tidak digunakan bersama pelanggan lain. Di ApexVPS, IPv4 khusus termasuk dalam paket Business, dengan dua di Enterprise.

Versi Ubuntu dan Debian mana yang mendukung WireGuard?

WireGuard sudah tertanam di kernel Linux sejak versi 5.6, jadi Ubuntu 20.04 dan yang lebih baru serta Debian 11 dan yang lebih baru sudah memasukkannya. Anda hanya perlu menginstal alat userspace dengan apt.

Bisakah saya menggunakan server yang sama di ponsel saya?

Ya. Tambahkan peer kedua untuk ponsel, buat konfigurasi klien, dan render sebagai kode QR dengan qrencode. Aplikasi resmi WireGuard untuk Android dan iOS memindai kode dan terhubung secara instan.

Bisakah saya membayar VPS tanpa kartu kredit?

Ya. Checkout ApexVPS hanya crypto dan menerima Bitcoin, Ethereum, USDT, dan 30+ cryptocurrency. Pendaftaran hanya meminta email agar kami dapat mengirim detail akses — tanpa nama, alamat, atau ID.

Siap meng-host VPN Anda sendiri? Lihat mengapa ApexVPS dibuat untuk VPN pribadi →