opened image

Kā instalēt Wireguard Dockerī

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.