PIESLĒGTIES
    opened image

    Kā zināms, WireGuard — tas ir VPN, kas ļauj mums izveidot drošu tuneli gan privātajai tīklam, gan pārlūkošanai. Tas nodrošina mums drošu un uzticamu piekļuvi internetam no viedtālruņa vai personālā datora.

    Kā to instalēt uz tīra servera, varat iepazīties šajā rakstā.

    Šajā rokasgrāmatā mēs apskatīsim, kā instalēt WireGuard Docker konteinerā, izmantojot Docker Compose.

     

    Uzstādīsim Docker. 

    Bet vispirms ir jāatjaunina operētājsistēmas pakotnes. 
     

    apt update


    Uzstādīsim nepieciešamās pakotnes un pievienosim jaunu repozitoriju:

    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"


    Atjaunināsim pakotnes ar jauno repozitoriju:

    apt update


    Tagad uzstādīsim pašu Docker.

    apt-get install docker-ce docker-ce-cli containerd.io


    Pārbaudīsim versiju:

    docker --version


    Pārbaudīsim statusu:

    systemctl status docker



    Ja tas nav uzsācies, tad uzsākam:

    systemctl start docker
    


    Un pievienojam automātiskajai palaišanai.

    systemctl enable docker
    


     

     

    Uzstādīsim Docker-Compose

    Šim projektam mums pietiks ar versiju 1.25. 
     

    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    


    Uzstādām izpildes tiesības. 

    chmod +x /usr/local/bin/docker-compose
    


    Pārbaudām, kā uzstādījās Docker-Compose:

    docker-compose --version
    



    Pievienojam Linux lietotāju grupai docker:

     

    usermod -aG docker $USER
    


    Izveidosim failu *.yaml  Docker-Compose.

    Lai nākotnē orientētos, kas mums ir uzstādīts, izveidosim atsevišķu mapi šim projektam katalogā /opt un pāriesim uz to.

    mkdir /opt/wireguard-server && cd /opt/wireguard-server
    


    Jūs varat izmantot arī savu mājas direktoriju /home šī un citu projektu izvietošanai. 

    Izmantosim linuxserver repozitoriju, lai izveidotu failu docker-compose.yaml pēc saites https://hub.docker.com/r/linuxserver/wireguard

    Izveidojam failu docker-compose.yaml vai docker-compose.yml,

    vim docker-compose.yaml
    


    Un pievienojam tam sekojošo kodu:

    version: "2.1"
    services:
      wireguard:
        image: lscr.io/linuxserver/wireguard:latest
        container_name: wireguard
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        environment:
          - PUID=0
          - PGID=0
          - TZ=Europe/Amsterdam
          - SERVERURL=auto
          - SERVERPORT=51820
          - PEERS=1
          - PEERDNS=1.1.1.1
          - INTERNAL_SUBNET=10.10.10.0
          - ALLOWEDIPS=0.0.0.0/0
          - LOG_CONFS=true
        volumes:
          -  /opt/wireguard-server/config:/config
          - /lib/modules:/lib/modules
        ports:
          - 51820:51820/udp
        sysctls:
          - net.ipv4.conf.all.src_valid_mark=1
        restart: always


    Kur:

    container_name: jūsu konteineru nosaukums;
    TZ=: laika zona, varat mainīt uz nepieciešamo, bet anonimitātei labāk atstāt Europe/Amsterdam;
    SERVERPORT=: nejaušs ports, uz kura darbosies jūsu VPN. To arī būs jānorāda ports.
    PEERS=: lietotāju skaits. To varēs palielināt līdz nepieciešamajam skaitam;
    51820:51820/udp - pārsūtītie porti.

    Uzsākam mūsu skriptu (tam jāatrodas direktorijā, kur izveidots mūsu fails. Šajā gadījumā tas ir /opt/wireguard-server/):

    docker-compose up -d 


    Gaidām attēlu lejupielādi un izvietošanu.

    Pārbaudām:

    docker-compose ps


    vai 

    docker ps



    To var izdarīt arī ar vienu komandu docker:

    docker run -d \\ --name=wireguard \\ --cap-add=NET_ADMIN \\ --cap-add=SYS_MODULE \\ -e PUID=0 \\ -e PGID=0 \\ -e TZ=Europe/Amsterdam \\ -e SERVERURL=auto \\ -e SERVERPORT=51820 \\ -e PEERS=1 \\ -e PEERDNS=1.1.1.1 \\ -e INTERNAL_SUBNET=10.10.10.0 \\ -e ALLOWEDIPS=0.0.0.0/0 \\ -e LOG_CONFS=true \\ -p 51820:51820/udp \\ -v /opt/wireguard-server/config:/config \\ -v /lib/modules:/lib/modules \\ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \\ --restart always \\  lscr.io/linuxserver/wireguard:latest


    Lai ģenerētu QR kodu viedtālrunim:

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


    Kur:

    1 - tas ir pirmais konfigurācija/lietotājs.

    Rezultāts:


    Visi konfigurācijas faili un QR kodi atrodas /opt/wireguard-server/config/peer*

     

    Kā izveidot papildu lietotājus.


    Tam vienkārši jāmaina direktīva PEERS failā docker-compose.yaml, pievienojot nepieciešamo lietotāju skaitu.

    Lai izmaiņas stātos spēkā, pārvietojam mūsu konteineru:

     

    docker-compose up -d --force-recreate


    Tāpat anonimitātei, izslēdzam ping uz hosta servera:

    echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
    

     


    Un piemērojam izmaiņas:

    sysctl -p
    


    Patīkamu pārlūkošanu.