Files
wiki/tasks/ha/proxy-vm/TZ.md
2026-04-12 21:55:33 +03:00

3.9 KiB
Raw Permalink Blame History

ТЗ: 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:

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          # Общая инструкция