Belajar WireGuard - Client-to-Site (Remote Access)
Episode 10 of 23

Belajar WireGuard - Client-to-Site (Remote Access)

Episode ini membahas remote access VPN: laptop dan perangkat seluler yang terhubung ke kantor lewat satu server WireGuard. Kalian mempelajari perbedaan split tunnel dan full tunnel, pengelolaan kunci per client, serta alat manajemen terpusat seperti wg-dashboard, Firezone, dan Netmaker.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Skenario paling umum di dunia nyata: karyawan yang bekerja dari rumah perlu mengakses server internal kantor. Di sinilah client-to-site atau remote access VPN berperan. Satu server WireGuard di kantor melayani banyak client, dan setiap client hanya punya satu peer di sisi server.

Episode 10 membahas cara menyusun skema ini: konfigurasi server, perbedaan split tunnel dan full tunnel dari sudut pandang client, pengelolaan kunci per client, dan alat bantu manajemen terpusat ketika jumlah client bertambah banyak.

Arsitektur Remote Access

Satu Server, Banyak Client

Server WireGuard di kantor memiliki satu interface wg0 dengan banyak [Peer] — satu per client. Setiap client mendapat alamat tunnel unik di subnet yang sama, dan server bertindak sebagai gerbang menuju jaringan kantor.

Server dengan dua client
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <kunci privat server>
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
 
[Peer]
PublicKey = <kunci publik laptop>
AllowedIPs = 10.0.0.2/32
 
[Peer]
PublicKey = <kunci publik hp>
AllowedIPs = 10.0.0.3/32

Setiap [Peer] memakai AllowedIPs /32 milik client-nya. Ini bukan sekadar kenyamanan: dengan cara ini, mencabut akses sebuah client cukup menghapus peer tersebut dari server.

Konfigurasi di Sisi Client

Client cukup mengenal server sebagai satu-satunya peer. Untuk split tunnel menuju jaringan kantor:

wg0.conf client split tunnel
[Interface]
Address = 10.0.0.2/24
PrivateKey = <kunci privat client>
 
[Peer]
PublicKey = <kunci publik server>
AllowedIPs = 10.0.0.0/24, 192.168.10.0/24
Endpoint = 203.0.113.5:51820
PersistentKeepalive = 25

PersistentKeepalive = 25 wajib di client karena hampir selalu berada di belakang NAT — seperti yang kita pelajari di episode 7.

Split Tunnel vs Full Tunnel

Kapan Memilih Split Tunnel

Split tunnel mengirim hanya trafik menuju subnet kantor lewat tunnel. Keuntungannya: browsing tetap lewat internet lokal yang cepat, bandwidth kantor tidak dibebani, dan video conference tidak menurun kualitasnya. Cocok untuk pekerjaan harian yang hanya butuh akses server internal.

Kapan Memilih Full Tunnel

Full tunnel dengan AllowedIPs = 0.0.0.0/0 mengirim seluruh trafik client lewat server kantor. Ini wajib ketika kebijakan keamanan mengharuskan semua trafik melewati proxy atau filtering kantor, atau ketika client berada di jaringan yang tidak tepercaya. Biayanya: bandwidth kantor menjadi jalan tunggal dan latensi seluruh trafik meningkat.

Pengelolaan Client

Men-generate Kunci per Client

Setiap client harus punya pasangan kunci sendiri. Jangan pernah berbagi kunci privat antar client, karena mencabut akses satu client akan ikut mencabut yang lain:

Siapkan keypair client baru
wg genkey | tee client-privatekey | wg pubkey > client-publickey
chmod 600 client-privatekey

Kunci privat disimpan di sisi client dengan chmod 600; kunci publik didaftarkan sebagai [Peer] di server.

Menambah dan Mencabut Client

Tambah client baru cukup dengan satu perintah di server:

Tambah peer client
sudo wg set wg0 peer <PUBLIK_CLIENT_BARU> allowed-ips 10.0.0.4/32

Cabut akses dengan menghapus peer:

Cabut akses client
sudo wg set wg0 peer <PUBLIK_CLIENT_LAMA> remove

Manajemen Terpusat

Saat Client Bertambah Banyak

Mengelola peer secara manual di file konfigurasi menjadi tidak praktis setelah puluhan client. Ada beberapa alat open-source yang menyediakan antarmuka dan API:

  • wg-dashboard: panel web sederhana untuk mengelola interface dan peer.
  • Firezone: akses berbasis WireGuard dengan autentikasi pengguna dan policy.
  • Netmaker: manajemen jaringan mesh WireGuard dengan fitur otomasi.

Ketiganya memanfaatkan WireGuard sebagai mesin tunnel dan menyediakan lapisan manajemen di atasnya. Untuk skala kecil, wg set dan file konfigurasi masih lebih dari cukup.

Penutup

Episode 10 menyelesaikan skema remote access: satu server WireGuard melayani banyak client, masing-masing dengan kunci dan alamat unik, memilih split tunnel atau full tunnel sesuai kebutuhan, dan menggunakan alat manajemen terpusat saat skala membesar.

Inti yang harus dibawa pulang:

  • Client punya AllowedIPs /32 sendiri di sisi server.
  • PersistentKeepalive = 25 wajib untuk client di belakang NAT.
  • Split tunnel hemat bandwidth; full tunnel menjamin semua trafik lewat kebijakan kantor.
  • Tiap client harus punya keypair sendiri.
  • Cabut akses cukup dengan menghapus peer di server.
  • wg-dashboard, Firezone, dan Netmaker membantu manajemen banyak client.

Di episode 11 selanjutnya kita membahas multi-peer dan hub topology — membangun hub-and-spoke dengan server sebagai pusat routing antar client, membandingkannya dengan full mesh, dan menghitung biaya scaling dari setiap pendekatan.

Belajar WireGuard - Client-to-Site (Remote Access) | Belajar WireGuard