opened image

Docker жүйесінде Wireguard қалай орнатуға болады

Белгілі, WireGuard — бұл VPN, ол бізге жеке желі мен серфинг үшін қауіпсіз туннель ұсынады. Бұл бізге смартфон немесе жеке компьютер арқылы Интернетке қауіпсіз және сенімді қол жеткізу береді.

Оны таза серверге қалай орнатуға болатынын осы мақаладан біле аласыз.

Бұл нұсқаулықта біз WireGuard-ты Docker контейнерінде 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


Қауіпсіз серфинг жасаңыз.