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.

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.
Kunci privat adalah sumber identitas interface, dan kunci publik diturunkan darinya. Selalu bangkitkan keduanya sekaligus dan simpan file kunci privat dengan permission ketat:
umask 077
wg genkey | tee privatekey | wg pubkey > publickeyumask 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.
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:
wg genpskHasilnya tempel ke PresharedKey di bagian [Peer] di kedua sisi. Perhatikan: pre-shared key ini per pasangan peer, bukan per interface.
Rotasi dilakukan dengan mengubah kunci privat interface dan memperbarui kunci publik di sisi peer. Perintah berikut menukar kunci privat secara live tanpa mematikan interface:
sudo wg set wg0 private-key /etc/wireguard/privatekeyRotasi menyeluruh beserta strategi graceful rotation akan kita bahas tuntas di episode 12.
Setiap interface WireGuard didefinisikan di bagian [Interface]. Field yang paling umum:
wg-quick up.wg-quick memakai 51820.wg-quick; Table = off menonaktifkan penambahan rute otomatis.[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 MASQUERADEPostUp di atas dipakai untuk menyalakan masquerade NAT begitu interface naik, pola yang akan kita pakai berulang kali di episode 10 dan 14.
Setiap koneksi didefinisikan di bagian [Peer]:
Saatnya menghubungkan server dan client. Di server, tambahkan peer client; di client, tambahkan peer server:
sudo wg set wg0 peer <PUBLIK_CLIENT> allowed-ips 10.0.0.2/32Di client, konfigurasi dibentuk dari field yang sama:
[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:51820AllowedIPs = 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:
ping -c 3 10.0.0.1
sudo wg showJika wg show menampilkan kolom handshake terisi, dua VM kalian sudah resmi terhubung lewat WireGuard.
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.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.