WireGuard adalah protokol VPN modern yang cepat, kecil, dan mudah dikonfigurasi. Menjalankan WireGuard sendiri di VPS memberi Anda terowongan terenkripsi ke server di negara pilihan Anda, tanpa perusahaan VPN pihak ketiga di tengahnya. Panduan ini memakai Ubuntu 24.04 atau Debian 12/13 dan mengasumsikan Anda sudah mengamankan server.
1. Pasang WireGuard
sudo apt update
sudo apt install -y wireguard
2. Buat kunci server
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
umask 077 memastikan file kunci hanya bisa dibaca oleh root. Jaga server.key tetap privat.
3. Buat kunci klien
Buat pasangan kunci untuk laptop atau ponsel Anda di server dan salin konfigurasi klien setelahnya:
wg genkey | tee client1.key | wg pubkey > client1.pub
4. Tulis konfigurasi server
Pertama, cari nama antarmuka jaringan publik Anda:
ip route get 1.1.1.1 | awk '{print $5; exit}'
Biasanya eth0 atau ens3. Buat /etc/wireguard/wg0.conf dan ganti nilai berhuruf kapital dengan milik Anda:
[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 ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE
[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
Tempel isi server.key dan client1.pub di tempat yang ditunjukkan, dan ganti ETH_IF dengan nama antarmuka Anda.
5. Aktifkan IP forwarding
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
6. Buka firewall
sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload
7. Jalankan terowongan
sudo systemctl enable --now wg-quick@wg0
sudo wg show
Anda akan melihat antarmuka dan, setelah klien terhubung, handshake terbarunya.
8. Konfigurasikan klien
Di perangkat Anda, buat konfigurasi seperti ini (aplikasi WireGuard resmi untuk Windows, macOS, Linux, iOS, dan Android dapat mengimpornya dari file atau kode QR):
[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Memakai AllowedIPs = 0.0.0.0/0, ::/0 mengirim semua lalu lintas melalui terowongan. Untuk menjangkau jaringan privat Anda saja, gunakan 10.8.0.0/24.
9. Uji
- Aktifkan terowongan di klien.
- Jalankan
sudo wg showdi server dan pastikan ada handshake terbaru. - Buka halaman "what is my IP" dari klien. Seharusnya menampilkan alamat server Anda.
- Periksa kebocoran DNS jika privasi adalah tujuannya, dan tambahkan aturan IPv6 jika server Anda memiliki IPv6.
Menambah perangkat lain
Untuk setiap perangkat baru, buat pasangan kunci, tambahkan blok [Peer] lain dengan alamat baru seperti 10.8.0.3/32, dan jalankan sudo wg syncconf wg0 <(wg-quick strip wg0) untuk menerapkannya tanpa memutus koneksi yang ada.
Memilih lokasi
Server WireGuard berfungsi dari lokasi kami mana pun. Pilih yang dekat dengan Anda untuk kecepatan, atau di negara yang alamat IP-nya ingin Anda gunakan untuk lalu lintas Anda. Lihat cara memilih lokasi VPS. VPS kecil lebih dari cukup untuk terowongan pribadi.