VLASTNÝ VPN SERVER – WIREGUARD AKO DOCKER

WIREGUARD server ako docker
Tento článok je 8 z 18 v sérii Ubuntu server na doma

Wireguard ako docker – v návode si ukážeme ako nainštalovať VPN službu Wireguard ako docker.

Prečo používať vlastnú VPN?

Predstavte si situáciu, že Vám na domácej LAN bežia služby, ktoré nemáte priamo dostupné z internetu a prístup do nich je možný len keď ste pripojený lokálne. Pokiaľ sa ale nachádzate mimo domova a potrebujete čokoľvek nastaviť, alebo zmeniť, pokiaľ nemáte vytvorené vlastné VPN pripojenie, tak toto nie je možné vykonať.
A presne na toto nám slúži VPN server, ktorý si rozbeháme ako ďalšiu službu na našom Ubuntu serveri. Jeho úlohou teda bude, pokiaľ sa budeme domov pripájať z internetu, aby nás pustil do domácej siete. Následne budeme mať plný prístup k jej prvkom tak, ako keby sme boli pripojení doma.

Čo budeme potrebovať?

Pokiaľ chceme mať bežiaci Wireguard ako docker, je potrebné mať nainštalovaný Ubuntu server a následne rozbehanú podporu služby docker. Ako tip si pozrite prípadne návod na zabezpečenie Ubuntu serveru. Samozrejme je potrebné mať vlastnú verejnú IP adresu a prípadne vlastnú doménu.

Nastavenie smerovania subdomény.

U nášho registrátora domény vytvoríme novú subdoménu a nový A DNS záznam, v mojom prípade sa subdoména bude volať mojavpn.vawav.com

pridanie subdomény mojavpn
subdomény zoznam

Týmto sme nasmerovali subdoménu na našu statickú IP adresu.

Povolenie portov na routeri a firewall

Prvou vecou je otvorenie si portu a presmerovanie komunikácie na domácom routeri, kde si presmerujeme port 51820 (môžete si zvoliť svoj vlastný port) cez UDP protokol na IP adresu Ubuntu serveru, v mojom prípadne na 192.168.1.26.

nastavenie UPD portu pre Wireguard

Druhým krokom je povolenie portu 51820 na firewall v Ubuntu serveri. Prihlásime sa na Ubuntu server cez SSH , v mojom prípadne cez príkaz

ssh [email protected] -p 2211

a pravidlo pre firewall pridáme príkazom

sudo ufw allow 51820/udp

Inštalácia Wireguard ako docker

Vytvoríme si adresár, v ktorom sa nám budú ukladať jednotlivé konfiguračné súbory a certifikáty.

sudo mkdir wireguard-server

cesta do tohoto adresára bude teda
/home/tony/wireguard-server – a túto cestu si poznačíme

následné je potrebné zmeniť práva na tento adresár – príkaz

sudo chown tony:tony /home/tony/wireguard-server/

vstúpim do tohto adresára cez

cd wireguard-server

vytvorím si súbor docker-compose.yaml a vstúpim do editácie tohto súboru cez príkaz nano

nano docker-compose.yaml

a vložím kód (použitý kód som čerpal odtiaľto – odkaz)


 version: "2.1"
 services:
   wireguard:
     image: linuxserver/wireguard
     container_name: wireguard
     cap_add:
       - NET_ADMIN
       - SYS_MODULE
     environment:
       - PUID=1000
       - PGID=1000
       - TZ=Europe/Slovakia
       - SERVERURL=mojavpn.vawav.com #optional
       - SERVERPORT=51820 #optional
       - PEERS=1 #optional
       - PEERDNS=auto #optional
       - INTERNAL_SUBNET=10.13.13.0 #optional
     volumes:
       - /home/tony/wireguard-server/config:/config
       - /lib/modules:/lib/modules
     ports:
       - 51820:51820/udp
     sysctls:
       - net.ipv4.conf.all.src_valid_mark=1
     restart: always

Ukončím úpravu súboru cez CTRL + O, Enter, CTRL + X

Pre istotu si skontrolujte svoje PUID a GUID cez príkaz.

id vaseuzivatelskemeno

v mojom prípade

id tony
uid=1000(tony) gid=1000(tony) groups=1000(tony),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd),998(docker)

Následne spustím generovanie docker Wireguard cez príkaz

docker-compose up -d

Po úspešnom spustení si môžeme skontrolovať či nám beží Wireguard služba v dockeri príkazom (služba beží vo vnútri kontajneru)

docker exec -it wireguard wg

Jednotlivé konfiguračné súbory sú priamo v adresári wireguard-server.

V konfiguračnom súbore dockeru sme si nastavovali parameter PEERS=1, ktorý určuje, koľko klientských pripojení máme vytvorených. V mojom prípade teda zatiaľ len jedno. Jeho údaje sú v adresári peer1.
Vstúpim do adresára príkazom

cd peer1/ 

Čo nás zaujíma je súbor peer1.conf.
S týmto súborom budeme ďalej pracovať na klientskom PC.

Inštalácia Wireguard klient

Podľa operačného systému ktorý používate si stiahnite a nainštalujte klienta z týchto stránok.
Vo svojom klientskom PC použijem inštaláciu na základe Ubuntu desktopu (pracujem na PC s PopOS! – ktorý vychádza z Ubuntu desktopu) a to príkazom

sudo apt install wireguard resolvconf

Cez príkaz nano si otvorte na klientskom PC súbor peer1.conf

sudo nano /etc/wireguard/peer1.conf

Pokiaľ sme stále pripojení na Ubuntu server tak si tiež otvoríme tento súbor príkazom

nano  /home/tony/wireguard-server/config/peer1/peer1.conf

označíme všetko a zkopírujeme celý obsah z Ubuntu serveru peer1.conf do klientského súboru peer1.conf (CTRL + SHIFT + V pre vloženie). Klientský súbor uložíme cez CTRL + O, Enter, CTRL + X a opustíme režim úprav.
Zatvoríme súbor aj na serveri.

Na klientskom PC sa pripojíme na Wireguard server príkazom

sudo wg-quick up peer1

Či sme pripojení si skontrolujeme príkazom

sudo wg

Ukončenie pripojenia vykonáme príkazom

sudo wq-quick down peer1

Pridanie ďalšie klienta

Pokiaľ sa chceme napríklad pripájať z mobilu s Androidom, vytvoríme si ďalšie nové pripojenie.

Na serveri Ubuntu si otvoríme súbor docker-compose.yaml

nano /home/tony/wireguard-server/docker-compose.yaml

a zmeníme položku PEERS=1 na PEERS=2, následne uložíme súbor cez CTRL + O, Enter, CTRL + X a opustíme režim úprav súboru.

Znovu necháme vygenerovať docker a to nasledovne.

Prihlásime sa do Portainera na našej IP adrese 192.168.1.26:9000, medzi kontajnermi si nájdeme wireguard a rozklikneme si ho.
Vo vrchnom menu klikneme na červené tlačítko Recreate.

Následne sa vrátime do terminálu a cez príkaz vstúpime do adresára config

cd /home/tony/wireguard-server/config/

Príkazom ls -lh si zobrazíme obsah adresára config

ls -lh

Objavil sa nám nový adresár peer2 do ktorého vstúpim cez

cd peer2/

V poslednom kroku si uvedeným príkazom nechám zobraziť QR kód, ktorý si načítam v mobile, kde je nainštalovaný Wireguard klient.

docker exec -it wireguard /app/show-peer 2

Koniec návodu – Wireguard ako docker.

##### DOSLOV #####
Tvorba obsahu týchto stránok mi zaberá čas, počas ktorého sa snažím dodržiavať pitný režim.
Budem veľmi rád, ak ma v tomto kroku starostlivosti o životosprávu podporíte a prispejete na chod môjho „pivomatu“.
Ďakujem.
Odkazy na zaslanie príspevku.
Patreon – https://www.patreon.com/vawaver
Paypal – https://www.paypal.com/paypalme/vawaver
Revoluthttps://revolut.me/antone9rp

Series Navigation<< BITWARDEN AKO DOCKER A PRIPOJENIE CEZ NGINXWATCHTOWER MONITOR – AKTUALIZÁCIA DOCKEROV >>

4 myšlienky na “VLASTNÝ VPN SERVER – WIREGUARD AKO DOCKER

  1. Dobrý den,snažím se nainstalovat Wireguard na VPS Debian 10.Při zadání příkazu
    docker-compose up -d se mi v terminálu ukázalo -bash: docker-compose: command not found,doinstaloval jsem tedy docker-compose,ale nyní mi hlásí terminál
    ERROR:
    Can’t find a suitable configuration file in this directory or any
    parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml
    Podle mě musím vytvořit ty soubory docker-compose.yml, docker-compose.yaml,ale co mám do souborů přidat nevím.Nebudete prosím vědět jak postupovat dál.Moc děkuji za radu| a články.Díky .Archos.

  2. Pozdravujem Vás,

    Vyzerá to tak podľa hlásenia, že nemáte vytvorený súbor docker-compose.yaml (bod 3 a 4 ďalej)

    Pokiaľ ste postupoval podľa môjho návodu v ktorom túto inštaláciu riešim na Ubuntu serveri (https://wordpress.no-wire.sk/vlastny-vpn-server-wireguard-ako-docker/) malo by Vám všetko fungovať.

    1. Pokiaľ Vám chýbal príkaz docker-compose – super že ste to doinštaloval (my sme to riešili v predchádzajúcom návode, preto som tento problém nemal)
    2. Máte vytvorený adresá wirguard-server a presunuli ste sa do nieho cez príkaz cd wireguard-server?
    3. Cez príkaz nano je v návode ukázaný ako vytvoriť súbor docker-compose.yaml, do neho sa vloží kód z návodu (je to ten najväčší)
    4. Ukončím úpravu súboru cez CTRL + O, Enter, CTRL + X – pokiaľ ste tak neurobili, tak ste síce kód vložili ale neuložili obsah súboru a preto je tento súbor prázdny.
    5. Kontrola UID – máte aj vy hodnoty 1000 ?

    Ak boli dodržané všetky tieto kroky tak by sa mala inštalácia cez príkaz docker-compose up -d minimálne spustiť.

    Dajte vedieť ako ste dopadli. Keď tak budeme pátrať ďalej.

    1. Je možné,že jsem něco přehlédl.Ale Docker mě dost zaujal,tak jsem vytvořil ještě jednu VPS a jedu vaše návody od začátku,tak myslím,že už to bude v pohodě :-).Měl jsem Wireguard na jedné VPS a ostatní věci na jiné.Přes Docker bych mohl mít je jednu VPS.Náhodu návod mail server třeba Mailcow,se nechystáte??

      1. Takže Vám to funguje? Výborne, teším sa. Ak máte viac serverov VPS, kľudne na každom môže byť docker s Wireguard. Na každý sa viete pripojiť s individuálnym konfigom. Je to jednoduché.
        Mailový server som zatiaľ neriešil. Samotná myšlienka mailového serveru na doma je téma na hlbšie zamyslenie sa. Pro vs Proti.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *