Episode ini membahas perintah wg dan wg-quick secara menyeluruh: wg show, wg showconf, wg set, wg-quick up dan down, serta cara memantau kesehatan tunnel lewat latest-handshakes, transfer, dan skrip bash untuk health check otomatis.

WireGuard hadir dengan dua alat utama: wg untuk mengelola konfigurasi dan status secara langsung, dan wg-quick untuk membawa interface naik turun dengan nyaman. Menguasai keduanya berarti kalian bisa mendiagnosis masalah, mengubah peer secara live, dan membuat monitoring yang andal.
Episode 8 membedah setiap perintah penting, membaca metrik kesehatan seperti handshake dan transfer, lalu merakit skrip bash untuk health check. Kemampuan ini akan terus terpakai sampai episode 21 ketika kita bicara observability di production.
Perintah dasar untuk melihat kondisi semua interface dan satu interface tertentu:
sudo wg show
sudo wg show wg0
sudo wg show wg0 transfer
sudo wg show wg0 latest-handshakesOutput wg show menampilkan kunci publik, listen port, dan daftar peer. transfer menampilkan jumlah byte yang dikirim dan diterima per peer, sementara latest-handshakes menampilkan waktu handshake terakhir dalam UNIX timestamp.
wg showconf mencetak konfigurasi saat ini dalam format wg0.conf, sedangkan wg set mengubah atribut secara live:
sudo wg showconf wg0
sudo wg set wg0 listen-port 51821
sudo wg set wg0 peer <PUBLIK_CLIENT> removewg set wg0 peer ... remove menghapus peer tanpa mematikan interface — sangat berguna untuk mencabut akses secara instan. Untuk perubahan satu baris, wg set lebih tepat daripada menulis ulang file konfigurasi.
Untuk scripting, wg show wg0 dump mencetak seluruh status dalam satu baris per interface dan per peer, mudah di-parse dengan awk atau cut:
sudo wg show wg0 dumpwg-quick adalah pembungkus yang membaca file di /etc/wireguard/, membuat interface, memasang alamat, menambahkan rute, dan menjalankan PostUp. Variasi perintahnya:
sudo wg-quick up wg0
sudo wg-quick down wg0
sudo wg-quick strip wg0
sudo wg-quick save wg0wg-quick save wg0 mengambil status runtime dan menuliskannya kembali ke file konfigurasi. Ini berguna ketika kalian banyak memakai wg set dan ingin menyimpan hasilnya secara permanen. wg-quick strip mencetak konfigurasi yang akan dieksekusi, tanpa menerapkannya.
wg-quick terintegrasi dengan systemd lewat template unit:
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0Skrip sederhana berikut memastikan handshake peer masih segar. Jika handshake terakhir sudah terlalu tua, skrip memberi peringatan:
#!/usr/bin/env bash
WANTED_PEER="<PUBLIK_CLIENT>"
MAX_AGE=180
NOW=$(date +%s)
LAST=$(sudo wg show wg0 latest-handshakes | grep "$WANTED_PEER" | awk '{print $2}')
AGE=$((NOW - LAST))
if [ "$AGE" -gt "$MAX_AGE" ]; then
echo "WARNING: handshake peer berumur ${AGE} detik"
else
echo "OK: handshake berumur ${AGE} detik"
fiSkrip di atas membaca latest-handshakes, menghitung umur handshake, dan memberi peringatan bila melewati batas. Jalankan lewat cron setiap menit untuk pemantauan berkala.
Untuk memastikan trafik mengalir dua arah, pantau counter transfer pada dua titik waktu dan bandingkan selisihnya:
RX1=$(sudo wg show wg0 transfer | awk '/<PUBLIK_CLIENT>/{print $4}')
sleep 10
RX2=$(sudo wg show wg0 transfer | awk '/<PUBLIK_CLIENT>/{print $4}')
echo "Pertambahan receive dalam 10 detik: $((RX2 - RX1)) byte"Jika selisihnya selalu nol meskipun ada aktivitas, ada yang salah pada rute atau arah enkripsi — biasanya karena AllowedIPs di salah satu sisi tidak mencakup subnet yang dibutuhkan.
Episode 8 melengkapi gudang alat pemantauan kalian: perintah wg untuk status dan perubahan live, wg-quick untuk naik turun interface, serta skrip bash untuk health check handshake dan transfer.
Inti yang harus dibawa pulang:
wg show untuk status; wg showconf untuk dump konfigurasi.wg set mengubah atribut secara live tanpa restart.wg-quick up/down/strip/save mengelola siklus hidup interface.latest-handshakes nol berarti peer tidak pernah handshake.transfer menunjukkan byte terkirim dan diterima per peer.Di episode 9 selanjutnya kita masuk fase workload: site-to-site VPN — menghubungkan dua jaringan kantor lewat WireGuard, memilih topologi full mesh atau hub-and-spoke, dan mengatur routing statis beserta firewall antar situs.