როგორც ცნობილია, WireGuard — ეს არის VPN, რომელიც გვაძლევს დაცულ გვირაბს როგორც პირადი ქსელის, ასევე სერფინგისთვის. ეს გვაძლევს უსაფრთხო და საიმედო წვდომას ინტერნეტში სმარტფონით ან პერსონალური კომპიუტერით.
როგორ უნდა დააყენოთ იგი სუფთა სერვერზე, შეგიძლიათ გაეცნოთ ამ სტატიაში.
ამ სახელმძღვანელოში განვიხილავთ, როგორ უნდა დააყენოთ WireGuard Docker კონტეინერში, utilizando Docker Compose.
მაგრამ პირველ რიგში, საჭიროა ოპერაციული სისტემის პაკეტების განახლება.
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
ამ პროექტისთვის ჩვენთვის საკმარისი იქნება ვერსია 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
მხიარული სერფინგი.