PRISIJUNGTI
    opened image

    Kaip žinoma, WireGuard — tai VPN, kuris leidžia mums sukurti saugų tunelį tiek asmeninei tinklui, tiek naršymui. Tai suteikia mums saugų ir patikimą prieigą prie interneto iš išmaniojo telefono ar asmeninio kompiuterio.

    Kaip jį įdiegti švariame serveryje, galite susipažinti su šiuo straipsniu.

    Šiame vadove mes aptarsime, kaip įdiegti WireGuard Docker konteineryje, naudojant Docker Compose.

     

    Įdiegime Docker. 

    Bet pirmiausia reikia atnaujinti OS paketus. 
     

    apt update


    Įdiegsime reikalingus paketus ir pridėsime naują saugyklą:

    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"


    Atnaujinsime paketus su nauja saugykla:

    apt update


    Dabar įdiegsime patį Docker.

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


    Patikrinsime versiją:

    docker --version


    Patikrinsime būseną:

    systemctl status docker



    Jei jis neįsijungė, tai įjungiame:

    systemctl start docker
    


    Ir pridėsime prie automatinio paleidimo.

    systemctl enable docker
    


     

     

    Įdiegime Docker-Compose

    Šiam projektui mums pakaks 1.25 versijos. 
     

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


    Nustatome vykdymo teises. 

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


    Patikriname, kaip įdiegėme Docker-Compose:

    docker-compose --version
    



    Pridėsime Linux vartotoją prie docker grupės:

     

    usermod -aG docker $USER
    


    Sukursime failą *.yaml  Docker-Compose.

    Kad ateityje galėtume orientuotis, kas mums įdiegtas, sukursime atskirą aplanką šiam projektui kataloge /opt ir pereisime į jį.

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


    Taip pat galite naudoti savo namų katalogą /home šiam ir kitiems projektams. 

    Pasinaudosime linuxserver saugykla, kad sukurtume docker-compose.yaml failą pagal nuorodą https://hub.docker.com/r/linuxserver/wireguard

    Sukuriame failą docker-compose.yaml arba docker-compose.yml,

    vim docker-compose.yaml
    


    Ir pridėsime į jį šį kodą:

    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ūsų konteinerio pavadinimas;
    TZ=: laiko zona, galite pakeisti į reikiamą, bet anonimiškumui geriau palikti Europe/Amsterdam;
    SERVERPORT=: atsitiktinis portas, kuriuo veiks jūsų VPN. Jį taip pat reikia nurodyti ports.
    PEERS=: vartotojų skaičius. Jų galima didinti iki reikiamo skaičiaus;
    51820:51820/udp - praleidžiami portai.

    Paleidžiame mūsų skriptą (tam reikia būti kataloge, kur sukurtas mūsų failas. Šiuo atveju tai /opt/wireguard-server/):

    docker-compose up -d 


    Laukiame, kol bus atsisiųsti vaizdai ir išplėsti.

    Patikriname:

    docker-compose ps


    arba 

    docker ps



    Taip pat tai galima padaryti viena komanda 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


    Kad sugeneruoti QR kodą išmaniajame telefone:

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


    Kur:

    1 - tai pirmas konfigūracija/vartotojas.

    Rezultatas:


    Visi konfigūracijos failai ir QR kodai yra saugomi /opt/wireguard-server/config/peer*

     

    Kaip sukurti papildomus vartotojus.


    Tam tereikia pakeisti direktyvą PEERS faile docker-compose.yaml, pridėti reikiamą vartotojų skaičių.

    Kad pakeitimai įsigaliotų, perkuriame mūsų konteinerį:

     

    docker-compose up -d --force-recreate


    Taip pat anonimiškumui, išjungiam ping ant hosto serverio:

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

     


    Ir taikome pakeitimus:

    sysctl -p
    


    Malonaus naršymo.