Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

WireGuardv15.5.0

VPN для роутеров и личных устройств: создание конфигов и QR-кодов, просмотр подключений и отзыв доступа вместо ручного управления ключами.

Подключайте роутеры, ноутбуки и телефоны к своему VPN и управляйте доступом из браузера. Для каждого устройства панель wg-easy создает отдельный конфиг: его можно скачать файлом или импортировать по QR-коду, а доступ потерянного устройства отключить в списке клиентов. Используется обычный WireGuard: подойдут стандартные приложения и роутеры с его поддержкой.

После создания сервера установка поднимает VPN и веб-панель, создает администратора и выпускает HTTPS-сертификат для адреса сервера. Дождитесь письма о готовности: первая загрузка образов и выпуск сертификата занимают несколько минут. Адрес уже готов к работе, собственный домен подключать необязательно.

Что внутри

wg-easy 15.5.0 на Node.js 24.22.1
веб-панель для создания клиентов, выдачи конфигов и QR-кодов, просмотра подключений и отключения доступа; номер версии карточки относится к этой панели.
WireGuard из ядра Ubuntu 24.04 LTS
шифрование и передача IPv4-трафика между сервером и устройствами со стандартными клиентами.
Caddy 2.10.0-alpine
HTTPS для панели, выпуск и автоматическое продление сертификата Let's Encrypt.

Два контейнера: wg-easy и Caddy. Настройки, учетные записи и ключи клиентов хранятся в базе SQLite в томе Docker; отдельный сервер базы данных не требуется.

Безопасность

  • Учетная запись с первого запускаадминистратор admin создан установкой; управление клиентами и скачивание конфигов требуют входа, первоначальная настройка закрыта после инициализации.
  • HTTPS для панеливход и скачивание ключей защищены сертификатом Let's Encrypt; порт панели 51821 наружу не опубликован, к ней обращается Caddy по отдельной сети Docker.
  • Закрепленные версии образовустановка использует wg-easy 15.5.0 и Caddy 2.10.0-alpine, поэтому смена тега latest не меняет установленный состав.
  • Защита файлов с доступамиустановщик и файл реквизитов доступны только root; после создания администратора первоначальный пароль удаляется из переменных окружения контейнера.
  • fail2ban для SSHблокирует IP на час после пяти неудачных попыток входа на сервер; вход в веб-панель этой мерой не защищен.

Как войти

  1. Адрес панели формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например, IP 45.15.159.124 дает адрес https://45-15-159-124.fatmetal.net.

  2. Учетная запись уже создана: логин admin, пароль - пароль этого сервера из личного кабинета Fatmetal, тот же, что для SSH. Если вы уже меняли пароль панели, используйте установленный вами пароль.

  3. Нажмите Новый, укажите имя устройства и нажмите Создать клиента. В строке клиента скачайте конфиг или откройте QR-код.

  4. В стандартном приложении WireGuard импортируйте файл или отсканируйте QR-код, затем включите туннель. На роутере с поддержкой WireGuard импортируйте файл в его настройках VPN; способ импорта зависит от прошивки.

  5. Создавайте отдельного клиента для каждого устройства. Чтобы отозвать доступ, выключите его переключателем в списке клиентов.

Важно

Этот вариант передает IPv4. IPv6-трафик через VPN не передается: если устройству нужен также доступ к IPv6-ресурсам через туннель, выбирайте решение с поддержкой IPv6.

Если меняете сетевые правила, оставьте открытыми UDP-порт 51820 для VPN и TCP-порты 80/443 для панели и выпуска сертификатов. Здесь создаются стандартные конфиги WireGuard; дополнительные параметры AmneziaWG в них не добавляются.

Конфиг и QR-код содержат приватный ключ устройства. Передавайте их только владельцу устройства; при утрате отзовите доступ в панели и создайте нового клиента. В настройках учетной записи задайте отдельный пароль панели и включите TOTP, если нужен второй фактор. Встроенного ограничения перебора пароля панели нет.

Перед обновлением или переносом сохраните данные и ключи. По SSH выполните последовательно sudo docker compose -f /opt/wireguard/compose.yml stop wg-easy, sudo tar -czf /root/wireguard-backup.tar.gz -C /var/lib/docker/volumes/wireguard_etc_wireguard/_data . и sudo docker compose -f /opt/wireguard/compose.yml start wg-easy. На время копирования VPN остановится. Перенесите архив в защищенное хранилище: он содержит приватные ключи всех клиентов.

Лицензия

Панель wg-easy распространяется по лицензии AGPL-3.0-only. При изменении панели и предоставлении сетевого доступа к ней соблюдайте требования лицензии о доступности исходного кода измененной версии.

Свой домен

Адрес из IP сервера с HTTPS уже работает; собственный домен необязателен.

  1. Направьте A-запись своего домена на публичный IPv4 сервера.
  2. Проверьте DNS: ping <домен> должен показывать IP сервера. Если адрес другой, дождитесь обновления DNS; ответ на сам ping не обязателен.
  3. По SSH выполните sudo nano /etc/wireguard-mp/params.env и укажите DOMAIN=ваш-домен.ru, без https:// и пути.
  4. Выполните sudo bash /opt/wireguard-mp/install.sh и дождитесь завершения: Caddy применит адрес и выпустит сертификат Let's Encrypt. Повторный запуск сохраняет клиентов, ключи и пароль панели.
  5. Откройте https://ваш-домен.ru: логин admin, прежний пароль панели; первоначально это пароль сервера из личного кабинета Fatmetal.
  6. В панели откройте Administrator -> Админ-панель -> Конфигурация -> Хост, укажите новый домен и нажмите Сохранить. Новые конфиги получат новый адрес сервера; на ранее подключенных устройствах обновите Endpoint или импортируйте конфиг заново.

Требования

Тариф CPU2-RAM4-DISK50 - для личных устройств и небольшой команды. Проверка этого рецепта подтвердила работу одного стандартного клиента: вход, выдачу конфига, подключение и передачу IPv4-трафика. Одновременная работа множества туннелей и скорость через внешнюю сеть не измерялись.

В связанном разборе панель wg-easy 15.4.0 и Caddy занимали в простое 53,8 МиБ RAM суммарно. Это исторический замер другой версии и режима VPN; для версии 15.5.0 отдельные замеры не снимались. При постоянной передаче трафика несколькими устройствами и загрузке обоих ядер выбирайте CPU4-RAM8-DISK100. Скорость зависит также от канала сервера и сети клиента.

Подробный разбор панели и замеров AmneziaWG в Базе знаний →
WireGuard450 ₽/месЗапустить →