opened image

როგორ უნდა დააყენოთ Wireguard Docker-ში

როგორც ცნობილია, WireGuard — ეს არის VPN, რომელიც გვაძლევს დაცულ გვირაბს როგორც პირადი ქსელის, ასევე სერფინგისთვის. ეს გვაძლევს უსაფრთხო და საიმედო წვდომას ინტერნეტში სმარტფონით ან პერსონალური კომპიუტერით.

როგორ უნდა დააყენოთ იგი სუფთა სერვერზე, შეგიძლიათ გაეცნოთ ამ სტატიაში.

ამ სახელმძღვანელოში განვიხილავთ, როგორ უნდა დააყენოთ WireGuard Docker კონტეინერში, utilizando Docker Compose.

 

დავაყენოთ Docker. 

მაგრამ პირველ რიგში, საჭიროა ოპერაციული სისტემის პაკეტების განახლება. 
 

apt update


დავაყენოთ საჭირო პაკეტები და დავამატოთ ახალი რეპოზიტორი:

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"


განვახლოთ პაკეტები ახალ რეპოზიტორით:

apt update


ახლა დავაყენოთ თვითონ Docker.

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


შევამოწმოთ ვერსია:

docker --version


შევამოწმოთ სტატუსი:

systemctl status docker



თუ ის არ გაწვდილა, მაშინ დავიწყებთ:

systemctl start docker


და დავამატებთ ავტო-დაწყებას.

systemctl enable docker


 

 

დავაყენოთ Docker-Compose

ამ პროექტისთვის ჩვენთვის საკმარისი იქნება ვერსია 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


დავაყენოთ გაშვების უფლებები. 

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


შევამოწმოთ როგორ დაიდგა Docker-Compose:

docker-compose --version



დავამატოთ Linux მომხმარებელი ჯგუფში docker:

 

usermod -aG docker $USER


შევქმნათ ფაილი *.yaml Docker-Compose-ისთვის.

რომ შევძლოთ მომავალში გავარკვიოთ, რაც გვაქვს დაყენებული, შევქმნათ ცალკე საქაღალდე ამ პროექტისთვის კატალოგში /opt და გადავიდეთ მასში.

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


თქვენ ასევე შეგიძლიათ გამოიყენოთ თქვენი სახლის კატალოგი /home ამ და სხვა პროექტების განთავსებისთვის. 

გამოვიყენოთ linuxserver-ის რეპოზიტორი docker-compose.yaml ფაილის შესაქმნელად ბმულზე https://hub.docker.com/r/linuxserver/wireguard

შევქმნათ ფაილი docker-compose.yaml ან docker-compose.yml,

vim docker-compose.yaml


და დავამატოთ მასში შემდეგი კოდი:

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


სად:

container_name: თქვენი კონტეინერის სახელი;
TZ=: დროის ზონა, შეგიძლიათ შეცვალოთ საჭირო, მაგრამ ანონიმურობისთვის უკეთესია დატოვოთ Europe/Amsterdam;
SERVERPORT=: შემთხვევითი პორტი, რომელზეც თქვენი VPN იმუშავებს. ის ასევე უნდა იყოს მითითებული ports-ში.
PEERS=: მომხმარებლების რაოდენობა. მათი რაოდენობა შეგიძლიათ გაზარდოთ საჭირო რაოდენობამდე;
51820:51820/udp - გადაცემული პორტები.

დავიწყოთ ჩვენი სკრიპტი (ამისთვის უნდა ვიყოთ იმ დირექტორიაში, სადაც ჩვენი ფაილი შეიქმნა. ამ შემთხვევაში ეს არის /opt/wireguard-server/):

docker-compose up -d 


დაველოდოთ იმიჯების ჩამოტვირთვას და განლაგებას.

შევამოწმოთ:

docker-compose ps


ან 

docker ps



ასევე ეს შეიძლება გაკეთდეს ერთი ბრძანებით 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


რომ გენერირდეთ QR კოდი სმარტფონისთვის:

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


სად:

1 - ეს არის პირველი კონფიგი/მომხმარებელი.

შედეგი:


ყველა კონფიგურაციის ფაილები და QR კოდები განთავსებულია /opt/wireguard-server/config/peer*

 

როგორ უნდა შევქმნათ დამატებითი მომხმარებლები.


ამისთვის უბრალოდ უნდა შეცვალოთ დირექტივა PEERS ფაილში docker-compose.yaml, და დაამატოთ საჭირო რაოდენობის მომხმარებლები.

რომ ცვლილებები ძალაში შევიდეს, უნდა ხელახლა შევქმნათ ჩვენი კონტეინერი:

 

docker-compose up -d --force-recreate


ასევე ანონიმურობისთვის, გამორთეთ ping ჰოსტ სერვერზე:

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

 


და ცვლილებები შევიტანოთ:

sysctl -p


მხიარული სერფინგი.