5.5 KiB
5.5 KiB
🚀 Быстрый старт
1️⃣ Установка Docker (если не установлен)
# Для Ubuntu/Debian
apt update && apt upgrade -y
apt install -y docker.io
systemctl enable docker
systemctl start docker
2️⃣ Создание рабочей директории
mkdir -p ~/wg-easy && cd ~/wg-easy
3️⃣ Запуск контейнера
docker run -d \
--name=wg-easy \
-e WG_HOST=ВАШ_ПУБЛИЧНЫЙ_IP \
-e PASSWORD_HASH='$(docker run --rm ghcr.io/wg-easy/wg-easy password-hash ВАШ_ПАРОЛЬ)' \
-e WG_DEFAULT_DNS=8.8.8.8,8.8.4.4 \
-v ~/wg-easy//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
⚠️ Важно: Замените
ВАШ_ПУБЛИЧНЫЙ_IPна реальный внешний IP вашего сервера.
⚙️ Настройка окружения
🔐 Генерация хеша пароля
docker run --rm ghcr.io/wg-easy/wg-easy password-hash ваш_надёжный_пароль
Скопируйте полученный хеш и подставьте в параметр PASSWORD_HASH.
🌐 Переменные окружения
| Переменная | Обязательная | Описание | Пример |
|---|---|---|---|
WG_HOST |
✅ | Публичный IP сервера | 193.124.57.125 |
PASSWORD_HASH |
✅ | Bcrypt-хеш пароля для веб-интерфейса | $2a$12$... |
WG_DEFAULT_DNS |
❌ | DNS-серверы для клиентов | 8.8.8.8,8.8.4.4 |
WG_MTU |
❌ | MTU для WireGuard-интерфейса | 1420 |
WG_ALLOWED_IPS |
❌ | Разрешённые подсети | 192.168.1.0/24 |
WG_PERSISTENT_KEEPALIVE |
❌ | Интервал keepalive (сек) | 25 |
💡 Полный список переменных: wg-easy Environment Variables
🎛️ Управление контейнером
# 📊 Проверка статуса
docker ps | grep wg-easy
# 📋 Просмотр логов
docker logs wg-easy
docker logs -f wg-easy # в реальном времени
# 🔄 Перезапуск
docker restart wg-easy
# ⏹️ Остановка
docker stop wg-easy
# ▶️ Запуск
docker start wg-easy
# 🗑️ Удаление контейнера (данные в volume сохранятся)
docker rm -f wg-easy
# 🔄 Обновление образа
docker pull ghcr.io/wg-easy/wg-easy
docker stop wg-easy && docker rm wg-easy
# Затем повторите команду запуска из раздела "Быстрый старт"
📁 Расположение данных
~/wg-easy/data/
├── wg0.conf # Конфигурация сервера WireGuard
└── clients/ # Конфигурации клиентов (.conf файлы)
💾 Регулярно делайте бэкап этой директории!
📱 Подключение клиентов
Через веб-интерфейс
- Откройте в браузере:
http://ВАШ_IP:51821 - Введите пароль, указанный при установке
- Нажмите + New Client
- Выберите способ получения конфига:
- 📥 Download — скачать файл
.conf - 📷 QR Code — отсканировать камерой телефона
- 📥 Download — скачать файл
Импорт в клиент WireGuard
| Платформа | Инструкция |
|---|---|
| Android | Установите приложение WireGuard → «+» → «Импорт из файла/QR» |
| iOS | Установите WireGuard → «+» → «Сканировать QR» или «Импортировать» |
| Windows | Скачать клиент → «Import tunnel(s) from file» |
| macOS/Linux | Установите wireguard-tools, скопируйте .conf в ~/.wireguard/, запустите wg-quick up wg0 |
🔒 Безопасность
✅ Рекомендации
- Используйте надёжный пароль для веб-интерфейса
- Настройте Fail2Ban для защиты от брутфорса:
sudo apt install fail2ban -y - Ограничьте доступ к порту
51821по IP (если возможно):# Пример для UFW (разрешить только с доверенного IP) sudo ufw allow from 203.0.113.10 to any port 51821 proto tcp - Регулярно обновляйте Docker-образ:
watchtower или ручной docker pull + restart
🛡️ Настройка фаервола
# UFW (Ubuntu/Debian)
sudo ufw allow 51820/udp # WireGuard трафик
sudo ufw allow 51821/tcp # Веб-интерфейс (опционально ограничить по IP)
sudo ufw enable
# firewalld (CentOS/RHEL)
sudo firewall-cmd --add-port=51820/udp --permanent
sudo firewall-cmd --add-port=51821/tcp --permanent
sudo firewall-cmd --reload