Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Чё то я сегодня три с лишним часа чинил VPN на телефоне. Закончил тем, что пустил интернет через звонки ВКонтакте :DD



В 17:56 Tailscale на iPhone показал no route to host. Через домашний Wi-Fi подключался, через LTE МегаФона — никак. До сервера управления Tailscale телефон добраться не мог.

Сначала подозревал IPv6, потом DNS. Завёл поддомен на российский VPS, поднял VLESS через WebSocket + TLS, поставил Happ. По Wi-Fi всё работало. На LTE даже обычная проверочная страница на сервере не открывалась. Прямой IP тоже.

При этом Яндекс открывался, один мой сайт на Tilda — тоже. Свои VPS были недоступны. По симптомам очень похоже на режим белых списков. Просто добавить домен в зоне .ru оказалось недостаточно.

Попробовал ещё вход через Cloudflare Tunnel. Сервера между собой общались, а телефон через мобильную сеть снова получал ошибку. На этом желание ещё раз поменять DNS чутка поубавилось.

До рабочего соединения добрался через VK Turn Proxy. Клиент поставил на iPhone через TestFlight, на своём выходном VPS поднял серверную часть и отдельный WireGuard-туннель.

Схема получилась такая:

iPhone → TURN-реле VK → мой VPS → интернет.

TURN — это сервер-посредник, который помогает передавать трафик звонков. Здесь через него идут пакеты моего туннеля: данные шифрует WireGuard, снаружи используется SRTP, протокол передачи медиатрафика. Телефон смог достучаться до реле VK, а реле — до моего сервера.

Отдельно разобрался с безопасностью. В этом режиме WireGuard шифрует пакеты от телефона до моего VPS. На реле можно записать весь поток, но ключей WireGuard у VK нет. При корректной работе туннеля прочитать из такой записи содержимое сайтов или переписки реле не сможет.

VK при этом видит IP телефона и моего сервера, время соединений и объём трафика. Я ещё и вошёл через аккаунт VK, поэтому сеанс можно связать с учёткой. Анонимность эта схема не обещает.

На VPS шифрование WireGuard заканчивается: узлу выхода видны адреса назначений и обычный HTTP. Содержимое HTTPS остаётся зашифрованным до самого сайта. Самому стороннему VPN-клиенту тоже приходится доверять: он обрабатывает трафик и хранит сессию VK. Полного аудита его кода я не проводил.

Обычная ссылка звонка сначала оказалась невалидной. Пришлось войти в VK внутри клиента и создать новую через его кнопку. В 21:13 наконец увидел Connected: восемь соединений из восьми, задержка до TURN около 98 мс. Потом проверил внешний IP — совпал с моим выходным VPS.

Разумеется, после первого отключения всё зависло на Connecting. По логам выяснилось: клиент ставит использованные реле на паузу до десяти минут, ожидая освобождения старых соединений.

Потом подключение вернулось, Telegram снова не работал. Тут я уже включил DIRECT — переключатель, который отправляет трафик мимо туннеля, сохраняя сами соединения. Выключил его, интернет заработал. За вечер дошёл до стадии, когда сам обошёл собственный обход :D

Дополнительных подписок для этой схемы не понадобилось, VPS у меня уже были. Настройки сохранил, серверную часть добавил в автозапуск. Пока проверил на своём iPhone с МегаФоном, за стабильностью ещё понаблюдаю.

Звонить во ВКонтакте я сегодня вообще не собирался.
Просмотры: 6
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти