Kako postaviti WireGuard VPN poslužitelj uz wg-easy
wg-easy je Docker aplikacija koja pokreće WireGuard VPN poslužitelj zajedno s web-panelom. U panelu stvarate klijente, preuzimate njihove konfiguracijske datoteke ili skenirate QR kod telefonom te vidite koji su klijenti povezani. Ovaj vodič prikazuje kako instalirati aktualnu verziju, wg-easy v15, na Linux poslužitelj pomoću Docker Composea i povezati prvi uređaj.
wg-easy v15 razlikuje se od starijih verzija. Administratorska se lozinka više ne prosljeđuje u varijabli PASSWORD: kontejner pokrenut s PASSWORD ili PASSWORD_HASH ne pokreće se. Korisničko ime i lozinka sada se postavljaju u pregledniku pri prvom pokretanju.
Zahtjevi
Dovoljan je VPS s javnom IP adresom i root ili sudo pristupom. wg-easy je lagan: za osobni VPN dovoljni su 1 vCPU i 1 GB RAM-a. Naredbe u ovom vodiču provjerene su na Ubuntuu 24.04 LTS. Budući da wg-easy radi u Dockeru, jednako funkcioniraju na Ubuntuu 22.04, Debianu 12, AlmaLinuxu 9 i Rocky Linuxu 9.
Ako ne želite ništa instalirati ručno, naručite na INTROSERV marketplaceu aplikacija VPS s već postavljenim wg-easyjem i odmah prijeđite na prvo pokretanje.
Instalacija Dockera
Spojite se na poslužitelj putem SSH-a i službenom skriptom instalirajte Docker Engine s Compose dodatkom:
curl -fsSL https://get.docker.com | sudo sh
Provjerite jesu li Docker i Compose instalirani:
sudo docker --version sudo docker compose version
Preuzimanje datoteke docker-compose.yml
wg-easy se instalira pomoću službene datoteke docker-compose.yml iz repozitorija projekta. Za nju stvorite mapu i preuzmite datoteku:
sudo mkdir -p /etc/docker/containers/wg-easy sudo curl -o /etc/docker/containers/wg-easy/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
Glavni retci datoteke su slika i portovi:
image: ghcr.io/wg-easy/wg-easy:15 ports: - "51820:51820/udp" - "51821:51821/tcp"
Port 51820/udp koristi sam WireGuard, a port 51821/tcp web-panel. Oznaka 15 znači da ažuriranja ostaju unutar verzije 15. Konfiguracija i klijenti pohranjeni su u Docker volumenu, pa se zadržavaju kada se kontejner ponovno stvori.
Pokretanje wg-easyja
Idite u mapu s datotekom i pokrenite kontejner:
cd /etc/docker/containers/wg-easy sudo docker compose up -d
Provjerite radi li kontejner:
sudo docker compose ps
U stupcu STATUS treba pisati Up, a u stupcu PORTS trebaju biti portovi 51820/udp i 51821/tcp.
Otvaranje porta u vatrozidu
Klijenti se na poslužitelj spajaju preko UDP porta 51820. Ako je na poslužitelju omogućen UFW, dopustite taj port:
sudo ufw allow 51820/udp
Na AlmaLinuxu i Rocky Linuxu s firewalldom koristite:
sudo firewall-cmd --permanent --add-port=51820/udp sudo firewall-cmd --reload
Otvaranje web-panela
wg-easy v15 ne dopušta prijavu u panel preko običnog HTTP-a. Najjednostavniji siguran način je otvoriti panel kroz SSH tunel. Na svojem računalu pokrenite:
ssh -L 51821:localhost:51821 USER@SERVER_IP
Ostavite ovu SSH sesiju otvorenom i u pregledniku otvorite http://localhost:51821.
Pristup preko običnog HTTP-a možete i dopustiti: u docker-compose.yml uklonite komentar s bloka environment, postavite INSECURE=true i ponovno pokrenite sudo docker compose up -d. U tom se slučaju lozinka panela šalje nešifrirano, stoga tu opciju koristite samo za testiranje. Za trajni pristup preko naziva domene postavite panel iza obrnutog proxyja (reverse proxy) s HTTPS-om.
Dovršetak prvog pokretanja
Pri prvom pokretanju wg-easy otvara čarobnjak za postavljanje. Nakon pozdravnog zaslona stvorite administratorski račun: unesite korisničko ime i lozinku, zatim potvrdite lozinku.

Kada čarobnjak pita imate li postojeće postavke, odaberite No. Time se stvara nova konfiguracija.
Na sljedećem zaslonu odredite Host i Port koje će klijenti koristiti za spajanje. U polje Host unesite javnu IP adresu ili naziv domene poslužitelja, a ne localhost, čak i ako ste panel otvorili kroz SSH tunel. Port ostavite na 51820. Gumb Suggest popunjava adresu koju wg-easy automatski otkriva.

Adresa iz polja Host upisuje se u konfiguraciju svakog klijenta. Ako unesete pogrešnu adresu, klijenti se neće moći spojiti.
Nakon što se čarobnjak završi, prijavite se stvorenim korisničkim imenom i lozinkom.
Stvaranje klijenta
Na glavnoj stranici panela kliknite New Client, unesite naziv uređaja, na primjer laptop ili phone, i potvrdite. Klijent se pojavljuje na popisu. Pokraj njega nalaze se gumbi za prikaz QR koda i preuzimanje konfiguracijske datoteke.

Za svaki uređaj stvorite zasebnog klijenta. Tako možete onemogućiti ili izbrisati pristup jednog uređaja, a da to ne utječe na ostale.
Povezivanje uređaja
Na svoj uređaj instalirajte službenu aplikaciju WireGuard. Dostupna je za Windows, macOS, Android i iOS na službenoj stranici za preuzimanje WireGuarda.
Na telefonu otvorite aplikaciju WireGuard, odaberite dodavanje tunela putem QR koda i skenirajte kod iz panela.

Na računalu preuzmite konfiguracijsku datoteku klijenta u panelu i uvezite je u aplikaciji WireGuard pomoću opcije Import tunnel(s) from file. Zatim kliknite Activate.
Na Linuxu instalirajte wireguard-tools i openresolv. Bez openresolva naredba wg-quick ne uspijeva na DNS retku konfiguracijske datoteke. Na Ubuntuu i Debianu:
sudo apt install wireguard-tools openresolv sudo wg-quick up ./CLIENT_NAME.conf
Za prekid veze na Linuxu pokrenite sudo wg-quick down ./CLIENT_NAME.conf.
Provjera veze
Kada je tunel aktivan, provjerite koju IP adresu vidi internet:
curl -4 ifconfig.me
Naredba treba vratiti IP adresu vašeg poslužitelja. U pregledniku možete otvoriti i bilo koju web-stranicu za provjeru IP adrese. U wg-easy panelu povezani klijent prikazuje nedavnu aktivnost i promet.
Upravljanje klijentima
Svim se klijentima upravlja na glavnoj stranici panela. Svakog klijenta možete privremeno onemogućiti sklopkom pokraj njega: uređaj ostaje na popisu, ali se ne može spojiti dok ga ponovno ne omogućite. Za potpuno uklanjanje pristupa izbrišite klijenta. Njegova konfiguracijska datoteka i QR kod odmah prestaju raditi. Ako se uređaj izgubi ili je konfiguracijska datoteka možda kopirana, izbrišite tog klijenta i stvorite novog.
Ako nešto ne radi
Ako se panel ne otvara, naredbom sudo docker compose ps provjerite radi li kontejner i pogledajte zapisnik:
sudo docker logs wg-easy
Ako se panel otvara, ali se ne možete prijaviti i vidite poruku o nesigurnoj vezi, otvorili ste ga preko običnog HTTP-a. Koristite SSH tunel iz prethodnog odjeljka.
Ako se klijent ne može spojiti, provjerite je li UDP port 51820 otvoren u vatrozidu poslužitelja i u vatrozidu panela vašeg davatelja usluga, ako ga ima. Otvorite i konfiguracijsku datoteku klijenta te provjerite redak Endpoint: mora sadržavati javnu adresu poslužitelja. Ako sadrži pogrešnu adresu, Host je pogrešno unesen u čarobnjaku za postavljanje.
Ako je tunel aktivan, a uređaj nema internet, provjerite zapisnik poslužitelja naredbom sudo docker logs wg-easy i uvjerite se da je kontejner pokrenut iz službene datoteke docker-compose.yml bez izmjena u odjeljku sysctls.
Ako na Linuxu wg-quick ne uspije s pogreškom u vezi s resolvconf, instalirajte openresolv kako je opisano u odjeljku o povezivanju uređaja.
Ažuriranje wg-easyja
Za instalaciju novije izvedbe verzije 15 preuzmite novu sliku i ponovno stvorite kontejner:
cd /etc/docker/containers/wg-easy sudo docker compose pull sudo docker compose up -d
Klijenti i postavke se zadržavaju jer su pohranjeni u Docker volumenu.
Zaustavljanje i uklanjanje wg-easyja
Za zaustavljanje VPN poslužitelja pokrenite u mapi s datotekom docker-compose.yml:
sudo docker compose down
Konfiguracija ostaje u volumenu, a naredba sudo docker compose up -d ponovno pokreće poslužitelj s istim klijentima.
Za potpuno uklanjanje wg-easyja, zajedno sa svim klijentima i ključevima, dodajte opciju -v:
sudo docker compose down -v
Nakon naredbe sudo docker compose down -v sve konfiguracije klijenata prestaju raditi. Da biste ponovno koristili VPN, morat ćete dovršiti prvo pokretanje i ponovno stvoriti klijente.