Cara Setup VPN Server WireGuard Sendiri

Tutorial cara bagaimana men-setup server VPN WireGuard sendiri menggunakan VPS server seharga 6 dolar

Cukup menggunakan VPS seharga 6 dolar per bulan, kamu bisa punya VPN server sendiri menggunakan WireGuard VPN. Ikuti caranya di artikel berikut ini untuk menginstall, dan mensetting VPS Ubuntu 22.04 menjadi VPN server kamu.

Setelah beberapa seri artikel tentang VPN IPsec (dalam bahasa Inggris), hari ini saya ingin berbagi cara saya mensetting WireGuard VPN sebagai server VPN. Jika dibandingkan dengan L2TP/xAuth dan IKEv2 VPN (artikel saya sebelumnya tentang IPsec VPN dalam bahasa Inggris), dari sisi performa, WireGuard VPN jauh lebih unggul karena menggunakan UDP dan bukan TCP.

Prasyarat

  • Sebuah VPS dengan alamat IP publik.
  • Nyaman dan terbiasa dengan Linux command-line.
  • Pengetahuan dasar subnetting di IPv4 (jujur saja, saya tidak begitu familiar dengan subnetting di IPv6, jadi artikel ini hanya untuk IPv4).

Untuk pemilihan cloud provider mana yang akan kamu gunakan, itu terserah kamu. Di artikel ini, saya akan mengguakan Droplet di DigitalOcean (referral link) untuk VPN server saya. Atau kalau kamu kesusahan mengakses Digital Ocean (karena sampai saat ini domain digitaloceanspaces.com masih diblokir oleh Komdigi), kamu bisa menggunakan penyedia layanan VPS lain seperti Linode (referal link) yang harganya tidak jauh berbeda dengan Digital Ocean.

Dengan link tersebut, kamu bisa mendapatkan kredit (200 dolar untuk Digital Ocean atau 100 dolar untuk Liode) yang valid untuk 60 hari secara cuma-cuma dengan menggunakan link referensi saya.

CATATAN: kamu harus tahu bahwa cloud provider biasanya membebankan biaya extra jika kamu melebihi batasan quota yang telah mereka berikan.

VPS server yang saya gunakan untuk artikel ini akan saya hapus ketika artikel ini dipublikasikan.

Memesan dan Menjalankan VPS Baru (DigitalOcean Droplet, opsional)

Jika kamu sudah memiliki VPS, kamu bisa lompati langkah-langkah pada sesi ini dan langsung menuju langkah berikutnya: “Setup WireGuard Server”.

  1. Masuk ke project kamu dan buat Droplet baru dengan memilih Create new Droplet.
  2. Untuk menghindari latency yang tinggi, pilihlah region yang paling dekat dengan lokasi kamu. Jika kamu di Indonesia, maka saat ini region terdekat di DigitalOcean adalah Singapore.
  3. Pilih sistem operasi untuk Droplet kamu, saya akan menggunakan Ubuntu 24.04 LTS.
  4. Pilih paket (Droplet size). Saya akan mulai dari yang rendah saja, 1 CPU dengan 1GB of RAM dan bandwidth 1TB per bulan ($6/bulan).
    Sesuaikan paket / Droplet Size yang sesuai dengan kebutuhan kamu untuk menghindari kemungkinan terkena biaya ekstra atas pemakaian bandwidth yang melebihi kapasitas paket (1TB per bulan cukup untuk saya).
  5. Pilih metode autentikasi kamu untuk mengakses VPS, Saya lebih memilih menggunakan SSH public dan private key daripada menggunakan authentikasi menggunakan password.
  6. Untuk opsi sisanya, biarkan default apa adanya. Saya yakin kamu tidak memerlukan opsi backup dan managed database untuk VPN server ini.

WireGuard tidak membutuhkan disk I/O yang tinggi, jadi VPS NVMe tidak begitu penting (SSD sudah sangat cukup).

Setup WireGuard Server

CATATAN PENTING: Karena saya tidak begitu familiar dengan subnetting di IPv6, saya hanya akan menggunakan IPv4 saja.

Setelah VPS kamu sudah siap dan sudah berjalan, saya sarankan untuk melakukan update OS terlebih dahulu menggunakan perintah apt update && apt upgrade, kemudian restart (reboot) VPS kamu.

Jika kamu ingin bisa mengatur WireGuard peers (client) di server kamu dengan mudah, kamu mungkin tertarik untuk membaca “Cara install WireGuard-UI untuk mengatur server VPN WireGuard dengan mudah”.

Install WireGuard

Install WireGuard dengan menggunakan perintah sudo apt install wireguard. Setelah WireGuard berhasil diinstall, kita perlu membuat private dan public key untuk WireGuard server kita.

Tips: kamu bisa membuat public key yang cantik (vanity address) untuk WireGuard menggunakan alat seperti warner/wireguard-vanity-address.

Membuat Private Key

kamu bisa menggunakan perintah wg genkey untuk membuat private key kamu. Simpan private key kamu di tempat yang aman. Misalnya: di /etc/wireguard/private.key dengan file permission 600.

1# membuat private key
2wg genkey | sudo tee /etc/wireguard/private.key
3# mengubah file permission
4sudo chmod 600 /etc/wireguard/private.key

Private key tersebut nantinya kita butuhkan untuk membuat public key untuk server WireGuard kita. Contoh WireGuard server private key yang digunakan untuk artikel ini:

1gFsKunWJfQfV8hNzeJMwFssSsZ5fJnHbhCBOrNHlRmA=

Membuat Public Key

Sekarang, buat public key dari private key yang telah kita buat sebelumnya.

1sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

Public key tersebut akan kita butuhkan untuk mengkonfigurasi koneksi WireGuard client (peers) kita. Contoh WireGuard public key yang digunakan untuk artikel ini:

1YgpBOCEaiCYOg9EK7Gdh6w7TTJjIsuWOykXoN2m4YDI=

Mengkonfigurasi WireGuard Server

Sebelum mengkonfigurasi server WireGuard kamu, kamu perlu memilih / menentukan private network IP range untuk koneksi WireGuard yang akan kamu gunakan. kamu harus menggunakan private network IP ranges yang valid. Contoh:

  • Antara 10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
  • Antara 172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
  • Antara 192.168.0.0 - 192.168.255.255 (192.168.0.0/16)

Tips: Hindari menggunakan IP range yang sudah kamu gunakan dan IP range yang sering digunakan oleh sebuah aplikasi. Misalnya: Bawaan installasi Docker menggunakan network 172.17.0.0/16. Jika kamu menggunakan Docker, kamu harus menggunakan IP range lain untuk jaringan WireGuard kamu supaya tidak terjadi bentrok.

Di artikel ini, saya akan menggunakan 10.10.88.0/24 untuk jaringan WireGuard saya.

kamu juga perlu menentukan port berapa (UDP) yang akan digunakan oleh WireGuard. Banyak perangkat jaringan di luar sana (seperti Netgate, QNAP, dan lain-lain) menggunakan UDP port 51280 untuk konfigurai WireGuard default mereka. Untuk artikel ini, saya akan menggunakan UDP port 51822.

Sekarang, kita sudah memiliki semua informasi dasar yang kita butuhkan supaya server WireGuard dapat dijalankan:

  • Server Public IP: xxx.xxx.87.152
  • Server Private key: gFsKunWJfQfV8hNzeJMwFssSsZ5fJnHbhCBOrNHlRmA=
  • Server Public Key: YgpBOCEaiCYOg9EK7Gdh6w7TTJjIsuWOykXoN2m4YDI=
  • Server Listen Port: UDP port 51822
  • WireGuard Network: 10.10.88.0/24

Buat file dengan nama wg0.conf untuk konfigurasi WireGuard kamu di direktori /etc/wireguard dan isi dengan contoh konfigurasi berikut ini:

1# /etc/wireguard/wg0.conf
2
3[Interface]
4PrivateKey = <YOUR_SERVER_PRIVATE_KEY> # Pada contoh artikel ini: gFsKunWJfQfV8hNzeJMwFssSsZ5fJnHbhCBOrNHlRmA=
5Address = <YOUR_SERVER_WG_IP_ADDRESS>  # Pada contoh artikel ini: 10.10.88.1/24
6ListenPort = <SERVER_UDP_LISTEN_PORT>  # Pada contoh artikel ini: 51822

Catatan: Dari konfigurasi diatas, perhatikan bahwa saya mengambil IP 10.10.88.1 untuk alamat IP server saya (di jaringan WireGuard).

Ubah <YOUR_SERVER_PRIVATE_KEY>, <YOUR_SERVER_IP_ADDRESS>, <SERVER_UDP_LISTEN_PORT> dengan konfigurasi sesuai keinginan kamu.

Mengijinkan IP forwarding

Di artikel ini, kita ingin memperbolehkan peers (client / perangkat yang terkoneksi ke jaringan WireGuard kita) untuk menggunakan WireGuard server sebagai default gateway mereka. Jadi semua lalu-lintas jaringan keluar (kecuali ke jaringan lokal LAN/WLAN kamu) dapat menggunakan server WireGuard ini. Jika kamu menggunakan WireGuard untuk peer-to-peer saja, kamu tidak memerlukan langkah ini.

Edit /etc/sysctl.conf dan di akhir file tersebut, tambahkan net.ipv4.ip_forward=1. Setelah itu jalankan perintah sudo sysctl -p untuk memuat ulang konfigurasi baru di /etc/sysctl.conf yang baru saja kita ubah.

1sudo sysctl -p

Setelah itu, kamu perlu mengatur ulang konfigurasi firewall supaya peers (client) dapat melakukan koneksi ke server WireGuard dan lalu-lintas jaringan client ter-routing dengan benar.

Mengkonfigurasi Firewall

Secara default, aplikasi UFW (program untuk memudahkan konfigurasi firewall) sudah terinstall di Ubuntu. kamu perlu menambahkan port yang digunakan oleh WireGuard supaya port tersebut terbuka dapat diakses dari mana saja.

1sudo ufw allow OpenSSH
2sudo ufw allow proto udp to any port 51822

Jika WireGuard port yang kamu konfigurasi bukan 51822, ubah dan sesuaikan perintah diatas.

Perhatikan bahwa saya juga menambahkan OpenSSH ke allow list untuk menghindari terputusnya koneksi SSH ke server jika sebelumnya kamu belum mengkonfigurasi / mengaktifkan firewall.

Aktifkan / restart ufw dengan perintah:

1ufw enable # untuk mengaktifkan firewall, atau
2ufw reload # untuk merestart firewall

Selanjutnya, kamu perlu mengetahui interface mana yang digunakan oleh server kamu sebagai default route-nya. untuk mengetahuinya, kamu bisa menggunakan perintah ip route list default. Contoh hasil dari perintah ip route list default saya:

1default via xxx.xxx.80.1 dev eth0 proto static

Perhatikan kata setelah dev, itu adalah default network interface-nya. Dari contoh diatas, default network interface server saya adalah eth0.

Sekarang, tambahkan konfigurasi berikut ke /etc/wireguard/wg0.conf pada bagian [Interface]:

1PostUp = ufw route allow in on wg0 out on eth0
2PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
3PreDown = ufw route delete allow in on wg0 out on eth0
4PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Ubah eth0 dari konfigurasi di atas dan sesuaikan dengan default network interface server kamu.

Konfigurasi /etc/wireguard/wg0.conf kamu seharusnya mirip seperti berikut:

 1# /etc/wireguard/wg0.conf
 2
 3[Interface]
 4PrivateKey = <YOUR_SERVER_PRIVATE_KEY> # Pada contoh artikel ini: gFsKunWJfQfV8hNzeJMwFssSsZ5fJnHbhCBOrNHlRmA=
 5Address = <YOUR_SERVER_WG_IP_ADDRESS>  # Pada contoh artikel ini: 10.10.88.1/24
 6ListenPort = <SERVER_UDP_LISTEN_PORT>  # Pada contoh artikel ini: 51822
 7SaveConfig = true
 8
 9PostUp = ufw route allow in on wg0 out on eth0
10PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
11PreDown = ufw route delete allow in on wg0 out on eth0
12PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Sekarang, server WireGuard kita sudah siap, cobalah untuk menjalankan service WireGuard menggunakan wg-quick (via systemd):

1sudo systemctl start [email protected]

Perhatikan bahwa wg0 diatas diambil dari nama konfigurasi file pada direktori /etc/wireguard (tapi tanpa file extension .conf). Jika nama konfigurasi WireGuard-nya adalah internal.conf, kamu dapat menjalankan konfigurasi WireGuard tersebut menggunakan perintah systemctl start [email protected].

Setelah perinta diatas, pastikan service WireGuard berjalan dengan perintah systemctl status [email protected]:

 1● [email protected] - WireGuard via wg-quick(8) for wg0
 2     Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; preset: enabled)
 3     Active: active (exited) since Sat 2026-08-29 00:50:44 UTC; 10s ago
 4       Docs: man:wg-quick(8)
 5             man:wg(8)
 6             https://www.wireguard.com/
 7             https://www.wireguard.com/quickstart/
 8             https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
 9             https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
10    Process: 26999 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
11   Main PID: 26999 (code=exited, status=0/SUCCESS)
12        CPU: 229ms
13
14Aug 29 00:50:44 do-wireguard systemd[1]: Starting [email protected] - WireGuard via wg-quick(8) for wg0...
15Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] ip link add wg0 type wireguard
16Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] wg setconf wg0 /dev/fd/63
17Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] ip -4 address add 10.10.88.1/24 dev wg0
18Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] ip link set mtu 1420 up dev wg0
19Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] ufw route allow in on wg0 out on eth0
20Aug 29 00:50:44 do-wireguard wg-quick[27033]: Rule added
21Aug 29 00:50:44 do-wireguard wg-quick[27033]: Rule added (v6)
22Aug 29 00:50:44 do-wireguard wg-quick[26999]: [#] iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
23Aug 29 00:50:44 do-wireguard systemd[1]: Finished [email protected] - WireGuard via wg-quick(8) for wg0.

kamu bisa menjalankan perintah sudo systemctl enable [email protected] agar service WireGuard berjalan otomatis setelah server dinyalakan atau reboot.

Konfigurasi WireGuard Peer (client)

Pada sesi ini, saya akan menggunakan Linux (wg-quick via ``systemd`) sebagai contoh melakukan koneksi ke server WireGuard yang sudah kita konfigurasi sebelumnya. Untuk metode lain (seperti menggunakan NetworkManager), sistem operasi lain, atau koneksi dari ponsel, saya akan menambahkannya di lain artikel.

Mengkonfigurasi WireGuard peer (client) di Linux menggunakan wg-quick via systemd hampir sama seperti mengkonfigurasi server WireGuard. Perbedaannya adalah: kamu tidak memerlukan konfigurasi IP forwarding maupun firewall (kecuali kamu memiliki kebutuhan tertentu di mesin Linux kamu). Yang perlu kamu lakukan hanyalah menginstall WireGuard, membuat private dan public key, dan menentukan DNS server mana yang ingin kamu gunakan.

Membuat Private and Public Key (Client Side)

Jika kamu sudah mempunyai pasangan public & private key untuk WireGuard sebelumnya, kamu bisa menggunakan public & private key tersebut dan langsung ke sesi berikutnya: “Mengkonfigurasi WireGuard Peer (client)”.

Tips: kamu bisa membuat public key yang cantik (vanity address) untuk WireGuard menggunakan alat seperti warner/wireguard-vanity-address.

Membuat Peer Private key

kamu bisa menggunakan perintah wg genkey untuk membuat private key kamu. Simpan private key kamu di tempat yang aman. Misalnya: di /etc/wireguard/private.key dengan file permission 600.

1# membuat private key
2wg genkey | sudo tee /etc/wireguard/private.key
3# mengubah file permission
4sudo chmod 600 /etc/wireguard/private.key

Private key tersebut nantinya kita butuhkan untuk membuat public key untuk server WireGuard kita. Contoh WireGuard private key yang digunakan untuk artikel ini:

1kI4Kbv3cd4xBYdbZ01lZj2qQj5+KVbc5Zj71zhvagFo=

Ubah file permission /etc/wireguard/private.key dengan menjalankan perintah sudo chmod 600 /etc/wireguard/private.key.

Generate Peer Public Key

Sekarang, buat public key dari private key yang telah kita buat sebelumnya.

1sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

Public key tersebut akan kita butuhkan untuk ditambahkan ke konfigurasi server WireGuard kita. Contoh WireGuard public key yang digunakan untuk artikel ini:

1P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two=

Mengkonfigurasi WireGuard Peer (client)

Sebelum mengkonfigurasi WireGuard peer (client), kamu perlu memilih atau menentukan alamat IP private untuk koneksi WireGuard peer yang akan kamu gunakan. kamu harus menggunakan alamat IP yang tidak terpakai dari private network IP range WireGuard server kamu. Di artikel ini, 10.10.88.1/24 sudah digunakan oleh server WireGuard, dan kita tidak bisa menggunakan alamat IP tersebut untuk peer / client kita. Maka dari itu, saya akan menggunakan 10.10.88.2/24 (atau 10.10.88.2/32).

Sekarang, kita sudah memiliki semua informasi dasar yang kita butuhkan supaya untuk konfigurasi WireGuard peer:

  • Server Public IP: xxx.xxx.87.152
  • Server Public Key: YgpBOCEaiCYOg9EK7Gdh6w7TTJjIsuWOykXoN2m4YDI=
  • Server Listen Port: UDP port 51822
  • WireGuard Network: 10.10.88.0/24
  • Client IP address: 10.10.88.2/24

Menggunakan wg-quick

Langkah dari artikel di bawah ini adalah cara melakukan koneksi ke WireGuard server menggunakan wg-quick yang pada umumnya tidak digunakan oleh pengguna desktop. Untuk menggonekkan koneksi dari iOS, Android, MacOS atau Windows bisa mengikuti artikel cara “Mengkonfigurasi WireGuard VPN Client”. Sedangkan pengguna Linux dengan NetworkManager bisa mengikuti video YouTube Saya yang berjudul “Setup WireGuard VPN Server Sendiri Dari Nol (menit 17:14)”

Buat file dengan nama wg-do.conf untuk konfigurasi WireGuard kamu di direktori /etc/wireguard dan isi dengan contoh konfigurasi berikut ini:

 1# /etc/wireguard/wg-do.conf
 2
 3[Interface]
 4PrivateKey = <YOUR_PEER_PRIVATE_KEY> # Pada contoh artikel ini: kI4Kbv3cd4xBYdbZ01lZj2qQj5+KVbc5Zj71zhvagFo=
 5Address = <YOUR_PEER_IP_ADDRESS>     # Pada contoh artikel ini: 10.10.88.2/24
 6DNS = 1.1.1.1 8.8.8.8                # You can use any public / your own DNS resolver if you want
 7
 8[Peer]
 9PublicKey = <YOUR_SERVER_PUBLIC_KEY> # Pada contoh artikel ini: P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two=
10AllowedIPs = 0.0.0.0/0               # Route all external traffic to here
11Endpoint = <YOUR_SERVER_PUBLIC_IP_ADDRESS>:<SERVER_UDP_LISTEN_PORT> # Pada contoh artikel ini: xxx.xxx.87.152:51822
12PersistentKeepalive = 15

Ubah <YOUR_PEER_PRIVATE_KEY>, <YOUR_PEER_IP_ADDRESS>, <YOUR_SERVER_PUBLIC_KEY>, <YOUR_SERVER_PUBLIC_IP_ADDRESS>, dan <SERVER_UDP_LISTEN_PORT> dan sesuaikan dengan milik kamu.

Catatan:

  • AllowedIPs = 0.0.0.0/0 artinya semua lalu-lintas jaringan akan melalui peer tersebut (dalam hal ini, server WireGuard kita).
    kamu bisa menentukan / memilih routing menuju IP/network tertentu supaya melewati peer tertentu (Jika kamu terkoneksi ke banyak peer / server).
    Sebagai contoh, jika kamu hanya ingin mengarahkan lalu-lintas jaringan menuju IP 1.0.0.1 dan 8.8.4.4 melalui peer tertentu dan menggunakan konesi internet dari ISP kamu sebagai default route-nya, kamu bisa menghapus 0.0.0.0/0 dan menambahkan 1.0.0.1/32,8.8.4.4/32 (dipisahkan dengan tkamu koma) untuk nilai dari AllowedIPs.
  • PersistentKeepalive = 15 : Berapa detik sekali peer mengirimkan ping ke server, supaya server dapat mencapai / berkomunikasi dengan peer yang berada dibalik NAT/firewall.
  • DNS kamu juga dapat menentukan DNS server yang ingin kamu gunakan dengan menentukan alamat IP DNS server pada konfigurasi DNS.

Menambahkan Peers Public Key ke WireGuard Server

Setelah itu, kamu perlu menambahkan setiap peer public key ke konfigurasi WireGuard server. Hal ini perlu dilakukan agar peers (client) dapat melakukan koneksi ke WireGuard server. Ada 2 cara yang bisa dilakukan, tergantung dari konfigurasi server kamu.

Server tanpa konfigurasi SaveConfig = True

Jika kamu mengikuti artikel ini dari awal yang tidak menggunakan setting SaveConfig = true pada server, maka kamu tinggal menambahkan informasi peer ke konfigurasi server (/etc/wireguard/wg0.conf). Contohnya:

1[Peer]
2PublicKey = P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two=
3AllowedIPs = 10.10.88.2/32

Ubah P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two= dengan public key peer kamu, dan 10.10.88.2 dengan alamat IP pada IP range WireGuard yang akan digunakan oleh peer.

jangan lupa untuk melakukan restart WireGuard service setiap kamu melakukan perubahan pada file /etc/wireguard/wg0.conf.

1sudo systemctl restart [email protected]
Server dengan konfigurasi SaveConfig = True

Jika WireGuard server menggunakan settingan SaveConfig = true, maka kamu bisa menambahkan peer public key dengan perintah berikut di WireGuard Server:

1wg set wg0 peer P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two= allowed-ips 10.10.88.2

Ubah wg0 sesuai dengan interface WireGuard kamu di server, P50uGtfPAM3u+W8fdHUTcsJus7rZs7+J/KUgAWW7two= dengan public key peer kamu, dan 10.10.88.2 dengan alamat IP pada IP range WireGuard yang akan digunakan oleh peer.

Melakukan koneksi ke Server

Sekarang, konfigurasi peer (client) sudah selesai, kamu dapat mencoba melakukan koneksi ke WireGuard server dengan wg-quick via systemd:

1sudo systemctl start [email protected]

Note 1: Perhatikan bahwa wg-do diatas diambil dari nama konfigurasi file pada direktori /etc/wireguard (tapi tanpa file extension .conf). Jika nama konfigurasi WireGuard-nya adalah vpn-wireguard.conf, kamu dapat menjalankan konfigurasi WireGuard tersebut menggunakan perintah systemctl start [email protected].

Note 2: Scara default wg-quick menggunakan resolvconf untuk menambahkan entri DNS baru. Hal ini akan menyebabkan masalah dengan “network managers” dan “DHCP clients” yang tidak menggunakan resolvconf, karena mereka akan menulis ulang (overwrite) file /etc/resolv.conf (yang akan menghapus record DNS yang sudah ditambahkan oleh wg-quick.
Solusinya adalah menggunakan “software networking” yang kompatible dengan resolvconf.

Note 3: Pengguna Linux yang menggunakan systemd-resolved harus memastikan bahwa systemd-resolvconf terinstall di sistem operasi yang digunakan.

Untuk memverifikasi bahwa konfigurasi sudah benar dan bekerja, coba melakukan pengecekan IP publik kamu dari browser atau terminal menggunakan wg show atau curl ifconfig.me.

Kesimpulan

WireGuard adalah protokol VPN favorit saya. Performanya cepat dan lebih hemat resource jika dibandingkan dengan protokol VPN lainnya. Ia juga bisa digunakan untuk koneksi peer-to-peer, koneksi client-server atau membuat mesh network yang aman.

Ketika dikombinasikan dengan Nginx sebagai reverse proxy, kamu bahkan bisa mengekspose / server HTTP di jaringan lokal kamu yang berada dibalik NAT/firewall ke internet.

Akan tetapi, melakukan maintenance pada jaringan WireGuard yang besar bisa sangat kompleks dan susah dilakukan. Namun, ada software yang dapat membantu kamu untuk membantu mengatur hal itu, salah satu contohnya adalah Netmaker.