Cara Setup WireGuard VPN di VPS Ubuntu untuk Akses Server Kantor
Oleh Anang H. Darmawan

Foto: Jordan Harrison / Unsplash
Membuka port SSH atau panel admin ke internet supaya tim bisa kerja dari rumah sering berujung log fail2ban yang penuh percobaan login. Cara yang lebih rapi adalah menaruh layanan internal di balik VPN, sehingga hanya perangkat yang punya kunci yang bisa masuk. WireGuard cocok untuk ini karena konfigurasinya pendek dan sudah ada di kernel Linux modern.
Kenapa WireGuard, bukan OpenVPN
OpenVPN masih banyak dipakai dan tidak salah. Bedanya ada di kesederhanaan. Satu tunnel WireGuard cukup ditulis dalam satu file konfigurasi belasan baris, tanpa sertifikat CA dan tanpa daftar cipher yang harus dipilih sendiri. Autentikasinya memakai pasangan kunci publik dan privat, mirip SSH key.
WireGuard berjalan di kernel dan memakai UDP, jadi koneksi pulih dengan cepat saat laptop atau HP berpindah jaringan. Untuk tim kecil yang butuh akses ke beberapa server, fiturnya sudah lebih dari cukup.
Langkah garis besar di server
Pasang paketnya dengan sudo apt install wireguard. Lalu buat pasangan kunci server dengan wg genkey | tee server_private.key | wg pubkey > server_public.key. Beri file kunci privat izin 600, dan jangan pernah menyalinnya ke chat atau repo.
Buat file /etc/wireguard/wg0.conf. Bagian [Interface] berisi Address untuk IP tunnel server (misalnya 10.8.0.1/24), ListenPort = 51820, dan PrivateKey server. Setiap perangkat klien menjadi satu blok [Peer] yang berisi PublicKey milik klien dan AllowedIPs berupa IP tunnel klien itu, misalnya 10.8.0.2/32.
Kalau klien harus bisa menjangkau jaringan di belakang server, aktifkan IP forwarding dengan menambahkan net.ipv4.ip_forward=1 di /etc/sysctl.conf lalu jalankan sudo sysctl -p. Setelah itu nyalakan tunnel dengan sudo wg-quick up wg0, dan jadikan otomatis saat boot dengan sudo systemctl enable wg-quick@wg0.
Terakhir, firewall. Jalankan sudo ufw allow 51820/udp. Kalau UFW belum aktif, izinkan SSH dulu (sudo ufw allow OpenSSH) sebelum ufw enable, supaya kamu tidak mengunci diri sendiri dari server.
Memahami AllowedIPs
AllowedIPs adalah bagian yang paling sering disalahpahami karena perannya ganda. Di sisi server, ia menentukan IP sumber mana yang diterima dari peer itu. Di sisi klien, ia menentukan lalu lintas mana yang dikirim lewat tunnel.
Isi AllowedIPs = 0.0.0.0/0 di klien berarti semua trafik internet ikut lewat VPS (full tunnel), dan server butuh aturan NAT atau masquerade supaya trafik itu bisa keluar ke internet. Kalau tujuannya hanya akses server kantor, cukup isi subnet tunnel, misalnya 10.8.0.0/24, ditambah subnet LAN kantor. Ini disebut split tunnel: browsing tetap lewat internet lokal, hanya trafik ke server kantor yang masuk VPN.
Supaya klien bisa menjangkau LAN kantor, harus ada satu perangkat di kantor (mini PC atau server) yang ikut jadi peer dan meneruskan subnet LAN itu. Di konfigurasi server, subnet LAN tersebut dimasukkan ke AllowedIPs milik peer kantor.
Kesalahan umum yang bikin koneksi gagal
Kalau handshake tidak pernah terjadi, cek dulu firewall di panel penyedia VPS. Banyak provider punya firewall atau security group sendiri di luar UFW, dan port UDP 51820 harus dibuka di sana juga. Perintah sudo wg show menampilkan baris latest handshake. Kalau baris itu tidak muncul, paket dari klien belum sampai.
Kalau handshake berhasil tapi ping ke LAN gagal, biasanya IP forwarding belum aktif atau aturan routing di perangkat kantor belum ada. Klien di belakang NAT yang koneksinya putus setelah diam beberapa menit bisa ditolong dengan PersistentKeepalive = 25 di blok [Peer] konfigurasi klien.
Kesalahan sepele yang sering terjadi: IP tunnel yang sama dipakai dua klien. WireGuard tidak protes, tapi salah satu perangkat akan terus kehilangan koneksi.
Dari satu klien ke satu tim
Menambah klien secara manual berarti mengulang generate key, menulis blok [Peer], lalu mengirim konfigurasi ke tiap orang. Untuk dua perangkat masih wajar, untuk sepuluh mulai rawan salah ketik. Setup WireGuard VPN 1-command menyiapkan server WireGuard sekaligus membuat konfigurasi klien lengkap dengan kode QR untuk dipindai dari HP, disertai panduan pemakaian dan catatan keamanan (Rp200.000).
VPN hanya satu lapisan. Server yang menjalankannya tetap perlu SSH yang dikunci, firewall, fail2ban, dan update keamanan otomatis. Auto-hardening Ubuntu 1-command mengatur semua itu dalam satu perintah (Rp150.000). Kalau kamu lebih suka server disiapkan lalu diserahkan dalam kondisi siap pakai, lihat jasa setup, hardening, dan automation VPS.
Mulai dari yang kecil: satu VPS, satu laptop, satu tunnel. Setelah sudo wg show menampilkan handshake dan kamu bisa SSH lewat 10.8.0.1, baru tutup port SSH publik di firewall.
