root меняет, какие сетевые операции процессу разрешено пробовать. Он не даёт телефону публично доступный адрес, не резервирует входящее отображение у оператора и не поддерживает демон живым после перезагрузки. Если вы решаете, может ли телефон Android выступать в роли VPN-сервера, разделите три вопроса: может ли предполагаемый клиент вообще достучаться до слушателя, какая модель привилегий нужна реализации сервера и что нужно пересылать, когда туннель поднят.

Кто и откуда должен достучаться до телефона

Клиент в той же разрешённой локальной сети и клиент на мобильных данных проверяют две разные сети. Сначала определитесь с предполагаемой, потому что ответы не переносятся. В Wi-Fi незапрошенному входящему трафику обычно нужны отображение на вышестоящем маршрутизаторе и пригодный публичный путь за ним. В сотовой сети NAT операторского уровня означает, что входящий IPv4 часто недоступен, что бы ни разрешал телефон.

Именно этого последнего пункта root не может коснуться. Локальный межсетевой экран телефона и NAT оператора — разные системы, и изменение первой не влияет на вторую. Частный адрес интерфейса, значок мобильных данных или слушающий сокет не являются доказательством доступности. Если путь через оператора всё же даёт глобально маршрутизируемый IPv6, для него всё равно нужна осознанная политика слушателя и межсетевого экрана; иметь адрес — не то же самое, что принимать соединения.

Client pathWhat actually decides reachability
Same LANThe phone's listener and its local firewall
Wi-Fi, from the internetA mapping on the upstream router plus a usable public path beyond it
Cellular IPv4The carrier's NAT, which the handset does not control
Cellular IPv6Address, listener and firewall policy together

Обслуживание и пересылка — два разных успеха

Завершённое рукопожатие VPN доказывает, что туннель существует. Оно не доказывает, что клиент дотянется до локальной сети за телефоном, и не доказывает, что телефон может служить выходом в интернет. Это отдельные конфигурации, построенные на внутреннем плане адресов, маршрутах, поведении при возврате и узко очерченной политике пересылки для той задачи, которая вам действительно нужна.

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

Модель привилегий — это выбор, а не root или ничего

Обычный демон OpenVPN, использующий устройство TUN ядра, требует соответствующих возможностей, доступа к узлу устройства и содействия политики безопасности Android. root не является всеобъемлющим исключением из SELinux; привилегированный процесс всё равно ограничен политикой платформы. Поэтому двоичный файл, спокойно работающий на сервере Linux, может отказать на телефоне без явной ошибки о разрешениях.

Реализация шлюза в пользовательском пространстве может иметь совершенно иную модель привилегий, поэтому распространённое утверждение, что любому VPN-серверу на Android нужен root, слишком широко. root даёт вам возможность пробовать больше операций, а не гарантию, что их разрешат или что результат будет доступен.

Собственная регистрация VPN-службы Android — ещё один отдельный механизм. Она даёт приложению управляемый клиентский интерфейс с определённым жизненным циклом; это не универсальный установщик сервера, и запуск демона из терминала не даёт ему постоянного управления, политики для отдельных приложений или собственного пути восстановления.

Если нужен выход, измените архитектуру

Когда цель — просто удалённый выход в интернет через телефон, а не совместимость с существующим профилем OpenVPN, лучше подходит поддерживаемый выходной узел в оверлейной сети. Tailscale документирует роль выходного узла Android с собственными шагами регистрации, авторизации и выбора клиента.

Компромисс реален, и об этом стоит сказать прямо: вы принимаете другой протокол, другую модель доверия и зависимость от того аккаунта и службы координации. Это не заставляет неизменённый клиент OpenVPN присоединиться к оверлейной сети и не даёт вам слушателя OpenVPN на публичном адресе.

Что ещё нужно развёртыванию

Какой бы путь вы ни выбрали, операционные основы решают, продержится ли это неделю. Держите учётные данные сервера в тайне, выдавайте разные идентичности клиентов и планируйте отзыв до того, как он понадобится. Решите, как приходят обновления, что поддерживает работу службы в фоне и как она восстанавливается после перезагрузки или смены сети.

Избегайте сокращений, которые выглядят удобными: устаревший статический двоичный файл, жёстко закодированные имена интерфейсов и стартовый скрипт, сбрасывающий существующую политику межсетевого экрана. Затем принимайте результат только по конкретному тесту: авторизованный удалённый клиент доходит до нужного ресурса, запрещённые назначения остаются недоступными, а устройство само возвращается после поддерживаемого события жизненного цикла. Доступ root — один из возможных ингредиентов такого результата и редко решающий.

Похожие статьи