Перейти к содержанию

Конфигурация

Переменные окружения

Переменная По умолчанию Описание
WG_PORT 1195 Порт для прослушивания WireGuard
CONFIG_NAME wg0 Имя интерфейса WireGuard (имя конфигурации сервера)
WG_CLIENTS client Имена клиентов, разделенные запятыми
WG_ADDRESS_RANGE 10.9.0.0/24 Диапазон адресов WireGuard
PUBLIC_IP автоопределение Публичный IP для конфигураций клиентов

Монтирование томов

Путь в контейнере Назначение Обязательно
/etc/openvpn/config Файлы конфигурации OpenVPN ✅ Да
/etc/wireguard Ключи и конфигурации WireGuard ⚠️ Настоятельно рекомендуется
/var/log/openvpn Логи OpenVPN ❌ Опционально

Ключи и конфигурации WireGuard

Ключи сервера и конфигурации клиентов можно монтировать отдельно. Если вы не смонтируете каталог WireGuard, контейнер сгенерирует новый набор ключей и конфигураций.

-v ./bridge/wireguard:/etc/wireguard:Z
-v ./bridge/wireguard/clients:/etc/wireguard/clients:Z -v ./bridge/wireguard/keys:/etc/wireguard/keys:Z

Расширенная конфигурация

Несколько клиентов

Для создания конфигураций для нескольких клиентов укажите список имен, разделенных запятыми, в переменной окружения WG_CLIENTS.

-e WG_CLIENTS="number1,number2,number3"
# Создаст: number1.conf, number2.conf, number3.conf

Или вы можете просто указать количество клиентов в переменной окружения WG_CLIENTS, и контейнер сгенерирует необходимое количество клиентов.

-e WG_CLIENTS=3
# Создаст: client1.conf, client2.conf, client3.conf

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

Вы можете добавить клиента в рантайме, выполнив команду в контейнере.

docker exec -it wireguardbridge setup_wireguard add-client test

Это создаст нового клиента с именем test и автоматически перезапустит службу WireGuard. Однако, если вы не смонтировали весь каталог /etc/wireguard (например, если вы монтируете только подпапки clients и keys), новый клиент не будет добавлен в конфигурацию сервера после перезапуска контейнера. В этом случае вы также должны добавить имя клиента в переменную окружения WG_CLIENTS, чтобы он был включен в конфигурацию при запуске.

Пользовательский диапазон сети

Вы можете настроить диапазон IP-адресов для сети WireGuard с помощью переменной окружения WG_ADDRESS_RANGE.

-e WG_ADDRESS_RANGE="10.8.0.0/24"
# Сервер: 10.8.0.1, Клиенты: 10.8.0.2, 10.8.0.3, и т.д.

Статический публичный IP

Если контейнер не может автоматически определить публичный IP-адрес или вы хотите использовать определенный, установите его с помощью переменной окружения PUBLIC_IP.

-e PUBLIC_IP="10.8.0.1"