Update file 04b-olimpvpn.md
This commit is contained in:
parent
34fba681c4
commit
953dde92f1
@ -15,8 +15,8 @@
|
|||||||
3. [Установка и настройка](#установка-и-настройка)
|
3. [Установка и настройка](#установка-и-настройка)
|
||||||
4. [Конфигурация Xray](#конфигурация-xray)
|
4. [Конфигурация Xray](#конфигурация-xray)
|
||||||
5. [Управление клиентами](#управление-клиентами)
|
5. [Управление клиентами](#управление-клиентами)
|
||||||
6. [Бэкапы и восстановление](#Бэкапы-и-восстановление)
|
6. [Бэкапы и восстановление](#бэкапы-и-восстановление)
|
||||||
7. [Мониторинг](#Мониторинг-бэкапов)
|
7. [Мониторинг](#мониторинг)
|
||||||
8. [Решение проблем](#решение-проблем)
|
8. [Решение проблем](#решение-проблем)
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -62,35 +62,6 @@ graph LR
|
|||||||
| **Nginx** | системный | SSL для панели (Let's Encrypt) |
|
| **Nginx** | системный | SSL для панели (Let's Encrypt) |
|
||||||
| **Certbot** | системный | Автообновление SSL |
|
| **Certbot** | системный | Автообновление SSL |
|
||||||
|
|
||||||
### Сетевая схема
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph TD
|
|
||||||
subgraph "Внешний мир"
|
|
||||||
Internet[Интернет]
|
|
||||||
Cloudflare[Cloudflare]
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph "VPS Финляндия (2.27.50.20)"
|
|
||||||
Xray[Xray:2054]
|
|
||||||
Panel[3X-UI:45131]
|
|
||||||
Cert[Certbot:80/443]
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph "Домашняя сеть (192.168.1.0/24)"
|
|
||||||
LXC[LXC media: xray-прокси]
|
|
||||||
NPM[Nginx Proxy Manager]
|
|
||||||
NC[Nextcloud]
|
|
||||||
end
|
|
||||||
|
|
||||||
Client[Клиент VPN] -->|HTTPS| Xray
|
|
||||||
Client -->|HTTPS| Panel
|
|
||||||
Xray -->|Reality SNI| Cloudflare
|
|
||||||
Xray -->|Прокси| Internet
|
|
||||||
LXC -->|Xray-туннель| Xray
|
|
||||||
NPM -->|SSL| Panel
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Установка и настройка
|
## Установка и настройка
|
||||||
@ -167,7 +138,7 @@ docker restart 3xui_app
|
|||||||
| Порт панели | 45131 |
|
| Порт панели | 45131 |
|
||||||
| Корневой путь URL | /olimp-styx/ |
|
| Корневой путь URL | /olimp-styx/ |
|
||||||
| Продолжительность сессии | 360 минут |
|
| Продолжительность сессии | 360 минут |
|
||||||
| URI подписки | /charon-cerberus/ |
|
| URI подписки | /charon-cerber/ |
|
||||||
|
|
||||||
#### Настройка сертификатов
|
#### Настройка сертификатов
|
||||||
|
|
||||||
@ -207,9 +178,6 @@ Short IDs:
|
|||||||
- 04c250ad0b
|
- 04c250ad0b
|
||||||
- 4260c819008e7
|
- 4260c819008e7
|
||||||
SpiderX: /
|
SpiderX: /
|
||||||
Max Time Diff: 0
|
|
||||||
Min Client Ver: 25.9.11
|
|
||||||
Max Client Ver: 25.9.11
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### XHTTP параметры
|
### XHTTP параметры
|
||||||
@ -218,26 +186,11 @@ Max Client Ver: 25.9.11
|
|||||||
Path: /remote.php/dav/upload
|
Path: /remote.php/dav/upload
|
||||||
Mode: stream-one
|
Mode: stream-one
|
||||||
Padding Bytes: 100-1000
|
Padding Bytes: 100-1000
|
||||||
Padding Obfs Mode: выкл
|
Uplink HTTP Method: POST
|
||||||
Uplink HTTP Method: Default (POST)
|
|
||||||
Session Placement: Default (path)
|
Session Placement: Default (path)
|
||||||
Sequence Placement: Default (path)
|
Sequence Placement: Default (path)
|
||||||
No SSE Header: выкл
|
|
||||||
Sockopt: выкл
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Sniffing
|
|
||||||
|
|
||||||
| Параметр | Значение |
|
|
||||||
|----------|----------|
|
|
||||||
| Включено | ✅ Да |
|
|
||||||
| HTTP | ✅ |
|
|
||||||
| TLS | ✅ |
|
|
||||||
| QUIC | ✅ |
|
|
||||||
| FAKEDNS | ✅ |
|
|
||||||
| Metadata Only | ❌ |
|
|
||||||
| Route Only | ❌ |
|
|
||||||
|
|
||||||
### Открытые порты на VPS
|
### Открытые порты на VPS
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -291,24 +244,9 @@ https://charon.zailon.ru:45131/charon-cerberus/CLIENT_ID
|
|||||||
|
|
||||||
Где `CLIENT_ID` — уникальный идентификатор клиента (указан в панели 3X-UI).
|
Где `CLIENT_ID` — уникальный идентификатор клиента (указан в панели 3X-UI).
|
||||||
|
|
||||||
### Текущие клиенты
|
|
||||||
|
|
||||||
| Клиент | Трафик | Статус | Назначение |
|
|
||||||
|--------|--------|--------|------------|
|
|
||||||
| Zailon-tel | 3.12 GB | Офлайн | Телефон (Сережа) |
|
|
||||||
| Zailon-comp | 52.15 GB | Онлайн | Компьютер (Сережа) |
|
|
||||||
| Tanya-tel | 471.00 MB | Офлайн | Телефон (Таня) |
|
|
||||||
| Dima-comp | 1.77 GB | Офлайн | Компьютер (Дима) |
|
|
||||||
| Dima-tel | 7.99 GB | Офлайн | Телефон (Дима) |
|
|
||||||
| cerbera3000-comp | 0 B | Офлайн | Компьютер (Кирилл) |
|
|
||||||
| cerbera3000-tel | 728.32 MB | Офлайн | Телефон (Кирилл) |
|
|
||||||
| Sonya-tel | 0 B | Офлайн | Телефон (Соня) |
|
|
||||||
| lxc-vpn | 4.61 KB | Офлайн | LXC media (прокси) |
|
|
||||||
| Tanya-comp | 4.03 MB | Офлайн | Компьютер (Таня) |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔄 Бэкапы и восстановление
|
## Бэкапы и восстановление
|
||||||
|
|
||||||
### Автоматические бэкапы
|
### Автоматические бэкапы
|
||||||
|
|
||||||
@ -320,7 +258,6 @@ https://charon.zailon.ru:45131/charon-cerberus/CLIENT_ID
|
|||||||
| **Nextcloud** | `nc.zailon.ru/Admin/Домашний Сервер/OlimpBackup/OlimpVPN/` |
|
| **Nextcloud** | `nc.zailon.ru/Admin/Домашний Сервер/OlimpBackup/OlimpVPN/` |
|
||||||
| **Состав бэкапа** | `db/`, `cert/`, `docker-compose.yml` |
|
| **Состав бэкапа** | `db/`, `cert/`, `docker-compose.yml` |
|
||||||
| **Хранение локально** | 30 дней |
|
| **Хранение локально** | 30 дней |
|
||||||
| **Таймзона** | `Asia/Yekaterinburg (+05)` |
|
|
||||||
|
|
||||||
### Ручной запуск бэкапа
|
### Ручной запуск бэкапа
|
||||||
|
|
||||||
@ -360,7 +297,9 @@ docker ps | grep 3xui
|
|||||||
docker logs 3xui_app --tail 20
|
docker logs 3xui_app --tail 20
|
||||||
```
|
```
|
||||||
|
|
||||||
### Мониторинг бэкапов
|
---
|
||||||
|
|
||||||
|
## Мониторинг
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Логи бэкапа
|
# Логи бэкапа
|
||||||
@ -381,7 +320,9 @@ crontab -l
|
|||||||
timedatectl | grep "Time zone"
|
timedatectl | grep "Time zone"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Решение проблем
|
---
|
||||||
|
|
||||||
|
## Решение проблем
|
||||||
|
|
||||||
#### Ошибка 401 Unauthorized
|
#### Ошибка 401 Unauthorized
|
||||||
```bash
|
```bash
|
||||||
@ -428,155 +369,6 @@ systemctl restart cron
|
|||||||
---
|
---
|
||||||
|
|
||||||
> ⚠️ **Важно**: Токен приложения `2Fpz6-ocGSz-rRbaZ-efoa3-EDATz` имеет доступ только к WebDAV. Никогда не используйте основной пароль аккаунта в скриптах!
|
> ⚠️ **Важно**: Токен приложения `2Fpz6-ocGSz-rRbaZ-efoa3-EDATz` имеет доступ только к WebDAV. Никогда не используйте основной пароль аккаунта в скриптах!
|
||||||
```
|
|
||||||
|
|
||||||
### Обновление SSL сертификата
|
|
||||||
|
|
||||||
Certbot обновляет автоматически. Для проверки:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
certbot renew --dry-run
|
|
||||||
|
|
||||||
# Если нужно обновить вручную:
|
|
||||||
certbot renew --nginx
|
|
||||||
|
|
||||||
# Копируем обновленные сертификаты
|
|
||||||
cp /etc/letsencrypt/live/charon.zailon.ru/fullchain.pem /opt/3x-ui/cert/public.crt
|
|
||||||
cp /etc/letsencrypt/live/charon.zailon.ru/privkey.pem /opt/3x-ui/cert/private.key
|
|
||||||
|
|
||||||
# Перезапускаем
|
|
||||||
docker restart 3xui_app
|
|
||||||
```
|
|
||||||
|
|
||||||
### Мониторинг
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Логи 3X-UI
|
|
||||||
docker logs 3xui_app --tail 100 -f
|
|
||||||
|
|
||||||
# Статус контейнера
|
|
||||||
docker ps -a | grep 3xui
|
|
||||||
|
|
||||||
# Использование ресурсов
|
|
||||||
docker stats 3xui_app
|
|
||||||
|
|
||||||
# Проверка портов
|
|
||||||
netstat -tlnp | grep -E '2054|45131'
|
|
||||||
|
|
||||||
# Проверка базы данных
|
|
||||||
docker exec 3xui_app sqlite3 /etc/x-ui/x-ui.db "SELECT COUNT(*) FROM clients;"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Полезные команды
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Перезапуск 3X-UI
|
|
||||||
docker restart 3xui_app
|
|
||||||
|
|
||||||
# Остановка
|
|
||||||
docker compose down
|
|
||||||
|
|
||||||
# Запуск
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# Войти в контейнер
|
|
||||||
docker exec -it 3xui_app bash
|
|
||||||
|
|
||||||
# Сброс пароля админа
|
|
||||||
docker exec 3xui_app /app/x-ui resetuser
|
|
||||||
|
|
||||||
# Экспорт базы данных
|
|
||||||
docker exec 3xui_app sqlite3 /etc/x-ui/x-ui.db ".dump" > x-ui-export.sql
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Решение проблем
|
|
||||||
|
|
||||||
### Клиенты не подключаются
|
|
||||||
|
|
||||||
1. Проверьте что порт 2054 открыт:
|
|
||||||
```bash
|
|
||||||
netstat -tlnp | grep 2054
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Проверьте логи:
|
|
||||||
```bash
|
|
||||||
docker logs 3xui_app | grep -i error
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Убедитесь что Reality ключи верные (совпадают с 3X-UI)
|
|
||||||
|
|
||||||
4. Проверьте время на сервере:
|
|
||||||
```bash
|
|
||||||
timedatectl status
|
|
||||||
```
|
|
||||||
|
|
||||||
### Панель не открывается
|
|
||||||
|
|
||||||
1. Проверьте статус:
|
|
||||||
```bash
|
|
||||||
docker ps | grep 3xui
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Проверьте SSL:
|
|
||||||
```bash
|
|
||||||
ls -la /opt/3x-ui/cert/
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Посмотрите логи nginx:
|
|
||||||
```bash
|
|
||||||
journalctl -u nginx -n 50
|
|
||||||
```
|
|
||||||
|
|
||||||
### Бэкап не загружается
|
|
||||||
|
|
||||||
1. Проверьте токен Nextcloud
|
|
||||||
2. Убедитесь что папка существует
|
|
||||||
3. Проверьте лог:
|
|
||||||
```bash
|
|
||||||
tail /var/log/3x-ui-backup.log
|
|
||||||
```
|
|
||||||
|
|
||||||
### Xray не запускается
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Проверка конфигурации
|
|
||||||
docker exec 3xui_app /app/x-ui v2ui
|
|
||||||
|
|
||||||
# Логи Xray
|
|
||||||
docker logs 3xui_app --tail 100 | grep -i "xray\|error"
|
|
||||||
|
|
||||||
# Пересоздание контейнера
|
|
||||||
cd /opt/3x-ui
|
|
||||||
docker compose down
|
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Безопасность
|
|
||||||
|
|
||||||
### Рекомендации
|
|
||||||
|
|
||||||
1. **Смените пароль администратора** сразу после установки
|
|
||||||
2. **Используйте сложные URI**: `/olimp-styx/` и `/charon-cerberus/`
|
|
||||||
3. **Регулярно обновляйте** 3X-UI и систему
|
|
||||||
4. **Делайте бэкапы** минимум раз в неделю
|
|
||||||
5. **Ограничьте доступ** к панели по IP (если возможно)
|
|
||||||
6. **Мониторьте логи** на предмет подозрительной активности
|
|
||||||
|
|
||||||
### Fail2ban (опционально)
|
|
||||||
|
|
||||||
Для включения fail2ban в docker-compose.yml:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
environment:
|
|
||||||
XUI_ENABLE_FAIL2BAN: "true"
|
|
||||||
XUI_FAIL2BAN_PORT: "45131"
|
|
||||||
XUI_FAIL2BAN_MAX_RETRY: "5"
|
|
||||||
XUI_FAIL2BAN_BAN_TIME: "3600"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user