Kako nastaviti lasten WireGuard VPN-strežnik z wg-easy
wg-easy je aplikacija Docker, ki poganja strežnik VPN WireGuard skupaj s spletno ploščo. V plošči ustvarjate odjemalce, prenašate njihove konfiguracijske datoteke ali s telefonom skenirate kodo QR ter vidite, kateri odjemalci so povezani. Ta priročnik prikazuje, kako namestiti trenutno različico, wg-easy v15, na strežnik Linux z Docker Compose in povezati prvo napravo.
wg-easy v15 se razlikuje od starejših različic. Skrbniško geslo se ne posreduje več v spremenljivki PASSWORD: vsebnik, zagnan s PASSWORD ali PASSWORD_HASH, se ne zažene. Uporabniško ime in geslo se zdaj nastavita v brskalniku ob prvem zagonu.
Zahteve
Zadostuje VPS z javnim naslovom IP in dostopom root ali sudo. wg-easy je lahek: 1 vCPU in 1 GB RAM zadostujeta za osebni VPN. Ukazi v tem priročniku so bili preverjeni v Ubuntu 24.04 LTS. Ker wg-easy teče v Dockerju, enako delujejo v Ubuntu 22.04, Debianu 12, AlmaLinuxu 9 in Rocky Linuxu 9.
Če ne želite ničesar nameščati ročno, v tržnici aplikacij INTROSERV naročite VPS z že nameščenim wg-easy in preidite neposredno na prvi zagon.
Namestitev Dockerja
Povežite se s strežnikom prek SSH in z uradno skripto namestite Docker Engine z vtičnikom Compose:
curl -fsSL https://get.docker.com | sudo sh
Preverite, ali sta Docker in Compose nameščena:
sudo docker --version sudo docker compose version
Prenos datoteke docker-compose.yml
wg-easy se namesti z uradno datoteko docker-compose.yml iz skladišča projekta. Zanjo ustvarite mapo in prenesite datoteko:
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 vrstici datoteke sta slika in vrata:
image: ghcr.io/wg-easy/wg-easy:15 ports: - "51820:51820/udp" - "51821:51821/tcp"
Vrata 51820/udp uporablja sam WireGuard, vrata 51821/tcp pa spletna plošča. Oznaka 15 pomeni, da posodobitve ostanejo znotraj različice 15. Konfiguracija in odjemalci so shranjeni v nosilcu (volume) Docker, zato se ohranijo, ko vsebnik znova ustvarite.
Zagon wg-easy
Pojdite v mapo z datoteko in zaženite vsebnik:
cd /etc/docker/containers/wg-easy sudo docker compose up -d
Preverite, ali vsebnik teče:
sudo docker compose ps
V stolpcu STATUS mora biti prikazano Up, v stolpcu PORTS pa vrata 51820/udp in 51821/tcp.
Odprtje vrat v požarnem zidu
Odjemalci se s strežnikom povezujejo prek vrat UDP 51820. Če je na strežniku omogočen UFW, dovolite ta vrata:
sudo ufw allow 51820/udp
V AlmaLinuxu in Rocky Linuxu s firewalld uporabite:
sudo firewall-cmd --permanent --add-port=51820/udp sudo firewall-cmd --reload
Odprtje spletne plošče
wg-easy v15 ne dovoljuje prijave v ploščo prek navadnega HTTP. Najpreprostejši varen način je, da ploščo odprete prek tunela SSH. Na svojem računalniku zaženite:
ssh -L 51821:localhost:51821 USER@SERVER_IP
Ohranite to sejo SSH odprto in v brskalniku odprite http://localhost:51821.
Dostop prek navadnega HTTP lahko tudi dovolite: v docker-compose.yml odkomentirajte blok environment, nastavite INSECURE=true in znova zaženite sudo docker compose up -d. V tem primeru se geslo plošče pošilja nešifrirano, zato to možnost uporabljajte samo za testiranje. Za stalen dostop prek imena domene ploščo postavite za povratni posredniški strežnik (reverse proxy) s HTTPS.
Dokončanje prvega zagona
Ob prvem zagonu wg-easy odpre čarovnika za nastavitev. Po pozdravnem zaslonu ustvarite skrbniški račun: vnesite uporabniško ime in geslo ter potrdite geslo.

Ko čarovnik vpraša, ali že imate obstoječo nastavitev, izberite No. S tem se ustvari nova konfiguracija.
Na naslednjem zaslonu določite Host in Port, ki ju bodo odjemalci uporabljali za povezavo. V polje Host vnesite javni naslov IP ali ime domene strežnika, ne localhost, tudi če ste ploščo odprli prek tunela SSH. Port pustite na 51820. Gumb Suggest izpolni naslov, ki ga wg-easy zazna samodejno.

Naslov iz polja Host se vnese v konfiguracijo vsakega odjemalca. Če vnesete napačen naslov, se odjemalci ne bodo mogli povezati.
Ko se čarovnik konča, se prijavite z ustvarjenim uporabniškim imenom in geslom.
Ustvarjanje odjemalca
Na glavni strani plošče kliknite New Client, vnesite ime naprave, na primer laptop ali phone, in potrdite. Odjemalec se prikaže na seznamu. Ob njem so gumbi za prikaz kode QR in prenos konfiguracijske datoteke.

Za vsako napravo ustvarite ločenega odjemalca. Tako lahko dostop ene naprave onemogočite ali izbrišete, ne da bi to vplivalo na druge.
Povezava naprave
V napravo namestite uradno aplikacijo WireGuard. Na voljo je za Windows, macOS, Android in iOS na uradni strani za prenos WireGuard.
Na telefonu odprite aplikacijo WireGuard, izberite dodajanje tunela s kodo QR in skenirajte kodo iz plošče.

Na računalniku v plošči prenesite konfiguracijsko datoteko odjemalca in jo uvozite v aplikaciji WireGuard z možnostjo Import tunnel(s) from file. Nato kliknite Activate.
V Linuxu namestite wireguard-tools in openresolv. Brez openresolv ukaz wg-quick odpove pri vrstici DNS v konfiguracijski datoteki. V Ubuntuju in Debianu:
sudo apt install wireguard-tools openresolv sudo wg-quick up ./CLIENT_NAME.conf
Za prekinitev povezave v Linuxu zaženite sudo wg-quick down ./CLIENT_NAME.conf.
Preverjanje povezave
Ko je tunel aktiven, preverite, kateri naslov IP vidi internet:
curl -4 ifconfig.me
Ukaz mora vrniti naslov IP vašega strežnika. V brskalniku lahko odprete tudi katero koli spletno stran za preverjanje IP. V plošči wg-easy povezani odjemalec prikazuje nedavno dejavnost in promet.
Upravljanje odjemalcev
Vsi odjemalci se upravljajo na glavni strani plošče. Vsakega odjemalca lahko začasno onemogočite s stikalom ob njem: naprava ostane na seznamu, vendar se ne more povezati, dokler je znova ne omogočite. Če želite dostop popolnoma odstraniti, odjemalca izbrišite. Njegova konfiguracijska datoteka in koda QR takoj prenehata delovati. Če napravo izgubite ali bi bila konfiguracijska datoteka lahko kopirana, tega odjemalca izbrišite in ustvarite novega.
Če kaj ne deluje
Če se plošča ne odpre, z ukazom sudo docker compose ps preverite, ali vsebnik teče, in si oglejte dnevnik:
sudo docker logs wg-easy
Če se plošča odpre, vendar se ne morete prijaviti in vidite sporočilo o nezavarovani povezavi, ste jo odprli prek navadnega HTTP. Uporabite tunel SSH iz prejšnjega razdelka.
Če se odjemalec ne more povezati, preverite, ali so vrata UDP 51820 odprta v požarnem zidu strežnika in v požarnem zidu plošče ponudnika, če ga ta ima. Odprite tudi konfiguracijsko datoteko odjemalca in preverite vrstico Endpoint: vsebovati mora javni naslov strežnika. Če vsebuje napačen naslov, je bil Host v čarovniku za nastavitev vnesen napačno.
Če je tunel aktiven, a naprava nima interneta, z ukazom sudo docker logs wg-easy preverite dnevnik strežnika in se prepričajte, da je bil vsebnik zagnan iz uradne datoteke docker-compose.yml brez sprememb v razdelku sysctls.
Če v Linuxu wg-quick odpove z napako glede resolvconf, namestite openresolv, kot je opisano v razdelku o povezavi naprave.
Posodobitev wg-easy
Za namestitev novejše izdaje različice 15 prenesite novo sliko in znova ustvarite vsebnik:
cd /etc/docker/containers/wg-easy sudo docker compose pull sudo docker compose up -d
Odjemalci in nastavitve se ohranijo, ker so shranjeni v nosilcu Docker.
Zaustavitev in odstranitev wg-easy
Za zaustavitev strežnika VPN zaženite v mapi z datoteko docker-compose.yml:
sudo docker compose down
Konfiguracija ostane v nosilcu, ukaz sudo docker compose up -d pa strežnik znova zažene z istimi odjemalci.
Za popolno odstranitev wg-easy skupaj z vsemi odjemalci in ključi dodajte možnost -v:
sudo docker compose down -v
Po ukazu sudo docker compose down -v vse konfiguracije odjemalcev prenehajo delovati. Če želite znova uporabljati VPN, boste morali dokončati prvi zagon in znova ustvariti odjemalce.