--- title: "Точечные маршруты Telegram API через AmneziaWG VPN" date: 2026-10-19 tags: [telegram, vpn, amneziawg, routing, network, hermes] --- # Telegram API через AmneziaWG VPN: точечные маршруты **Проблема:** ISP блокирует Telegram API (ConnectTimeout на `api.telegram.org`). AmneziaWG VPN на `192.168.1.147` обходит DPI, но направлять **весь** трафик Hermes LXC (`192.168.1.44`) через VPN нельзя — провайдер LLM (polza.ai) перестаёт работать при полном туннелировании. **Решение:** точечные статические маршруты — только подсети Telegram API через VPN-шлюз, остальной трафик напрямую через Keenetic. ## Сеть | Устройство | IP | Роль | |---|---|---| | Keenetic Giga | 192.168.1.1 | Основной шлюз (default gateway) | | Hermes LXC | 192.168.1.44 | Hermes Agent (TUI, gateway) | | VPN-шлюз LXC | 192.168.1.147 | Docker + AmneziaWG (awg0) | ## Подсети Telegram API ``` 149.154.160.0/20 91.108.56.0/22 91.108.4.0/22 91.108.8.0/22 ``` ## Команды ```bash # Добавить маршруты (вручную) ip route add 149.154.160.0/20 via 192.168.1.147 ip route add 91.108.56.0/22 via 192.168.1.147 ip route add 91.108.4.0/22 via 192.168.1.147 ip route add 91.108.8.0/22 via 192.168.1.147 # Проверить ip route get 149.154.166.110 # → 149.154.166.110 via 192.168.1.147 dev eth0 src 192.168.1.44 curl -v --connect-timeout 10 https://api.telegram.org # → TLS handshake (успех) ``` ## Автоматическое восстановление после перезагрузки Файл: `/etc/network/if-up.d/telegram-vpn-routes` ```bash #!/bin/sh ip route add 149.154.160.0/20 via 192.168.1.147 2>/dev/null ip route add 91.108.56.0/22 via 192.168.1.147 2>/dev/null ip route add 91.108.4.0/22 via 192.168.1.147 2>/dev/null ip route add 91.108.8.0/22 via 192.168.1.147 2>/dev/null ``` ```bash chmod +x /etc/network/if-up.d/telegram-vpn-routes ``` ## Проверка работы Telegram backend в Hermes ```bash journalctl -u hermes-gateway --no-pager -n 20 | grep telegram ``` Успешное подключение: ``` [Telegram] Connected to Telegram (polling mode) ``` Если контейнер `amneziawg-client` на 1.147 упал: ```bash ssh 192.168.1.147 "docker start amneziawg-client" ``` ## Важно - **Только Telegram** идёт через VPN. Polza.ai, web_search, и остальной трафик Hermes — напрямую через Keenetic. - Если контейнер `amneziawg-client` на 1.147 не работает — Telegram backend не сможет подключиться (маршруты есть, но awg0 нет). - При добавлении новых подсетей Telegram API обновить и скрипт `/etc/network/if-up.d/telegram-vpn-routes`.