Episode ini membahas WireGuard di luar Linux: WireGuard-Go sebagai implementasi userspace, driver WireGuardNT untuk Windows, aplikasi Android dan iOS dengan impor konfigurasi via QR code, serta teknik optimasi baterai seperti PersistentKeepalive.

WireGuard tidak lahir di kernel Linux saja — ia dirancang untuk dijalankan di mana-mana. Ketika kalian memasang WireGuard di Windows, macOS, Android, atau iOS, koneksi yang dibentuk tetap satu protokol yang sama dengan server Linux di kantor. Perbedaannya hanya pada lapisan transport di bawahnya.
Episode 16 membahas WireGuard-Go sebagai implementasi userspace, driver WireGuardNT untuk Windows, pengalaman mobile di Android dan iOS termasuk impor konfigurasi via QR code, serta strategi menjaga baterai perangkat tetap awet.
Fokus episode ini adalah pengalaman nyata pengguna akhir: seberapa mudah memasang tunnel, seberapa hemat baterai, dan seberapa konsisten konfigurasi antar perangkat. Ketiganya menentukan apakah sebuah teknologi VPN bisa dipakai oleh orang banyak, bukan hanya oleh kalian yang mahir Linux.
WireGuard-Go adalah implementasi WireGuard yang ditulis dalam Go dan berjalan di userspace, tanpa bergantung pada modul kernel. Dia adalah fondasi untuk platform yang tidak punya implementasi kernel native, dan juga menjadi jalur fallback otomatis ketika modul kernel tidak tersedia.
sudo wireguard-go wg0Perintah wireguard-go wg0 menciptakan interface wg0 dalam userspace. Konfigurasi berikutnya tetap memakai wg seperti biasa. Perlu diingat, pengolahan paket di userspace umumnya lebih lambat daripada kernel-space — trade-off yang wajar demi portabilitas.
WireGuard-Go dipakai di platform seperti macOS dan FreeBSD secara default, dan oleh aplikasi Android serta iOS pada versi awal. Untuk skenario performa tinggi di Linux, modul kernel tetap pilihan utama.
Pilihan antara userspace dan kernel juga muncul di server: jika kalian memakai distribusi dengan kernel lama atau ruang terbatas untuk modul, WireGuard-Go bisa menjadi jalur aman, dengan harga throughput yang lebih rendah seperti yang akan kita lihat di episode 15.
Windows memakai driver native bernama WireGuardNT, dikembangkan langsung oleh tim WireGuard. Driver ini menggantikan kebutuhan akan adapter TAP seperti yang dipakai OpenVPN, dan terintegrasi dengan aplikasi desktop resmi.
Pengalaman pengguna di Windows mirip Linux: buat tunnel dari file konfigurasi, dan status peer bisa dibaca dari antarmuka aplikasi. WireGuardNT 1.0 adalah pencapaian besar yang menstabilkan pengalaman Windows setelah bertahun-tahun pengembangan.
Pengalaman Windows ini menjadi penting di lingkungan kantor, karena mayoritas perangkat pengguna akhir menjalankan Windows. Dengan driver native, tim IT tidak perlu mengandalkan adapter tambahan atau konfigurasi yang rapuh.
Cara paling praktis memasang konfigurasi di ponsel adalah QR code. Di sisi server, buat file konfigurasi client lalu render jadi QR:
cat wg0-client.conf
qrencode -t ansiutf8 < wg0-client.confqrencode -t ansiutf8 menampilkan QR code langsung di terminal. Pindai dengan aplikasi WireGuard di Android atau iOS, dan tunnel siap dipakai. Pastikan file wg0-client.conf tidak berisi bagian yang tidak didukung aplikasi seluler.
Konfigurasi untuk ponsel sebaiknya minimal dan lengkap sekaligus:
[Interface]
Address = 10.0.0.5/32
PrivateKey = <kunci privat ponsel>
DNS = 1.1.1.1
[Peer]
PublicKey = <kunci publik server>
Endpoint = 203.0.113.5:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25Field DNS di atas menentukan resolver yang dipakai tunnel — penting untuk full tunnel di perangkat seluler agar DNS tidak bocor ke jaringan asal.
WireGuard sangat hemat dibandingkan VPN lain, tetapi keepalive yang terlalu sering bisa menguras baterai. Strategi yang lazim:
PersistentKeepalive = 25 saat berada di Wi-Fi.Perangkat modern juga mengoptimalkan pemrosesan paket WireGuard di kernel atau driver, sehingga beban CPU tetap rendah saat tunnel aktif.
Perhatikan juga pembaruan aplikasi resmi yang rutin dirilis: perbaikan baterai dan stabilitas sering masuk lewat pembaruan ini. Pastikan perangkat tetap memakai versi terbaru agar mendapat perbaikan keamanan sekaligus efisiensi.
Keunggulan paling terasa di sini: file konfigurasi wg0.conf yang kalian tulis di episode 3 hampir identik di semua platform. Tidak ada dialek per vendor seperti di IPsec. Saat pindah dari laptop Linux ke ponsel, cukup ubah beberapa baris dan kirim lewat QR code.
Ekosistem alat seperti wg-dashboard dan Netmaker juga memanfaatkan format ini: mereka menggenerate konfigurasi yang bisa dipakai langsung di perangkat apa pun. Inilah kekuatan desain satu format konfigurasi.
Untuk kalian yang membangun layanan, format konfigurasi yang seragam juga berarti integrasi menjadi lebih mudah: alur pembuatan config di server bisa langsung menghasilkan file yang valid untuk semua perangkat, tanpa perlu branch khusus per platform.
Perbedaan kecil tetap ada, misalnya dukungan DNS atau fitur tertentu yang tidak dipakai semua platform. Kenali batas ini sebelum mendistribusikan konfigurasi agar pengalaman pengguna tetap mulus.
Episode 16 menuntaskan topik cross-platform: WireGuard-Go untuk userspace, WireGuardNT untuk Windows, aplikasi Android dan iOS dengan impor QR code, dan strategi baterai dengan keepalive yang disesuaikan.
Inti yang harus dibawa pulang:
DNS penting untuk full tunnel mobile.Di episode 17 selanjutnya kita membahas Docker dan container networking — menjalankan WireGuard di dalam container dengan kapabilitas NET_ADMIN dan device /dev/net/tun, pola sidecar, serta menjadikan WireGuard sebagai overlay network antar host.