3.0 KiB
3.0 KiB
title, date, tags
| title | date | tags | ||||||
|---|---|---|---|---|---|---|---|---|
| Точечные маршруты Telegram API через AmneziaWG VPN | 2026-10-19 |
|
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
Команды
# Добавить маршруты (вручную)
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
#!/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
chmod +x /etc/network/if-up.d/telegram-vpn-routes
Проверка работы Telegram backend в Hermes
journalctl -u hermes-gateway --no-pager -n 20 | grep telegram
Успешное подключение:
[Telegram] Connected to Telegram (polling mode)
Если контейнер amneziawg-client на 1.147 упал:
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.