Cara Instal Server VPN Sendiri dengan WireGuard
Tutorial ini akan menjelaskan cara menginstal server VPN dengan WireGuard menggunakan image Docker dari LinuxServer.io.
Proses instalasinya akan jauh lebih mudah sehingga kalian tidak perlu lagi ribet menginstal WireGuard dari nol.
Persiapan
Hal yang perlu dipersiapkan tentunya adalah server Linux yang sudah terinstal Docker dan Docker Compose.
Tutorial untuk memasang Docker, bisa baca di dokumentasi untuk menginstal Docker.
Setup Konfigurasi Docker Compose
Setelah Docker dan Docker Compose terinstal.
Buat file docker-compose.yml
di dalam direktori wireguard
.
$ mkdir wireguard
$ cd wireguard
$ touch docker-compose.yml
Kemudian edit file docker-compose.yml
menggunakan teks editor nano.
$ nano docker-compose.yml
Tambahkan konfigurasi berikut ini ke dalam file docker-compose.yml
version: '2.1'
services:
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SERVERURL=wireguard.domain.com #optional
- SERVERPORT=51820 #optional
- PEERS=android #optional
- PEERDNS=auto #optional
- INTERNAL_SUBNET=10.13.13.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
- PERSISTENTKEEPALIVE_PEERS= #optional
- LOG_CONFS=true #optional
volumes:
- /path/to/appdata/config:/config
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
Yang perlu diedit:
- Edit
SERVERURL
dengan alamat server atau edit menjadiauto
agar kontainer yang mencari alamat server secara otomatis. - Edit
PEERS
, jika ingin menambahkan banyak peers/klien yang bisa menggunakan server VPN, dapat diisi dengan format sepertiandroid,android2,pc,pc2
- Edit
PEERDNS
, jika ingin mengganti DNS untuk peer, dapat diisi dengan format seperti1.1.1.1
. - Edit konfigurasi lain jika perlu, selengkapnya baca dokumentasi LinuxServer.io/wireguard.
Untuk menyimpan file, tekan CTRL + S
kemudian tekan CTRL + X
untuk keluar dari teks editor nano.
Hidupkan Server WireGuard
Hidupkan WireGuard dengan menjalankan perintah berikut:
$ docker compose up -d
Setelah WireGuard dihidupkan, kontainer akan secara otomatis membuat file konfigurasi di dalam direktori config
.
Direktori config
ini berfungsi untuk menyimpan konfigurasi WireGuard.
Jadi, kalian bisa langsung mengunduh konfigurasi WireGuard untuk klien menggunakan scp seperti pada perintah berikut:
$ scp us[email protected]:~/wireguard/config/peer_<nama peer> ~/Downloads
Cara alternatif mendapatkan konfigurasi untuk klien dalam bentuk kode QR, maka jalankan perintah berikut:
$ docker exec -it wireguard /app/show-peer <nama peer>
Cara Menambahkan Peer Baru
Untuk menambahkan peer baru, cukup edit lagi file docker-compose.yml
, kemudian tambahkan nama peer baru pada bagian PEERS
, misalnya android,android,pc,pc2,pc-baru
.
Setelah itu, jalankan perintah berikut ini untuk memulai ulang server WireGuard:
$ docker compose up -d --force-recreate
Cara Memperbarui Versi WireGuard
Untuk memperbarui image dan menjalankan ulang kontainer WireGuard saja, jalankan perintah berikut:
$ docker compose pull wireguard
$ docker compose up -d wireguard
Sedangkan untuk memperbarui semua image dan menjalankan ulang semua kontainer:
$ docker compose pull
$ docker compose up -d
Untuk menghapus image Docker yang tak terpakai:
$ docker image prune