Wireguard sebagai free open source VPN
Table of Content
Reference
- https://github.com/donaldzou/WGDashboard
- https://donaldzou.dev/WGDashboard-Documentation/install.html#option-3-install-with-proxmox-virtual-environment
- https://www.wireguard.com/
Summary
Wireguard adalah simple VPN yang dapat memberikan encrypted connection antar device. Device yang terkoneksi akan berjalan layaknya local connection via VPN. Kita bisa membuat suatu device (peer) hanya bisa diakse oleh VPN saja.
Personal Opinion
- Wireguard bisa digunakan sebagai alternatif VPN seperti OpenVPN (https://www.wireguard.com/quickstart/) yang jauh lebih simple.
- Sudah cukup banyak aplikasi yang sudah support wireguard, seperti Rethink App (https://f-droid.org/en/packages/com.celzero.bravedns/) di Android.
- Ingat, VPN bukan berarti anonymous, karena endpoint dari VPN akan menjadi ip address baru yang akan mengakses internet. Tapi, setidaknya dapat digunakan untuk keamanan data dan mengenkripsi koneksi ketika menggunakan public wifi.
TIPS :
- Dengan memanfaatkan tailscale (free hingga 100 devices) (https://tailscale.com/pricing), kita bisa membuat mesh-network antar local device yang memanfaatkan wireguard protocol
- jika local device/server tidak memiliki domain, bisa memanfaatkan DDDNS (Dynamic DNS) seperti https://www.duckdns.org/, https://desec.io/ dan https://freedns.afraid.org/
Prerequisites
- networking for beginner + command
How to
ref: Quickstart dan penjelasan dengan side-by-side video https://www.wireguard.com/quickstart/
- Local : Install wireguard via
sudo apt-get install wireguard
- Local : generate private-public key
- create folder
mkdir .wireguard
chmod 700 .wireguard' and
cd .wireguard`wg genkey > wgprivate
to generate private keywg pubkey < wgprivate > wgpublic
to generate public key from private key
- create folder
- local : konfigurasi ethernet
sudo ip link add dev wg0 type wireguard
- `sudo ip addr add 10.0.0.2/24 dev wg0, 10.0.0.2/24 adalah ip private yang dipilih
- pasangkan private key:
sudo wg set wg0 private-key ./wgprivate
- hidupkan wireguard:
sudo ip link set wg0 up
- peer : install wireguard atau WG Dashboard, generate private key dan konfigurasi ethernet
- local : tambahkan peer
sudo wg set wg0 peer [base64 public key milik peer] allowed-ips 10.0.0.1/32 endpoint 139.xx.xx.xx:51820
dimana 10.0.0.1/32 adalah ip address untuk peer dan 139.xx.xx.xx adalah ip address peer saat ini. Serta 51820 adalah port wireguard yang dibuka
- sekarang antara local <--> peer akan dapat terkoneksi secara secure (seperti vpn) yang ter-enkripsi
Other Reading
- Wireguard QuickStart : https://www.wireguard.com/quickstart/
- Tailscale: https://tailscale.com/
- DDNS via DuckDNS : https://www.duckdns.org/
- DDNS via deSEC : https://desec.io/
- WG Easy to easiest install on linux : https://github.com/wg-easy/wg-easy
- WG Dashboard untuk server untuk mengelola peer/client Wireguard berbwirasis web: https://f-droid.org/en/packages/com.celzero.bravedns
- ReThink DNS Apps untuk Android : https://f-droid.org/en/packages/com.celzero.bravedns
- Awesome curated list wireguard : https://github.com/cedrickchee/awesome-wireguard
- Youtube : How To Build Your Own Wireguard VPN Server in The Cloud
- What They Don’t Tell You About Setting Up A WireGuard VPN - DEV Community