Если я подключусь к этой сети с помощью телефона, я смогу получить доступ к своим локальным устройствам, но просмотр веб-страниц становится невозможным, поскольку весь трафик направляется через сетевой интерфейс Wi-Fi (сеть без доступа в Интернет) по умолчанию на Android при подключении к сеть Wi-Fi.
Я хочу, чтобы мой телефон маршрутизировал трафик для локальных IP-адресов (192.168.1.x) через сетевой интерфейс Wi-Fi (Wlan0), а весь остальной трафик маршрутизировал через интерфейс мобильных данных (rmnet_data2).
Я попробовал несколько вещей, но не нашел надежного решения, чтобы заставить это работать. Надеюсь, кто-нибудь сможет мне в этом помочь.
ниже приведены некоторые вещи, которые я сделал, пытаясь это сделать. заставить его работать, у меня был некоторый успех, но я не могу заставить его работать надежно.
#1. Мобильные данные всегда активны
Сначала я включил настройку разработчика «Мобильные данные всегда активны», чтобы адаптеры Wi-Fi и мобильных данных оставались включенными одновременно при подключении к сети Wi-Fi.
Сначала я включил настройку разработчика «Мобильные данные всегда активны».
p>
#2. Отладка по USB и оболочка
Я включил отладку по USB и подключил телефон к компьютеру, чтобы можно было открыть оболочку для выполнения команд на телефоне (Android использует ядро Linux).
с помощью командной строки и adb я подключился к своему телефону и открыл оболочку:
Код: Выделить всё
$ adb shell
Код: Выделить всё
$ su
Проверка текущих правил маршрутизации.
Код: Выделить всё
$ ip rule list
Код: Выделить всё
$ cat /proc/net/route
Код: Выделить всё
$ ip route get 10.10.10.10
Код: Выделить всё
$ ip route get 192.168.1.135
Код: Выделить всё
$ ip route add 192.168.1.0/24 via 192.168.1.1 dev wlan0
Код: Выделить всё
$ ip route add default dev rmnet_data2
Подробнее здесь: https://stackoverflow.com/questions/772 ... ile-data-i