Osebni strežnik WireGuard VPN z uporabniku prijaznim spletnim vmesnikom | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

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.

Info

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.

Tip

Č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.

Warning

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.

Warning

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

Warning

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.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA