Уведомление VPN в Android показывает частный адрес: что это значит
Адрес 10.x с /30 в уведомлении VPN на Android — это туннельный интерфейс телефона, а не ваш публичный IP. Разберите его шаг за шагом.
Вы открываете панель уведомлений, нажимаете на постоянное уведомление VPN, и там появляется что-то вроде 10.13.0.42/30 рядом с состоянием «подключено». Это число — адрес, который приложение назначило своему виртуальному интерфейсу на телефоне, поэтому оно описывает один локальный сетевой объект, а не сервер, до которого вы дошли, и не адрес, который зафиксирует какой-нибудь сайт. Ничего секретного в нём нет, и ничто в нём не доказывает, что ваш трафик покрыт. Порядок ниже — тот, которым я пользуюсь, чтобы понять, что на самом деле говорит уведомление: от телефона в руке до настоящей проверки адреса.
Начните с уведомления, а не с поля поиска
Современный клиент Android обычно показывает в одной панели две разные вещи: состояние соединения и блок адреса. Состояние говорит, что туннель поднят. Блок адреса говорит, что приложение настроило на стороне телефона в этом туннеле, и клиенты печатают его, потому что это самое простое доказательство существования интерфейса.
Прежде чем делать что-то ещё, удерживайте уведомление и откройте страницу сведений о приложении. Запишите имя пакета и отметьте, находится ли приложение в личном или в рабочем профиле. Два VPN-клиента с похожими значками могут жить на одном устройстве, и панель не всегда называет того, кого вы предполагаете. Если значок незнаком, это и есть находка, а адрес — отвлечение.
Одновременно существуют три адреса
У телефона есть адрес Wi-Fi или мобильной сети, у приложения есть адрес на его туннельном интерфейсе, а у какого-то удалённого шлюза есть публичный адрес источника, который видит внешний мир. Это три отдельные назначения, и ни одно не выводится из двух других.
Туннельный адрес в уведомлении почти всегда частный. 10.13.0.42 находится внутри 10.0.0.0/8, одного из диапазонов, зарезервированных RFC 1918, поэтому любой провайдер волен выдавать то же число. Увидев его, вы узнаёте, что приложение использовало частный пул, а не где этот пул размещён. Два телефона на разных континентах могут сообщать одинаковое значение.
Именно из-за этого повторного использования адрес не может служить отпечатком. Второй провайдер может взять тот же блок, потому что пулы между компаниями ничем не согласованы. Провайдеры выбирают их по привычке и по тому, что уже ожидает конфигурация их шлюза.
Читайте /30 как префикс, а не как количество
Число после косой черты — длина префикса. Здесь /30 означает тридцать бит сетевого префикса, что оставляет два бита для хостов, поэтому блок охватывает 10.13.0.40 — 10.13.0.43. Это не тридцать устройств и не сервер в тридцати переходах.
Небольшие префиксы вроде этого обычны для туннельных линий «точка-точка»: один пригодный адрес для телефона, один для дальнего конца. Сохраняет ли приложение такую схему на самом деле — свойство его конфигурации. Воспринимайте префикс как подсказку о том, как спроектировано приложение, а не как карту сети провайдера.
Подтвердите туннель с телефона
Настройки, затем Сеть и интернет, затем VPN перечисляют активный профиль и приложение, которому он принадлежит. Именно этот экран авторитетен в вопросе о том, какой клиент подключён. Уведомление — лишь его сводка. Когда они расходятся, доверяйте экрану настроек, а уведомление считайте устаревшим.
Если вы строите разрешённую диагностическую интеграцию, выбранный объект Network раскрывает адреса соединения и имя интерфейса через LinkProperties. Запишите профиль и сеть, в которой взяли выборку, потому что снимок, сделанный в неверной сети, отвечает на вопрос, которого никто не задавал.
Доступ через shell менее надёжен, чем ожидают люди. Имена интерфейсов зависят от версии и производителя. Фильтр, который совпадает только со строкой IPv4, содержащей tun, молча пропустит назначения IPv6 и любого клиента, называющего свой интерфейс иначе. Прочитайте полный список, прежде чем сужать его.
Проверьте, что видит сайт из нужного вам приложения
Откройте в браузере публичную проверку адреса, а затем повторите проверку внутри приложения, которое вы действительно хотите защитить. Если оба показывают один и тот же адрес источника, туннель несёт оба. Если они различаются, работает маршрутизация по приложениям или раздельное туннелирование.
Две конфигурации дают здоровое уведомление вообще без удалённого выхода. Локальное приложение фильтрации может создать туннельный интерфейс, чтобы проверять DNS или блокировать рекламу без всякого сервера. VPN только для частной сети можно построить для доступа к домашней сети, пока обычный просмотр остаётся прямым. В обоих случаях адрес на панели настоящий, а предполагаемое покрытие — нет.
Решите, заслуживает ли уведомление второго взгляда
Неожиданное уведомление VPN стоит расследовать как установленное приложение, а не как адрес. Проверьте владельца профиля, права администратора устройства и всё, что добавилось с момента последнего просмотра этого списка. Отзовите то, что не можете объяснить, и снова понаблюдайте за панелью. Если уведомление вернётся с профилем, который вы узнаёте, ответ у вас есть. Если вернётся без него, приложение запускает что-то другое.
Затем замкните круг: приложение-владелец, активный профиль, адрес источника из нужного вам приложения и ожидаемый маршрут. Если все четыре совпадают, число в уведомлении — просто учёт, и ничего больше.