Настройка Wireguard в Docker: пошаговая инструкция

Для начала создаем сеть с помощью команды docker network create vpn. Далее, на основе образа Debian, подготавливаем окружение для Wireguard, устанавливая необходимые пакеты. После очистки временных файлов, вносим патч для исправления возможной ошибки с sysctl.

Создаем рабочую директорию и загружаем dnscrypt-proxy, который будет использоваться для обработки DNS-запросов. Затем копируем необходимые конфигурационные файлы. Вместо создания собственного образа можно воспользоваться готовым linuxserver/wireguard.

В файле docker-compose.yml определяем сервис Wireguard, добавляя необходимые права и настройки. Важно указать переменные среды, такие как WG_ADDRESS, WG_PRIVATEKEY и другие. Эти переменные будут использоваться для генерации конфигурации Wireguard.

Запускаем сборку и поднимаем сервис с помощью команд docker compose build и docker compose up -d. Для использования Wireguard с другим приложением, создаем отдельный сервис и устанавливаем зависимость от Redis.

Проверяем доступ к сети через тоннель и убедимся, что приложение может взаимодействовать с Redis. Настройка network_mode: «container:vpn» позволяет контейнеру иметь доступ к сети Wireguard. Важно помнить о настройках DNS, чтобы запросы шли через туннель.

При перезагрузке контейнера Wireguard, приложение может потерять доступ к сети. Этот вопрос требует дальнейшего изучения.

Помогите проекту, поделитесь с друзьями ;)

Добавить комментарий