opened image

Kaip įdiegti Wireguard Docker'e

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.