Belajar WireGuard - Site-to-Site VPN
Episode 9 of 23

Belajar WireGuard - Site-to-Site VPN

Episode ini membahas VPN site-to-site: menghubungkan dua jaringan LAN kantor lewat tunnel WireGuard. Kalian mempelajari topologi full mesh dan hub-and-spoke, konfigurasi dua server WireGuard, routing antar subnet, dan aturan firewall yang dibutuhkan.

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

Pendahuluan

Sejauh ini tunnel kalian hanya menghubungkan dua perangkat. Sekarang kita naik level: menghubungkan dua jaringan — subnet LAN kantor di dua lokasi — sehingga perangkat di lokasi A bisa bicara dengan perangkat di lokasi B seperti berada di jaringan yang sama.

Episode 9 membahas VPN site-to-site: memilih topologi, mengonfigurasi dua server WireGuard di masing-masing situs, menyusun routing antar subnet, dan memasang aturan firewall yang membuka jalan antar LAN. Akhir episode, kalian akan punya dua kantor yang saling terhubung mulus.

Memilih Topologi

Full Mesh untuk Dua Situs

Untuk dua situs, full mesh adalah pilihan paling langsung: setiap situs punya peer ke situs lain, dan semua trafik antar situs mengalir langsung tanpa perantara. Dengan dua situs, konfigurasi hanya membutuhkan satu [Peer] di masing-masing sisi.

Hub-and-Spoke untuk Banyak Situs

Jika nanti ada tiga situs atau lebih, pertimbangkan hub-and-spoke: satu situs menjadi hub pusat, dan semua situs lain terhubung hanya ke hub. Trafik antar spoke diteruskan hub. Topologi ini menyederhanakan konfigurasi per situs (hanya satu peer), tetapi menambah latensi karena setiap paket melewati hub. Detailnya kita bahas di episode 11.

Konfigurasi Dua Server

Skema Alamat

Misalkan kantor A memakai LAN 10.1.0.0/24 dan kantor B memakai 10.2.0.0/24. Kita alokasikan dua alamat tunnel: 10.9.0.1 untuk gateway WireGuard kantor A dan 10.9.0.2 untuk kantor B.

wg0.conf di Kantor A

wg0.conf kantor A
[Interface]
Address = 10.9.0.1/30
ListenPort = 51820
PrivateKey = <kunci privat A>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
 
[Peer]
PublicKey = <kunci publik B>
AllowedIPs = 10.2.0.0/24, 10.9.0.2/32
Endpoint = 203.0.113.2:51820

AllowedIPs = 10.2.0.0/24, 10.9.0.2/32 berarti trafik menuju LAN B dan alamat tunnel B masuk lewat peer ini. Perhatikan PostUp membuka FORWARD untuk interface wg0, karena fungsi gateway tidak hanya menerima paket untuk dirinya sendiri.

wg0.conf di Kantor B

wg0.conf kantor B
[Interface]
Address = 10.9.0.2/30
ListenPort = 51820
PrivateKey = <kunci privat B>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
 
[Peer]
PublicKey = <kunci publik A>
AllowedIPs = 10.1.0.0/24, 10.9.0.1/32
Endpoint = 203.0.113.1:51820

Perhatikan bahwa AllowedIPs di setiap sisi mendeklarasikan subnet jaringan situs lawan, bukan hanya alamat tunnel. Inilah yang membuat perangkat di balik gateway ikut ter-route lewat tunnel.

Routing dan Firewall

Forwarding di Kedua Gateway

Gateway WireGuard harus meneruskan paket antar interface. Aktifkan forwarding kernel dan jangan lupa mempersistenkannya:

Aktifkan forwarding di kedua situs
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wg-forward.conf

Aturan Firewall Antar Situs

Selain FORWARD dari wg0, pastikan firewall menerima paket masuk dari interface LAN dan meneruskannya ke tunnel. Gunakan nftables untuk kebijakan yang jelas:

Kebijakan nftables untuk site-to-site
table inet wg {
    chain forward {
        type filter hook forward priority 0; policy drop;
        iifname "wg0" accept
        oifname "wg0" accept
    }
}

Kebijakan iifname "wg0" accept dan oifname "wg0" accept di atas menerima paket yang masuk dan keluar lewat wg0, sementara trafik lain tetap di-drop. Simpan kebijakan dengan nft -f file.conf dan muat saat boot.

Verifikasi Koneksi Antar Situs

Setelah kedua gateway naik, uji dari kantor A:

Tes koneksi antar LAN
ping -c 3 10.9.0.2
ping -c 3 10.2.0.10
sudo wg show wg0

Ping pertama menguji tunnel, ping kedua menguji forwarding ke perangkat nyata di LAN B. Jika ping ke 10.9.0.2 berhasil tapi ke 10.2.0.10 tidak, periksa aturan FORWARD di gateway B.

Penutup

Episode 9 menyelesaikan VPN site-to-site: memilih topologi, mengonfigurasi dua gateway WireGuard dengan AllowedIPs berisi subnet LAN lawan, mengaktifkan forwarding, dan memasang aturan firewall yang meneruskan trafik antar situs.

Inti yang harus dibawa pulang:

  • AllowedIPs di site-to-site berisi subnet LAN lawan, bukan hanya alamat tunnel.
  • Full mesh cocok untuk dua situs; hub-and-spoke untuk banyak situs.
  • Kedua gateway wajib mengaktifkan net.ipv4.ip_forward=1.
  • Aturan FORWARD diperlukan agar paket bisa diteruskan lewat wg0.
  • Gunakan nftables dengan policy drop dan izinkan wg0 secara eksplisit.

Di episode 10 selanjutnya kita membahas client-to-site remote access — menghubungkan laptop dan perangkat seluler ke jaringan kantor, membedakan split tunnel dan full tunnel, mengelola kunci per client, serta memperkenalkan alat manajemen seperti wg-dashboard dan Firezone.