9.3 KiB
ProxyVM — Документация проекта
Статус: active
Дата запуска: 04.04.2026
Обновлено: 12.04.2026 (12:04 UTC)
Цели проекта
- Задача #1: Homenet-VPN — Wi-Fi сеть 192.168.4.0/24, TCP трафик через Xray VLESS Reality (прозрачный прокси). UDP/443 (QUIC) — напрямую. Статус: ГОТОВО ✅ (12.04.2026)
- Задача #2: HA Telegram — Home Assistant отправляет Telegram-уведомления через VLESS. Остальной трафик HA — напрямую. Статус: ГОТОВО ✅
Задача #2 — HA Telegram через VLESS (ЗАВЕРШЕНА ✅)
Дата: 10.04.2026
Схема работы
Home Assistant (192.168.2.139, gateway = Keenetic 192.168.2.1)
│
│ SOCKS5 proxy (только telegram_bot интеграция)
▼
vpn-srv SOCKS5 (192.168.2.200:1080) ← Xray
│
│ VLESS Reality (xtls-rprx-vision)
▼
VLESS Server (43.245.226.231:53903)
│
▼
api.telegram.org
Важно: только telegram_bot интеграция ходит через прокси. Остальной трафик HA идёт напрямую через Keenetic.
Конфигурация в HA
Интеграция telegram_bot настроена через UI (Настройки → Интеграции → Telegram Bot):
| Параметр | Значение |
|---|---|
| Platform | polling |
| API Key | 8251509944:AAGkRr_5ZIIQNd4XrlI5QI9DYZS8JUPhcxY |
| Proxy URL | socks5://192.168.2.200:1080 |
| API Endpoint | https://api.telegram.org |
| Allowed Chat ID | 126472752 (Слава) |
| Config Entry ID | 01KNVZDDM3ZNJS1WX309K7E1EN |
Бот
- Username:
@ha542_bot - Bot ID: 8251509944
- Notify Entity:
notify.telegram_bot_8251509944_126472752
Как отправить сообщение из HA
service: notify.send_message
target:
entity_id: notify.telegram_bot_8251509944_126472752
data:
message: "Текст уведомления"
Или через Developer Tools → Services.
Доступ к HAOS
- URL:
https://ha.homenet542.keenetic.pro - IP в LAN: 192.168.2.139
- HAOS Version: 17.1 | HA Core: 2026.3.4
- HA Token:
HA_TOKENв~/.openclaw/.env - SSH через vpn-srv:
# Шаг 1: Скопировать ключ на vpn-srv scp -i /home/node/.openclaw/ha_ssh_key -P 3322 /home/node/.openclaw/ha_ssh_key vpn@185.130.212.192:/tmp/ha_key # Шаг 2: SSH к HA ssh -i /home/node/.openclaw/ha_ssh_key -p 3322 vpn@185.130.212.192 \ "ssh -i /tmp/ha_key root@192.168.2.139"
Задача #1 — Wi-Fi Homenet_vpn transparent proxy (ГОТОВО ✅ 12.04.2026)
Цель: Устройства в сети 192.168.4.0/24 (телевизор и др.) автоматически используют VLESS прокси без настройки на устройстве.
Архитектура (финальная, рабочая)
Телевизор/телефон
│
│ Wi-Fi "Homenet_vpn" (SSID)
▼
Keenetic (DHCP: gateway=192.168.4.1, DNS=192.168.4.1)
│
│ VLAN/bridge → ens19
▼
vpn-srv (192.168.4.1 на ens19)
│
│ iptables nat REDIRECT → port 12345
▼
Xray dokodemo-door:12345 (tproxy=redirect, followRedirect=true)
│
│ VLESS Reality (xtls-rprx-vision)
▼
VLESS Server (43.245.226.231:53903)
│
▼
🌐 Internet
Что работает: DNS (UDP/53 → 1.1.1.1 напрямую), TCP → VLESS ✅, Telegram ✅, YouTube ✅
UDP/443 (QUIC): RETURN — не проксируется (браузер откатывается на TCP автоматически)
MTU/MSS: зажат до 1280 (TCPMSS clamp) — без этого Telegram/YouTube не работали
Почему REDIRECT, а не TPROXY
Пробовали оба режима 12.04.2026:
- TPROXY (
iptables -t mangle TPROXY + ip rule fwmark) — пакеты получали mark, но до Xray не доходили (проблема с routing table 100 + ядро переопределяло маршрут какlocal) - REDIRECT (
iptables -t nat REDIRECT) — работает сразу, проще, надёжнее
Итоговый выбор: nat REDIRECT. redsocks не используется (несовместим с xtls-rprx-vision).
Инфраструктура vpn-srv
Доступ
ssh -i /home/node/.openclaw/ha_ssh_key -o StrictHostKeyChecking=no -p 3322 vpn@185.130.212.192
# sudo через пайп:
echo meNt85doC | sudo -S <команда>
| Параметр | Значение |
|---|---|
| IP (LAN) | 192.168.2.200/24 (ens18) |
| IP (VPN subnet) | 192.168.4.1/24 (ens19) |
| OS | Ubuntu 22.04 |
| Sudo password | meNt85doC |
Сервисы на vpn-srv
| Сервис | Порт | Статус |
|---|---|---|
| frpc | → relay:7000 | ✅ enabled |
| xray | 12345 (redirect), 1080 (socks5), 8888 (http) | ✅ enabled |
| redsocks | — | ❌ не используется (удалить) |
| netfilter-persistent | — | ✅ enabled |
FRP туннель
- relay:
185.130.212.192:7000, token:frp_vpnsrv_2026_secret - SSH через relay: порт 3322 → vpn-srv:22
- relay root SSH:
root@185.130.212.192, парольAR5f7_T-bA
VLESS сервер
vless://009625cc-588f-4cba-941f-ab8c960efa04@43.245.226.231:53903
?type=tcp&encryption=none&security=reality
&pbk=fgKnOtQWS5FErVT8E-roZgQOG6XQzDxB9-N5pRoAyBI
&fp=chrome&sni=yahoo.com&sid=d00e60e4&spx=%2F
&flow=xtls-rprx-vision
Конфигурационные файлы
| Файл | Описание |
|---|---|
/etc/xray/config.json |
Конфиг Xray — dokodemo redirect + SOCKS5 + HTTP + VLESS out ✅ |
/etc/iptables/rules.v4 |
iptables — финальные правила (актуально 12.04.2026) ✅ |
/etc/sysctl.d/99-tproxy.conf |
rp_filter=0, ip_forward=1 ✅ |
/etc/frp/frpc.toml |
FRP клиент ✅ |
/etc/netplan/99-vpn-alias.yaml |
IP 192.168.4.1 на ens19 ✅ |
/etc/network/if-up.d/tproxy-routes |
ip rule для TPROXY (устарел, но безвреден) |
/home/vpn/transparent-proxy.sh |
Скрипт tproxy (устарел, не используется) |
iptables (финальное рабочее состояние, сохранено в rules.v4)
# mangle: MSS clamp (критично для Telegram/YouTube)
-A FORWARD -s 192.168.4.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1280
-A POSTROUTING -s 192.168.4.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1280
# nat: UDP/443 (QUIC) не проксируем — xtls-rprx-vision не поддерживает UDP
-A PREROUTING -s 192.168.4.0/24 -p udp --dport 443 -j RETURN
# DNS напрямую к 1.1.1.1
-A PREROUTING -s 192.168.4.0/24 -p udp --dport 53 -j DNAT --to-destination 1.1.1.1
# TCP → Xray
-A PREROUTING -s 192.168.4.0/24 -p tcp -j REDIRECT --to-ports 12345
# MASQUERADE
-A POSTROUTING -s 192.168.4.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
✅ rules.v4 актуален — сохранён 12.04.2026 12:04 UTC
TODO
- Задача #1: Transparent proxy работает ✅ (12.04.2026 — nat REDIRECT + MSS clamp)
- redsocks не используется (несовместим с xtls-rprx-vision)
- iptables сохранены в rules.v4, netfilter-persistent enabled ✅
- sysctl rp_filter=0 + ip_forward=1 персистентны ✅
- После рестарта всё поднимается автоматически ✅
/homeassistant/custom_components/set_proxy/— не найдено (already gone) ✅- Удалены устаревшие файлы с vpn-srv: transparent-proxy.sh, check.sh, install.sh, config.json, params.env ✅
Хронология
| Дата | Событие |
|---|---|
| 04.04.2026 | Создан сегмент Homenet_vpn в Keenetic, настроен Proxmox VLAN |
| 05.04.2026 | Установлен Xray, настроен tproxy |
| 10.04.2026 | Полная отладка: frpc, redsocks, netplan, iptables-persistent |
| 10.04.2026 | DNS ✅, ping ✅, UDP ✅ — TCP через tproxy ❌ (конфликт flow) |
| 12.04.2026 | Диагностика: найдена ошибка "tproxy": "redirect" в xray config |
| 12.04.2026 | Фикс: исправлено на "tproxy": "tproxy", Xray перезапущен, TCP заработал ✅ |
| 12.04.2026 | TPROXY через mangle не заработал (routing table 100 / ядро) — переключились на nat REDIRECT |
| 12.04.2026 | Telegram/YouTube не работали — фикс: MSS clamp 1280 (splice broken pipe) |
| 12.04.2026 | ПОЛНОСТЬЮ РАБОТАЕТ: сайты ✅ Telegram ✅ YouTube ✅ — все конфиги сохранены |
| 10.04.2026 | Задача #2 DONE: HA Telegram через SOCKS5 proxy → VLESS ✅ |
Хронология отсортирована по дате. Последнее обновление: 12.04.2026 12:08 UTC