Как маршрутизировать локальный трафик через Wi-Fi и все остальное с помощью интерфейса мобильных данных на Android? ⇐ Android
Как маршрутизировать локальный трафик через Wi-Fi и все остальное с помощью интерфейса мобильных данных на Android?
У меня есть телефон Android 13 с root-доступом (oneplus 10 pro), и дома у меня есть локальная сеть Wi-Fi, используемая для устройств умного дома NAS и видеонаблюдения. Эта сеть не подключена к Интернету.
Если я подключусь к этой сети с помощью телефона, я смогу получить доступ к своим локальным устройствам, но просмотр веб-страниц становится невозможным, поскольку весь трафик направляется через сетевой интерфейс Wi-Fi (сеть без доступа в Интернет) по умолчанию на Android при подключении к сеть Wi-Fi. Я хочу, чтобы мой телефон маршрутизировал трафик для локальных IP-адресов (192.168.1.x) через сетевой интерфейс Wi-Fi (Wlan0), а весь остальной трафик маршрутизировал через интерфейс мобильных данных (rmnet_data2).
Я попробовал несколько вещей, но не нашел надежного решения, позволяющего заставить это работать. Надеюсь, кто-нибудь сможет мне в этом помочь. ниже приведены некоторые вещи, которые я делал, пытаясь заставить его работать. У меня был некоторый успех, но я не смог заставить его работать надежно.
№1. Мобильные данные всегда активны
Сначала я включил настройку разработчика «Мобильные данные всегда активны», чтобы адаптеры Wi-Fi и мобильных данных оставались включенными одновременно при подключении к сети Wi-Fi.
№2. Отладка по USB и оболочка
Я включил отладку по USB и подключил телефон к компьютеру, чтобы открыть оболочку для выполнения команд на телефоне (Android использует ядро Linux). используя командную строку и adb, я подключился к своему телефону и открыл оболочку:
$ оболочка adb
затем я повысил его до корневой оболочки
$ su
№3 изменить маршрутизацию
Проверка текущих правил маршрутизации.
Список правил $ip
Проверка таблицы маршрутизации
$ cat /proc/net/route
Проверил маршруты для локальных и общедоступных IP-адресов с помощью команды ip Route Get
$ ip маршрут получить 10.10.10.10
$ ip маршрут получить 192.168.1.135
Добавлено правило для локальных IP-адресов, позволяющее использовать wlan0 с IP-адресом маршрутизатора в качестве шлюза
$ ip маршрут добавить 192.168.1.0/24 через 192.168.1.1 dev wlan0
маршрутизировать все остальное с помощью мобильного соединения
$ ip маршрут добавить dev по умолчанию rmnet_data2
У меня есть телефон Android 13 с root-доступом (oneplus 10 pro), и дома у меня есть локальная сеть Wi-Fi, используемая для устройств умного дома NAS и видеонаблюдения. Эта сеть не подключена к Интернету.
Если я подключусь к этой сети с помощью телефона, я смогу получить доступ к своим локальным устройствам, но просмотр веб-страниц становится невозможным, поскольку весь трафик направляется через сетевой интерфейс Wi-Fi (сеть без доступа в Интернет) по умолчанию на Android при подключении к сеть Wi-Fi. Я хочу, чтобы мой телефон маршрутизировал трафик для локальных IP-адресов (192.168.1.x) через сетевой интерфейс Wi-Fi (Wlan0), а весь остальной трафик маршрутизировал через интерфейс мобильных данных (rmnet_data2).
Я попробовал несколько вещей, но не нашел надежного решения, позволяющего заставить это работать. Надеюсь, кто-нибудь сможет мне в этом помочь. ниже приведены некоторые вещи, которые я делал, пытаясь заставить его работать. У меня был некоторый успех, но я не смог заставить его работать надежно.
№1. Мобильные данные всегда активны
Сначала я включил настройку разработчика «Мобильные данные всегда активны», чтобы адаптеры Wi-Fi и мобильных данных оставались включенными одновременно при подключении к сети Wi-Fi.
№2. Отладка по USB и оболочка
Я включил отладку по USB и подключил телефон к компьютеру, чтобы открыть оболочку для выполнения команд на телефоне (Android использует ядро Linux). используя командную строку и adb, я подключился к своему телефону и открыл оболочку:
$ оболочка adb
затем я повысил его до корневой оболочки
$ su
№3 изменить маршрутизацию
Проверка текущих правил маршрутизации.
Список правил $ip
Проверка таблицы маршрутизации
$ cat /proc/net/route
Проверил маршруты для локальных и общедоступных IP-адресов с помощью команды ip Route Get
$ ip маршрут получить 10.10.10.10
$ ip маршрут получить 192.168.1.135
Добавлено правило для локальных IP-адресов, позволяющее использовать wlan0 с IP-адресом маршрутизатора в качестве шлюза
$ ip маршрут добавить 192.168.1.0/24 через 192.168.1.1 dev wlan0
маршрутизировать все остальное с помощью мобильного соединения
$ ip маршрут добавить dev по умолчанию rmnet_data2
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение