wireguard
Instalasi
Installasi sesuai sistem operasi masing-masing.
Konfigurasi
Buat private dan public key.
$ wg genkey | tee privatekey | wg pubkey > publickey
Server
Configurasi file berada di /etc/wireguard/wg0.conf
[Interface]
Address = 10.20.30.40/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
ListenPort = 12345
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Peer 1 (Dalam NAT)
- Konfigurasi ini akan membuat semua paket melewati server Full VPN.
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxx=
Address = 10.20.30.50/24
[Peer]
PublicKey = xxxxxxxxxxSERVERPUBLIKKEYxxxxxxxx=
Endpoint = SERVER-IP:12345
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
- Tambahkan peer di server
$ wg set wg0 peer xxxxPEERPUBLICKEYxxxxx= allowed-ips 10.20.30.50/32
$ wg-quick save wg0
Peer 2 (Dalam NAT)
- Konfigurasi dibawah hanya akan melewatkan paket antar peer dalam
jaringan wireguard (Server dan Peer 1)
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxx=
Address = 10.20.30.60/24
[Peer]
PublicKey = xxxxxxxxxxSERVERPUBLIKKEYxxxxxxxx=
Endpoint = SERVER-IP:12345
AllowedIPs = 10.20.30.60/32, 10.20.30.0/24
PersistentKeepalive = 20
- Tambahkan peer di server
$ wg set wg0 peer xxxxPEER2PUBLICKEYxxxxx= allowed-ips 10.20.30.60/32
$ wg-quick save wg0
Hapus Peer di server
Menghapus konfig peer dengan perintah remove
$ wg set wg0 peer xxxxPEERPUBKEYxxxxx= remove
Memuat semua trafik via wireguard
Tambahkan IP 0.0.0.0/0 pada AllowedIPs di client.
Penggunaan
Seteleh konfigurasi langsung dapat digunakan dengan bantuan tool
wg-quick.
$ sudo wg-quick up wg0
Dan untuk mematikan WireGuard dengan perintah
$ sudo wg-quick down wg0
Untuk melihat status
$ sudo wg
Systemd
$ sudo systemctl enable wg-quick@wg0
NetworkManager
Untuk NetworkManager bisa juga menggunakan perintah berikut:
$ sudo nmcli con import type wireguard file /etc/wireguard/wg0.conf
$ sudo nmcli -p device show wg0
Untuk menghapus :
$ nmcli connection delete wg0