📦 wg-easy (WireGuard VPN) — установка через Docker

Простой способ развернуть VPN сервер WireGuard с веб-интерфейсом.

🚀 Быстрый старт
1. Установить Docker
apt update && apt upgrade -y
apt install -y docker.io
systemctl enable docker
systemctl start docker

Проверка:

docker --version
🌐 2. Открыть порты (если используется firewall)
ufw allow 51820/udp
ufw allow 51821/tcp
ufw enable
🔐 3. Запуск wg-easy
docker run -d \
  --name=wg-easy \
  -e WG_HOST=193.124.57.125 \
  -e PASSWORD_HASH='$2a$12$TXjvDufTG5P4ef6k7M0F..3z7NekUPoHnaNyHnY9XHrSIlxG5nPyO' \
  -e WG_DEFAULT_DNS=1.1.1.1,1.0.0.1 \
  -v /etc/wireguard:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --sysctl="net.ipv4.ip_forward=1" \
  --restart unless-stopped \
  ghcr.io/wg-easy/wg-easy
🔍 4. Проверка работы
docker logs -f wg-easy

Ожидаемый результат:

Server Listening on http://0.0.0.0:51821
🌍 5. Доступ к панели

Открыть в браузере:

http://193.124.57.125:51821
Ввести пароль (тот, из которого был создан PASSWORD_HASH)
Создать клиента
Скачать конфиг или QR-код
⚙️ 6. Решение проблем
❌ Нет интернета через VPN

Включить форвардинг:

sysctl -w net.ipv4.ip_forward=1

Добавить NAT:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
❌ Контейнер не запускается

Проверить логи:

docker logs wg-easy
❌ Ошибка с DNS

Правильный формат:

-e WG_DEFAULT_DNS=1.1.1.1,1.0.0.1

❗ Без пробелов после запятой

🔐 Генерация пароля
docker run --rm ghcr.io/wg-easy/wg-easy wgpw yourpassword

Использовать полученный PASSWORD_HASH

📁 Полезные команды

Остановить:

docker stop wg-easy

Удалить:

docker rm wg-easy

Обновить:

docker pull ghcr.io/wg-easy/wg-easy
docker rm -f wg-easy
# затем снова выполнить docker run
💡 Рекомендации
Используй DNS:
1.1.1.1,1.0.0.1 (Cloudflare)
или свой (AdGuard / Pi-hole)
Закрывай порт 51821 через reverse proxy (например Nginx Proxy Manager)
Делай бэкап /etc/wireguard
📌 Примечание
Требуется белый IP
Работает на Ubuntu / Debian / VPS
Интерфейс доступен через браузер

Если хочешь — могу сделать тебе ещё:

версию с docker-compose
настройку через домен (HTTPS)
интеграцию с Cloudflare Tunnel