82 lines
3.9 KiB
Markdown
82 lines
3.9 KiB
Markdown
# ТЗ: Proxy VM для обхода РКН
|
||
|
||
## Цель
|
||
Развернуть лёгкую Ubuntu VM в Proxmox которая:
|
||
1. Проксирует Telegram трафик для Home Assistant через VLESS Reality
|
||
2. Работает как прозрачный шлюз для Wi-Fi сети телевизора
|
||
|
||
## Параметры (задаются при деплое)
|
||
|
||
```
|
||
PROXY_VM_IP=192.168.2.200 # IP новой VM в локальной сети
|
||
PROXY_VM_GW=192.168.2.1 # Шлюз (роутер Keenetic)
|
||
VLESS_SERVER_IP=43.245.226.231
|
||
VLESS_SERVER_PORT=15281
|
||
VLESS_UUID=94adf929-9ee6-4704-9685-1b4af0998400
|
||
VLESS_PUBLIC_KEY=r1h3hJh1BP7dbxeVFZsVtXZgeth7Dgr5pNj6dfewbFg
|
||
VLESS_SHORT_ID=59faa5
|
||
VLESS_SNI=google.com
|
||
VLESS_FLOW=xtls-rprx-vision
|
||
```
|
||
|
||
## Что нужно сделать
|
||
|
||
### 1. Установочный скрипт для Ubuntu VM (`install.sh`)
|
||
- Устанавливает Xray клиент (последняя версия)
|
||
- Конфигурирует Xray как:
|
||
- VLESS Reality outbound на сервер
|
||
- Локальный HTTP прокси на порту 8888 (для Telegram бота в HA)
|
||
- Локальный SOCKS5 на порту 1080
|
||
- Настраивает systemd сервис для Xray
|
||
- Включает IP forwarding для прозрачного прокси
|
||
|
||
### 2. Прозрачный прокси для телевизора (`transparent-proxy.sh`)
|
||
- iptables правила: весь трафик из подсети телевизора (отдельный параметр `TV_SUBNET`) направляется через Xray
|
||
- Используем tproxy (реализация через Xray + iptables)
|
||
- Правила сохраняются через iptables-persistent
|
||
- DNS для TV подсети тоже через прокси (чтобы обойти DNS блокировки)
|
||
|
||
### 3. Конфиг Xray (`/etc/xray/config.json`)
|
||
- Inbounds:
|
||
- HTTP прокси: `0.0.0.0:8888`
|
||
- SOCKS5: `0.0.0.0:1080`
|
||
- Tproxy (для прозрачного режима): `0.0.0.0:12345`
|
||
- Outbound: VLESS + Reality на сервер
|
||
- Routing: весь трафик через VLESS outbound
|
||
|
||
### 4. Конфиг для Home Assistant (`ha-telegram-config.yaml`)
|
||
Готовый фрагмент для вставки в `configuration.yaml`:
|
||
```yaml
|
||
telegram_bot:
|
||
- platform: polling
|
||
api_key: "ВСТАВИТЬ_ТОКЕН"
|
||
proxy_url: http://192.168.2.200:8888
|
||
allowed_chat_ids:
|
||
- 126472752
|
||
```
|
||
|
||
### 5. Инструкция для Keenetic (`KEENETIC.md`)
|
||
Как создать новый SSID и направить его трафик через VM:
|
||
- Создать сеть `TV_VPN` (или любое имя)
|
||
- В настройках сегмента — шлюз `192.168.2.200` (наша VM)
|
||
- Телевизор подключается к `TV_VPN` → весь трафик через VLESS
|
||
|
||
## Дополнительно
|
||
- Все параметры вынести в `/etc/xray/params.env` для удобного редактирования
|
||
- Добавить скрипт проверки `check.sh` — пингует api.telegram.org и youtube.com через прокси
|
||
- README.md с пошаговой инструкцией по установке
|
||
|
||
## Структура файлов
|
||
```
|
||
tasks/ha/proxy-vm/
|
||
├── TZ.md (это файл)
|
||
├── install.sh # Основной установочный скрипт
|
||
├── transparent-proxy.sh # Настройка прозрачного прокси
|
||
├── config.json # Xray конфиг (шаблон с переменными)
|
||
├── params.env.example # Пример параметров
|
||
├── ha-telegram-config.yaml # Фрагмент для HA
|
||
├── check.sh # Проверка работоспособности
|
||
├── KEENETIC.md # Инструкция для роутера
|
||
└── README.md # Общая инструкция
|
||
```
|