Belajar WireGuard - Interface & Key Management
Episode 4 of 23

Belajar WireGuard - Interface & Key Management

Episode ini membahas pengelolaan kunci dan isi konfigurasi WireGuard secara menyeluruh: wg genkey, wg genpsk, serta setiap field di bagian [Interface] dan [Peer] seperti Address, ListenPort, AllowedIPs, Endpoint, dan PersistentKeepalive.

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

Pendahuluan

Di episode 3 kalian berhasil menaikkan interface wg0 pertama. Sekarang waktunya memahami setiap bagian yang selama ini kalian tulis: kunci-kunci yang menopang WireGuard dan makna setiap field di [Interface] dan [Peer]. Ini adalah fondasi untuk konfigurasi yang benar dan aman.

Episode 4 membedah tiga area: pengelolaan kunci (termasuk pre-shared key), bagian [Interface] yang mengatur identitas dan perilaku interface, dan bagian [Peer] yang mengatur setiap koneksi keluar masuk. Di akhir episode, dua VM kalian akan saling terhubung untuk pertama kalinya.

Key Management

Kunci Privat dan Kunci Publik

Kunci privat adalah sumber identitas interface, dan kunci publik diturunkan darinya. Selalu bangkitkan keduanya sekaligus dan simpan file kunci privat dengan permission ketat:

Generate pasangan kunci
umask 077
wg genkey | tee privatekey | wg pubkey > publickey

umask 077 memastikan file kunci tidak terbaca pengguna lain. Kunci privat di file privatekey, kunci publik untuk dibagikan di publickey. Publikkan kunci publik ke semua peer yang akan kalian ajak bicara.

Pre-Shared Key

WireGuard bisa ditambahkan lapisan keamanan ekstra berupa pre-shared key per peer. Fungsinya memperkuat kunci sesi terhadap skenario kunci privat yang bocor, dengan biaya bahwa kedua ujung harus berbagi rahasia yang sama:

Generate pre-shared key
wg genpsk

Hasilnya tempel ke PresharedKey di bagian [Peer] di kedua sisi. Perhatikan: pre-shared key ini per pasangan peer, bukan per interface.

Rotasi Kunci

Rotasi dilakukan dengan mengubah kunci privat interface dan memperbarui kunci publik di sisi peer. Perintah berikut menukar kunci privat secara live tanpa mematikan interface:

Rotasi kunci privat secara live
sudo wg set wg0 private-key /etc/wireguard/privatekey

Rotasi menyeluruh beserta strategi graceful rotation akan kita bahas tuntas di episode 12.

Bagian [Interface]

Setiap interface WireGuard didefinisikan di bagian [Interface]. Field yang paling umum:

  • Address: alamat tunnel yang dipasang ke interface saat wg-quick up.
  • ListenPort: port UDP yang dipakai mendengarkan. Default wg-quick memakai 51820.
  • PrivateKey: isi file kunci privat interface.
  • PostUp / PostDown: perintah yang dijalankan setelah interface naik dan sebelum turun.
  • Table: mengontrol tabel routing yang dipakai wg-quick; Table = off menonaktifkan penambahan rute otomatis.
Contoh bagian [Interface] lengkap
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = pS9S6eGJY8tVb3DkG5XwS9zHpN9lQfBcE5S6o+3Qn5k=
Table = auto
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

PostUp di atas dipakai untuk menyalakan masquerade NAT begitu interface naik, pola yang akan kita pakai berulang kali di episode 10 dan 14.

Bagian [Peer]

Field yang Tersedia

Setiap koneksi didefinisikan di bagian [Peer]:

  • PublicKey: kunci publik peer tujuan.
  • AllowedIPs: alamat yang di-rute ke peer ini (jantung cryptokey routing).
  • Endpoint: alamat IP publik dan port UDP tempat peer bisa dijangkau.
  • PersistentKeepalive: interval detak jantung dalam detik untuk menembus NAT.
  • PresharedKey: rahasia bersama opsional yang menambah kekuatan kunci sesi.

Menghubungkan Dua VM

Saatnya menghubungkan server dan client. Di server, tambahkan peer client; di client, tambahkan peer server:

Tambah peer di server
sudo wg set wg0 peer <PUBLIK_CLIENT> allowed-ips 10.0.0.2/32

Di client, konfigurasi dibentuk dari field yang sama:

wg0.conf di sisi client
[Interface]
Address = 10.0.0.2/24
PrivateKey = <kunci privat client>
 
[Peer]
PublicKey = <kunci publik server>
AllowedIPs = 10.0.0.0/24
Endpoint = 203.0.113.5:51820

AllowedIPs = 10.0.0.0/24 di sisi client berarti semua alamat subnet tunnel milik server. Setelah kedua sisi punya peer satu sama lain, test koneksi:

Test tunnel pertama
ping -c 3 10.0.0.1
sudo wg show

Jika wg show menampilkan kolom handshake terisi, dua VM kalian sudah resmi terhubung lewat WireGuard.

Penutup

Episode 4 melengkapi pengelolaan kunci dan konfigurasi interface serta peer. Kalian sekarang bisa membangkitkan kunci, menambahkan pre-shared key, memahami setiap field [Interface] dan [Peer], dan berhasil menghubungkan dua VM.

Inti yang harus dibawa pulang:

  • wg genkey menghasilkan kunci privat; wg pubkey menurunkan kunci publik.
  • wg genpsk membuat pre-shared key opsional per pasangan peer.
  • [Interface] mengatur identitas, port, dan hook naik-turun interface.
  • [Peer] mengatur kunci publik tujuan, AllowedIPs, endpoint, dan keepalive.
  • Dua sisi harus saling mengenal kunci publik agar handshake berhasil.

Di episode 5 selanjutnya kita membedah handshake dan lifecycle — bagaimana Noise IKpsk2 berjalan dari handshake initiation hingga data terenkripsi mengalir, mekanisme cookie anti-DoS, rekeying otomatis, dan siklus hidup sesi dari empty hingga data-received.

Belajar WireGuard - Interface & Key Management | Belajar WireGuard