КІРУ
    opened image

    Белгілі, 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
    


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