# 🚀 WireGuard VPN - Полное руководство

## 📋 Обзор

WireGuard VPN позволяет подключаться к серверу 209.38.32.21 и использовать его как прокси для обхода интернет-ограничений.

**Преимущества:**
- ✅ Современный протокол (state-of-the-art криптография)
- ✅ Очень быстрый (85-95% от пропускной способности)
- ✅ Простая настройка (минимум конфигурации)
- ✅ Полное туннелирование из коробки
- ✅ Низкое потребление ресурсов

---

## 🔧 Развертывание сервера

### Автоматическое развертывание

```bash
bash scripts/deployment/deploy-vpn-wireguard.sh
```

Скрипт автоматически:
1. ✅ Проверит подключение к серверу
2. ✅ Создаст необходимые директории
3. ✅ Настроит Docker контейнер
4. ✅ Обновит firewall правила
5. ✅ Запустит VPN сервер
6. ✅ Создаст клиентскую конфигурацию

### Ручное развертывание

1. Подключитесь к серверу: `ssh hunab-prod`
2. Создайте директории:
   ```bash
   sudo mkdir -p /opt/app/vpn/wireguard/config
   sudo chown -R hunab:hunab /opt/app/vpn
   ```
3. Создайте docker-compose файл
4. Запустите контейнер: `docker compose -f docker-compose.vpn.yml up -d`
5. Откройте порт: `sudo ufw allow 51820/udp comment 'WireGuard VPN'`

---

## 📱 Настройка клиентов

### Android / iOS

1. Установите приложение **WireGuard** из Google Play / App Store
2. Нажмите **"+"** → **"Создать из файла или архива"**
3. Выберите файл `wireguard-peer1.conf` (созданный скриптом)
4. Нажмите **"Подключиться"**

### Windows / macOS / Linux

1. Установите WireGuard клиент:
   - **Windows:** https://www.wireguard.com/install/
   - **macOS:** `brew install wireguard-tools`
   - **Linux:** `sudo apt install wireguard`

2. Импортируйте конфигурацию:
   ```bash
   # Linux/macOS
   sudo cp wireguard-peer1.conf /etc/wireguard/wg0.conf
   sudo wg-quick up wg0
   ```

---

## 🔍 Проверка подключения

### На сервере

```bash
# Проверка статуса контейнера
docker ps | grep hunab-vpn-wireguard

# Просмотр логов
docker logs hunab-vpn-wireguard

# Проверка подключенных клиентов
docker exec hunab-vpn-wireguard wg show
```

### На клиенте

```bash
# Linux/macOS
sudo wg show

# Проверка IP адреса
curl ifconfig.me
# Должен показать IP сервера 209.38.32.21
```

---

## 🛠️ Управление

### Добавление нового клиента

```bash
ssh hunab-prod
cd /opt/app
docker compose -f docker-compose.vpn.yml down
# Измените PEERS=1 на PEERS=2 в docker-compose.vpn.yml
docker compose -f docker-compose.vpn.yml up -d
# Новый конфиг будет в /opt/app/vpn/wireguard/config/peer2/peer2.conf
```

### Остановка VPN

```bash
ssh hunab-prod "cd /opt/app && docker compose -f docker-compose.vpn.yml down"
```

### Перезапуск VPN

```bash
ssh hunab-prod "cd /opt/app && docker compose -f docker-compose.vpn.yml restart wireguard"
```

### Просмотр статистики

```bash
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show"
```

---

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

### Рекомендации

1. ✅ **Храните конфигурационные файлы в безопасности**
2. ✅ **Регулярно обновляйте ключи** (каждые 3-6 месяцев)
3. ✅ **Мониторинг трафика**
4. ✅ **Обновляйте контейнер** регулярно

---

## 🐛 Решение проблем

### VPN не подключается

1. Проверьте статус контейнера: `docker ps | grep wireguard`
2. Проверьте логи: `docker logs hunab-vpn-wireguard`
3. Проверьте firewall: `sudo ufw status | grep 51820`
4. Проверьте порт: `sudo netstat -tuln | grep 51820`

### Медленное подключение

1. Проверьте задержку: `ping 209.38.32.21`
2. Проверьте нагрузку сервера: `docker stats hunab-vpn-wireguard`

### Клиент не получает IP

1. Проверьте конфигурацию: `sudo wg show`
2. Перезапустите VPN на сервере

---

## 📊 Мониторинг

### Просмотр активных подключений

```bash
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show"
```

### Просмотр трафика

```bash
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show wg0 transfer"
```

---

## 📝 Примечания

- **Порт:** UDP 51820 (можно изменить)
- **Сеть VPN:** 10.13.13.0/24 (можно изменить)
- **Контейнер:** `hunab-vpn-wireguard`
- **Конфигурация:** `/opt/app/vpn/wireguard/config/`

---

## 🔗 Полезные ссылки

- [WireGuard Official](https://www.wireguard.com/)
- [WireGuard Docker Image](https://github.com/linuxserver/docker-wireguard)
- [WireGuard Client Apps](https://www.wireguard.com/install/)

---

**Версия:** 2.0  
**Дата:** 2025-01-XX

