Menghubungkan Kantor Cabang dengan Tunnel WireGuard
Langkah membuat tunnel WireGuard site-to-site antara kantor pusat dan cabang: rencana subnet, konfigurasi Linux dan MikroTik, rute, dan firewall.
Jawaban singkat
Tentukan subnet yang tidak bentrok, pasang WireGuard di router atau gateway kedua kantor, masukkan subnet lawan di AllowedIPs, aktifkan IP forwarding dan rute, lalu buka port UDP di sisi yang punya IP publik. Bila kedua kantor di balik CGNAT, pakai VPS sebagai titik temu.
Daftar isi
- Contoh pembagian alamat
- Langkah menyambungkan dua kantor
- 1. Pastikan subnet tidak bentrok
- 2. Tentukan sisi yang bisa dihubungi
- 3. Buat pasangan kunci di masing-masing gateway
- 4. Tulis konfigurasi di kantor pusat
- 5. Tulis konfigurasi di kantor cabang
- 6. Aktifkan IP forwarding dan jalankan tunnel
- 7. Buka firewall dan atur rute di router utama
- Bagaimana memastikan tunnel bekerja?
- Bagaimana bila router kantor memakai MikroTik?
- Topologi mana yang cocok?
- Pertanyaan yang sering diajukan
Perlu karyawan cabang membuka aplikasi kasir, printer, atau server file di kantor pusat seolah berada di gedung yang sama? Tunnel WireGuard site-to-site bisa melakukannya: dua jaringan kantor disambungkan lewat internet dengan enkripsi, tanpa perlu setiap laptop memasang aplikasi VPN.
Berbeda dengan WireGuard untuk akses remote yang menghubungkan satu perangkat ke kantor, site-to-site menghubungkan jaringan ke jaringan. Router atau gateway di masing-masing kantor yang memegang tunnel, perangkat lain cukup memakai rute biasa.
Contoh pembagian alamat
Contoh di bawah memakai pembagian alamat ini:
- Kantor pusat: LAN
192.168.10.0/24, gateway WireGuard bisa dijangkau dari internet dipusat.domainmu.com. - Kantor cabang: LAN
192.168.20.0/24, boleh berada di balik CGNAT. - Jaringan tunnel:
10.99.0.0/24, pusat10.99.0.1, cabang10.99.0.2.
Langkah menyambungkan dua kantor
1. Pastikan subnet tidak bentrok
Ini langkah yang paling sering dilewati. Bila kedua kantor sama-sama memakai 192.168.1.0/24 bawaan router, rute tidak akan pernah benar. Ubah salah satu LAN lebih dulu. Pilih rentang privat yang jarang dipakai, dan catat pembagiannya. Penjelasan rentang privat ada di apa itu IP privat, IP publik, dan NAT.
2. Tentukan sisi yang bisa dihubungi
WireGuard butuh setidaknya satu sisi yang bisa dijangkau dari internet di port UDP tertentu. Bila kantor pusat punya IP publik, pusat menjadi sisi penerima. Bila kedua kantor di balik CGNAT, sewa VPS kecil sebagai titik temu (hub): kedua kantor menyambung keluar ke VPS, dan VPS meneruskan lalu lintas di antara keduanya.
3. Buat pasangan kunci di masing-masing gateway
Di gateway Linux (Debian atau Ubuntu), pasang paket lalu buat kunci:
sudo apt install wireguard
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
Kunci privat tidak pernah keluar dari mesinnya. Yang ditukar antar kantor hanya kunci publik.
4. Tulis konfigurasi di kantor pusat
Berkas /etc/wireguard/wg0.conf di gateway pusat:
[Interface]
Address = 10.99.0.1/24
ListenPort = 51820
PrivateKey = <kunci privat pusat>
MTU = 1420
[Peer]
# kantor cabang
PublicKey = <kunci publik cabang>
AllowedIPs = 10.99.0.2/32, 192.168.20.0/24
AllowedIPs berfungsi ganda: daftar alamat yang boleh datang dari peer ini, sekaligus tujuan yang dikirim lewat peer ini. Karena itu subnet LAN cabang wajib dimasukkan.
5. Tulis konfigurasi di kantor cabang
[Interface]
Address = 10.99.0.2/24
PrivateKey = <kunci privat cabang>
MTU = 1420
[Peer]
# kantor pusat
PublicKey = <kunci publik pusat>
Endpoint = pusat.domainmu.com:51820
AllowedIPs = 10.99.0.1/32, 192.168.10.0/24
PersistentKeepalive = 25
PersistentKeepalive = 25 mengirim paket kecil setiap 25 detik agar sambungan NAT di sisi cabang tidak kedaluwarsa. Tanpa ini, kantor pusat tidak bisa memulai koneksi ke cabang yang berada di balik CGNAT setelah tunnel lama diam. Nilai MTU 1420 adalah bawaan wg-quick; alasan dan cara menyesuaikannya ada di apa itu MTU dan kenapa tunnel putus-putus.
6. Aktifkan IP forwarding dan jalankan tunnel
Di kedua gateway:
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
sudo systemctl enable --now wg-quick@wg0
wg-quick otomatis menambahkan rute untuk setiap alamat di AllowedIPs, jadi gateway pusat langsung tahu bahwa 192.168.20.0/24 lewat wg0.
7. Buka firewall dan atur rute di router utama
Di sisi pusat, izinkan UDP 51820 masuk. Bila ada router lain di depan gateway, teruskan port itu ke gateway. Izinkan juga lalu lintas forward antara antarmuka LAN dan wg0 di firewall gateway.
Bila gateway WireGuard bukan router utama LAN (misalnya server Linux di samping router), tambahkan rute statis di router utama: 192.168.20.0/24 lewat IP gateway WireGuard pusat, dan sebaliknya di cabang. Tanpa rute ini, paket balasan dari perangkat LAN akan dikirim ke internet, bukan ke tunnel.
Bagaimana memastikan tunnel bekerja?
Jalankan sudo wg show di kedua sisi. Baris latest handshake yang baru menandakan tunnel tersambung. Lalu dari komputer di cabang, ping IP printer atau server di pusat. Bila ping lolos tapi aplikasi macet saat membuka data besar, cek kembali MTU.
Bagaimana bila router kantor memakai MikroTik?
RouterOS v7 punya WireGuard bawaan. Konfigurasi setara di router pusat:
/interface wireguard add name=wg-cabang listen-port=51820 mtu=1420
/ip address add address=10.99.0.1/24 interface=wg-cabang
/interface wireguard peers add interface=wg-cabang public-key="<kunci publik cabang>" allowed-address=10.99.0.2/32,192.168.20.0/24
/ip route add dst-address=192.168.20.0/24 gateway=wg-cabang
Kunci publik router muncul di /interface wireguard print. Di router cabang, isi juga endpoint-address, endpoint-port=51820, dan persistent-keepalive=25s pada peer. Berbeda dengan wg-quick, RouterOS tidak menambahkan rute dari allowed-address, jadi rute ke subnet lawan harus dibuat manual seperti di atas. Jangan lupa aturan firewall input untuk UDP 51820 dan aturan forward antar subnet. Bila router masih RouterOS v6 yang belum mendukung WireGuard, pertimbangkan protokol lain, perbandingannya ada di WireGuard vs L2TP vs SSTP.
Topologi mana yang cocok?
| Kondisi kantor | Topologi | Catatan |
|---|---|---|
| Pusat punya IP publik, cabang tidak | Pusat sebagai penerima | Paling sederhana, cabang pakai keepalive |
| Kedua kantor punya IP publik | Langsung, salah satu jadi penerima | Bisa saling memulai koneksi |
| Kedua kantor di balik CGNAT | VPS sebagai hub | Lalu lintas lewat VPS, aktifkan forwarding di VPS |
| Banyak cabang | Hub di pusat atau VPS | Tambah satu blok [Peer] per cabang |
Pertanyaan yang sering diajukan
Apakah semua internet cabang ikut lewat kantor pusat?
Tidak, selama AllowedIPs hanya berisi subnet kantor pusat. Browsing dan aplikasi cloud tetap keluar lewat internet cabang sendiri. Bila diisi 0.0.0.0/0, semua lalu lintas akan lewat pusat.
Apakah cabang bisa saling terhubung lewat hub?
Bisa. Di setiap cabang, masukkan subnet cabang lain ke AllowedIPs peer hub, lalu pastikan hub mengizinkan forward antar peer dan punya rute ke semua subnet.
Bagaimana bila IP publik kantor pusat berubah-ubah?
Pakai nama domain dengan DNS dinamis sebagai Endpoint. WireGuard membaca nama itu saat tunnel dinyalakan, jadi setelah IP berubah tunnel di cabang perlu dimulai ulang atau dipantau dengan skrip.
Apakah WireGuard cukup aman untuk data bisnis?
WireGuard memakai kriptografi modern dan hanya menerima paket dari kunci yang dikenal. Keamanannya bergantung pada kerahasiaan kunci privat dan pembatasan firewall, jadi simpan kunci dengan izin ketat dan buka hanya akses yang dibutuhkan antar kantor.
Checklist sebelum dipakai karyawan:
- Subnet kedua kantor tidak bentrok.
wg showmenunjukkan handshake terbaru di kedua sisi.- Rute statis di router utama sudah benar.
- Firewall hanya membuka layanan yang dibutuhkan antar kantor.
- MTU sudah diuji dengan transfer berkas besar.


