Panduan

Jalankan VPN Anda Sendiri di VPS Luar Negeri

VPN komersial meminta Anda mempercayai kebijakan tanpa-log yang ditulis oleh departemen pemasaran mereka. VPS Anda sendiri tidak memiliki apa pun untuk dicatat kecuali yang Anda konfigurasi. Berikut pengaturan WireGuard lengkap — dan daftar jujur tentang komprominya.

Mengapa self-hosted mengalahkan VPN komersial

"Tanpa log" VPN komersial adalah kebijakan. Tanpa-log VPS Anda sendiri adalah arsitektur. Perbedaan itu lebih penting daripada lencana audit mana pun:

  • Penyedia VPN melihat semuanya secara desain. Lalu lintas ribuan pengguna berakhir di server yang sepenuhnya dikendalikan perusahaan. Perintah yang disegel ditambah perubahan logging yang diam-diam tidak terlihat oleh Anda — dan ini pernah terjadi sebelumnya, pada penyedia yang pernah Anda dengar.
  • Di VPS Anda sendiri, Anda mengendalikan seluruh tumpukan. sshd Anda, disk Anda, konfigurasi WireGuard Anda. Kami tidak menjalankan apa pun di dalam guest Anda dan tidak menyimpan log aktivitas atau koneksi di sisi jaringan. Kami tidak dapat melihat ke dalam VPS Anda; perusahaan VPN justru didefinisikan oleh kemampuannya melihat ke dalam terowongannya.
  • Yurisdiksi bekerja untuk Anda. Titik keluar Anda berada di tempat Anda deploy — di luar aliansi pengawasan jika Anda pilih, diatur oleh pengadilan yurisdiksi hosting, bukan negara asal perusahaan VPN.

Dan penyeimbang yang jujur: VPN self-hosted memiliki IP khusus yang sepenuhnya milik Anda. Situs web tidak akan menandainya sebagai VPN (peningkatan kualitas hidup yang nyata), tetapi semua lalu lintas Anda berbagi satu alamat — Anda tidak menyatu dalam kerumunan ribuan orang. Jika anonimitas kerumunan adalah syaratnya, gunakan Tor. Jika infrastruktur tepercaya adalah syaratnya, tidak ada yang mengalahkan mesin yang Anda kendalikan.

Apa yang kami bangun

Ponsel dan laptop → terowongan WireGuard → SV-Pro di lokasi pilihan Anda → internet terbuka. Penerusan IPv4 dengan NAT di server, routing full-tunnel di klien (0.0.0.0/0), DNS melalui 9.9.9.9. Contoh IP server: 185.220.101.14 — ganti dengan milik Anda. OS dasar adalah Debian 13; jika Anda belum mengeraskan mesin, lakukan checklist 30 menit dulu, lalu kembali.

Pengaturan server di Debian 13

Instal dan buat kunci

apt update && apt install -y wireguard qrencode

cd /etc/wireguard
umask 077

# server keypair
wg genkey | tee server.key | wg pubkey > server.pub

# one keypair per client device (laptop shown; repeat for phone)
wg genkey | tee laptop.key | wg pubkey > laptop.pub

Membuat kunci klien di server dapat diterima untuk pengaturan pertama karena Anda mentransfer konfigurasi melalui SSH. Untuk kebersihan yang lebih ketat, buat kunci di setiap perangkat dan tempel hanya kunci publik ke konfigurasi server.

Tulis wg0.conf

# /etc/wireguard/wg0.conf
[Interface]
Address    = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.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

# laptop
[Peer]
PublicKey  = <contents of laptop.pub>
AllowedIPs = 10.10.0.2/32

# phone — repeat the block with 10.10.0.3/32

Periksa nama antarmuka uplink Anda dengan ip route | grep default — pada image VPSRento itu eth0, tetapi jika milik Anda berbeda, sesuaikan baris MASQUERADE.

Aktifkan penerusan dan mulai

# turn on IPv4 forwarding, persist across reboots
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl -p /etc/sysctl.d/99-wireguard.conf

# firewall: one UDP port, nothing else
ufw allow 51820/udp comment 'WireGuard'

# bring it up, now and on boot
systemctl enable --now wg-quick@wg0
wg show

wg show harus mencetak antarmuka, port listening, dan peer Anda. Belum ada baris handshake — itu muncul saat klien terhubung.

Konfigurasi klien

Di laptop, laptop.conf:

[Interface]
PrivateKey = <contents of laptop.key>
Address    = 10.10.0.2/32
DNS        = 9.9.9.9

[Peer]
PublicKey           = <contents of server.pub>
AllowedIPs          = 0.0.0.0/0, ::/0
Endpoint            = 185.220.101.14:51820
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 merutekan semuanya melalui tunnel — ubah menjadi split tunnel nanti jika Anda menginginkannya. PersistentKeepalive menjaga jalur tetap hidup melalui NAT rumah. Untuk ponsel, jangan ketik apa pun: buat file konfigurasi ponsel di server dan render sebagai kode QR di terminal Anda:

# prints a scannable QR in the terminal — scan it with the WireGuard app
qrencode -t ansiutf8 < phone.conf

Aktifkan, lalu verifikasi dari klien mana pun: curl ifconfig.me harus menjawab dengan IP VPS Anda, dan uji kebocoran DNS harus menunjukkan operator 9.9.9.9 — bukan ISP Anda.

Catatan kinerja

WireGuard hidup di kernel dan menggunakan ChaCha20 — pada node AMD EPYC, satu tunnel secara realistis memindahkan 600–900 Mbps melalui NAT, yang artinya ia menjenuhkan port jauh sebelum membebani CPU. Batasan sesungguhnya tidak pernah cipher; melainkan ketentuan bandwidth paket. VPN murni soal bandwidth: setiap gigabyte yang Anda unduh dihitung sekali masuk dan sekali keluar. Pada paket bermeter, hitungan itu penting. Pada SV-Pro — $19.99/bln, tanpa batas pada 1 Gbps — itu tidak penting, itulah mengapa SV-Pro adalah paket yang kami arahkan untuk pembangun VPN. Satu pelanggan menjalankan pengaturan keluarga penuh pada satu SV-Pro di Amsterdam dan belum menemukan batasnya.

Multi-hop: masuk di Amsterdam, keluar di Reykjavik

Untuk lapisan kedua, rantai dua VPS lintas yurisdiksi. Node masuk di Belanda (latensi murah ke Anda), tunnel WireGuard antara kedua server, node keluar di Islandia (yurisdiksi yang sebenarnya Anda inginkan untuk asal lalu lintas Anda). Perangkat Anda melihat satu endpoint di Amsterdam; internet melihat IP di Reykjavik; node masuk hanya melihat ciphertext yang lewat. Secara mekanis, ini adalah konfigurasi yang sama yang baru saja Anda tulis, dua kali — antarmuka wg kedua di node masuk yang rute defaultnya menunjuk ke tunnel keluar. Biayanya sekitar 40–60ms latensi tambahan dan satu $5.99–6.89 VPS lagi. Sebanding ketika model ancaman Anda punya anggaran; dekorasi ketika tidak.

Keterbatasan yang jujur

  • Anda adalah operatornya sekarang. Pembaruan, rotasi kunci, dan uptime adalah tanggung jawab Anda. unattended-upgrades dan daftar periksa hardening mencakup sebagian besar; sisanya adalah apt upgrade sesekali pada hari Minggu.
  • Satu IP adalah satu identitas. Pengamat dapat mengkorelasikan semua yang keluar dari alamat Anda. Saat itu penting, redeploy di lokasi lain — 55 detik kemudian Anda memiliki exit baru dan IP baru yang diperiksa terhadap 40+ daftar hitam.
  • VPS bukan Tor. Pengaturan ini melindungi Anda dari ISP, dari Wi-Fi yang tidak bersahabat, dan dari perusahaan VPN. Terhadap lawan tingkat negara yang mengawasi kedua ujung tunnel, korelasi waktu ada. Ketahui pertarungan mana yang Anda hadapi.

Tunnel Anda. Log Anda: tidak ada.

SV-Pro — 4 vCPU, 8 GB RAM, unmetered 1 Gbps — adalah pilihan para pembangun VPN seharga $19.99/bln. Root dalam 55 detik.

Bahasa Indonesia