- Как настроить параметры DHCP для WIFI Tethering (Hotspot) на Android?
- Как настроить параметры DHCP для WIFI Tethering (Hotspot) в android
- 3 ответа
- Устранение ошибки конфигурации IP на устройствах с Android
- Способ 1: Перезагрузка роутера
- Способ 2: Включение DHCP
- Способ 3: Ручное добавление IP-адреса
- Способ 4: Сброс настроек сети (Android 10+)
- Способ 5: Сброс настроек роутера
Как настроить параметры DHCP для WIFI Tethering (Hotspot) на Android?
При подключении моего компьютера к точке доступа Wi-Fi на Android он назначил 192.168.42.x адрес моему компьютеру. Мне действительно нужно изменить это, так как это конфликтует с одной из наших рабочих подсетей — возможно ли это?
К сожалению, нет способа изменить диапазон IP-адресов для встроенной поддержки модема, даже в CyanogenMod. IP-адрес точки доступа Wi-Fi жестко задан в android.net.wifi.WifiStateMachine.startTethering () ; IP-адрес USB-подключения жестко запрограммирован в com.android.server.connectivity.Tethering .
Однако, если ваш телефон рутирован, вы можете попробовать использовать сторонние приложения для модема, у которых есть возможность изменить диапазон IP-адресов. Например, когда встроенный USB-модем был нарушен в CyanogenMod alphas для Samsung Galaxy W, я использовал Wired Tether для корневых пользователей , у которого есть такая опция. Для подключения к Wi-Fi вы можете попробовать приложение Wireless Tether for Root Users от тех же авторов, у которого также есть возможность изменить диапазон IP-адресов.
Поскольку код Google был закрыт, вышеуказанные ссылки больше не работают. Некоторые люди экспортировали исходный код из этих репозиториев в GitHub:
Однако дальнейших разработок не было, и приложения, вероятно, больше не работают на последних версиях Android.
На тот случай, если кто-то захочет попробовать эти устаревшие приложения, я смог найти некоторые APK-файлы в архиве кода Google :
Встроенный Wi-Fi-модем Android предназначен для использования 192.168.43.1/24 в качестве сервера с netd использованием модема-модема dnsmasq . Первый диапазон DNS 192.168.42.1-254 и 2-й диапазон DNS 192.168.43.1-254 .
Netd не легко изменить. Для связи с ним требуется сокет, и этот разъем берется, когда андроид начинает подключаться. Но, просматривая исходные файлы для Tethering.java (я использовал Froyo), мы видим:
И позже мы увидим эти диапазоны, как резервные копии .
Основным источником для диапазонов dhcp являются не жестко закодированные 42 и 43, а чтение из array.config_tether_dhcp_range, внутреннего строкового массива. Но это в настоящее время пусто.
Вы можете редактировать рамки Android. На моем телефоне это так /system/framework/framework-res.apk . Есть целая тонна учебников онлайн для редактирования рамки-res.apk, от простых строк до полной тематизации. Найти один для вашего телефона и Android-версии.
Главное, что вы хотите изменить, это /res/values/arrays.xml
скомпилируйте / запакуйте / подпишите как необходимо (следуйте инструкциям), затем переустановите.
Если вы хотите более одного диапазона, просто скопируйте два элемента снова и снова. Вы всегда должны обеспечить старт и остановку для каждого диапазона. Старайтесь держать его в том же / 24, то есть 192.168.50. 5 и 192.168.50.99 или что-то еще Вы можете подтвердить, что он работает, busybox ps | grep dnsmasq или если у вас нет busybox, ps dnsmasq используйте pid cat /proc/pid/cmdline . Вы должны получить (или подобное):
/ system / bin / dnsmasq —no-daemon —no-poll -no-resolv —dhcp-range = 192.168.50.5,192.168.50.99,1h
FWIW, мой WIFI-модем использует dnsmasq диапазоны по умолчанию , но мой компьютер был назначен 192.168.43.147/24 и шлюз 192.168.43.1/24 . Не уверен, почему ваш 42.x адрес по умолчанию .
Я знаю, что это старый пост, но думал, что предоставлю обновление. Похоже, некоторые производители и версии Android теперь позволяют изменять диапазон IP-подсетей для DHCP-сервера через пользовательский интерфейс при использовании функции точки доступа WiFi. Вот где его можно найти на HTC One M8 под управлением Android 6.0. YMMV.
На экране «Мобильная точка доступа» щелкните значок 3 точки (подробнее), перейдите в раздел «Дополнительно», а затем «Параметры локальной сети». В разделе «Локальный IP» измените IP-адрес на нужный вам IP. В разделе «Локальный DHCP» измените начальный IP-адрес, чтобы он соответствовал подсети вашего IP-адреса.
ПРИМЕЧАНИЕ. Требуется рут.
Диапазон IP-адресов DHCP по умолчанию жестко задан ( 1 ) , вы не можете изменить его, не восстанавливая ПЗУ с измененным исходным кодом. Или использовать небольшой взломать.
Когда вы включаете модем, что происходит (по крайней мере):
- hostapd — демон, который управляет точками доступа — запущен.
- Сетевые интерфейсы настроены, IP-адрес добавлен к интерфейсу Wi-Fi (жестко задан до Android Pie ( 2 , 3 ) , рандомизирован после ( 4 ) ) и добавлена таблица маршрутизации ( 5 ) для локальной сети ( 6 ) .
- dnsmasq — сервер DHCP / DNS (до Pie) — запускается с жестко закодированными аргументами командной строки ( 7 ) (в противном случае можно задать /etc/dnsmasq.conf ( 8 ) ).
Таким образом, мы можем заменить /system/bin/dnsmasq пользовательский сценарий оболочки, взяв на себя управление процессом между ними. Переименуйте исходный бинарный файл в другое:
Создать скрипт /system/bin/dnsmasq :
Подтвердите название вашего интерфейса Wi-Fi ( wlan0 обычно). Проверьте с помощью ip link или ls /sys/class/net/ .
Кроме того, убедитесь ваша локальная таблица маршрутизации сети является 97 : grep local_network /data/misc/net/rt_tables . Маршрутизация Android — беспорядок, усложняющийся с каждым новым выпуском. Так что я не уверен, было ли это постоянным или нет. Также, прежде чем вносить какие-либо изменения, проверьте свою политику маршрутизации и таблицы, чтобы выяснить, что вы должны добавить в свой скрипт:
Правила SELinux также должны быть определены, если (все или некоторые) еще не определены, и если статус равен enforcing . Используйте Magisk suploicy или другой подобный инструмент, например sepolicy-inject :
* не сохраняется при перезагрузке, используйте какой-либо init.d скрипт или замените /sepolicy в ramdisk
Установить права на файлы:
Или вы можете настроить полную привязку из командной строки, запустив свои собственные процессы. Этот ответ включает в себя инструкции, хотя вопрос в другом.
Источник
Как настроить параметры DHCP для WIFI Tethering (Hotspot) в android
При подключении моего компьютера к Wi-Fi Wi-Fi, он назначил адрес 192.168.42.x на мой компьютер. Мне действительно нужно изменить это, поскольку оно противоречит одной из наших подсетей работы — возможно ли это?
3 ответа
К сожалению, нет способа изменить диапазон IP-адресов для встроенной поддержки модема, даже в CyanogenMod. IP-адрес точки доступа Wi-Fi жестко закодирован в android.net.wifi.WifiStateMachine.startTethering () ; IP-модем USB жестко закодирован в com.android.server.connectivity.Tethering .
Однако, если ваш телефон укоренен, вы можете попробовать использовать сторонние приложения для привязки, у которых есть возможность изменить диапазон IP-адресов. Например, когда встроенный USB-модем был сломан в CyanogenMod alphas для Samsung Galaxy W, я использовал Проводной Tether for Root Users , который имеет такой вариант. Для привязки Wi-Fi вы можете попробовать Wireless Tether for Root Users приложение из те же авторы, которые также имеют возможность изменить диапазон IP-адресов.
Поскольку Google Code был закрыт, вышеуказанные ссылки больше не работают. Некоторые люди экспортировали исходный код из этих репозиториев в GitHub:
Однако никаких дальнейших действий по развитию не было, и приложения, вероятно, больше не работают с последними версиями Android.
На всякий случай кто-то хочет попробовать эти устаревшие приложения, я смог найти некоторые файлы APK в Архив Google Code :
Источник
Устранение ошибки конфигурации IP на устройствах с Android
Способ 1: Перезагрузка роутера
Наиболее часто рассматриваемая ошибка возникает вследствие программного сбоя со стороны роутера, когда по каким-то причинам DHCP-сервер не выдаёт телефону или планшету полагающийся адрес. Самым простым и эффективным решением в такой ситуации будет перезагрузка маршрутизатора.
Способ 2: Включение DHCP
Возможно, что по каким-то причинам на маршрутизаторе выключена функция DHCP: Android в таком случае не способен получить адрес IP и выдаёт ошибку конфигурации. Проверить и включить данный параметр можно следующим образом:
- На современных роутерах от ASUS требуемая опция находится в разделе «Локальная сеть» на вкладке «DHCP-сервер» и называется «Включить DHCP-сервер». Переключатель для работы функции должен находиться в положении «Да».
На устройствах от TP-Link с «зелёным» интерфейсом нужный параметр расположен в разделе «DHCP» – «Настройки DHCP», тоже назван как «DHCP-сервер» и должен находиться в положении «Включить».
Для девайсов с более современным «синим» интерфейсом путь выглядит как «Дополнительные настройки» – «Сеть» – «DHCP-сервер», а для работоспособности требуемой функции должен быть отмечен пункт «Включить DHCP-сервер».
В роутерах D-Link нужная опция находится в неочевидном месте. Первым делом понадобится переключиться в режим расширенных настроек и выбрать пункт «LAN» в блоке «Сеть».
Далее убедитесь, что в выпадающем меню «Режим» в разделе «DHCP-сервер» указан вариант «Разрешить».
В роутерах остальных производителей включение нужной нам функции организовано по похожему принципу – ориентируйтесь на названия и местоположения пунктов. После внесения изменений в настройки их надо сохранить и перезапустить устройство.
Способ 3: Ручное добавление IP-адреса
В ситуациях, когда ни первый, ни второй способы вам не помогли, можно попробовать прописать самостоятельно адрес подключения к интернету. В «чистом» Android 11 это делается следующим образом:
- Откройте «Настройки» и перейдите по разделам «Сеть и Интернет» – «Wi-Fi».
Найдите в списке соединений проблемное и тапните по значку настройки справа. Когда соответствующее окно будет открыто, воспользуйтесь кнопкой с иконкой карандаша.
Раскройте выпадающее меню «Расширенные настройки», затем – «Настройки IP», в котором выберите опцию «Статический IP-адрес».
Теперь в строке «IP-адрес» укажите последовательность, где первые три октета (последовательности цифр) повторяют адрес шлюза, тогда как последним может быть любое число, кроме 1 и 255.
Пролистайте перечень параметров ниже, до строк «DNS 1» и «DNS 2», в которые впишите значения 8.8.8.8 и 8.8.4.4 соответственно.
Остальные параметры можно не менять – вернитесь в начало списка, введите пароль и нажмите «Сохранить».
Подождите, пока система соединится с интернетом. Если всё сделано правильно, то ошибка конфигурации IP пропадёт и больше не появится.
Способ 4: Сброс настроек сети (Android 10+)
Может случиться и так, что настройки редактированного подключения почему-то не сохраняются, и не помогает даже удаление с переподключением. Лучший способ устранения подобной проблемы – сброс сетевых параметров на заводские.
Внимание! Эта операция доступна только на устройствах, работающих под управлением Android 10 и новее!
Для «чистого» варианта актуальной 11 версии последовательность действий выглядит так:
- Войдите в приложение настроек и пройдите по пути «Система» – «Дополнительно» – «Сброс настроек».
Тапните по пункту «Сбросить настройки Wi-Fi, мобильного интернета и Bluetooth».
Нажмите «Сбросить настройки», после чего подтвердите операцию.
Важно! Если на устройстве активна блокировка, понадобится ввести пароль, PIN-код или подтвердить личность по лицу либо отпечатком пальца!
Подключитесь к проблемному соединению заново (можно с ручным вводом IP, действия не отличаются от таковых для Способа 3) – на этот раз никаких ошибок не должно появляться.
Способ 5: Сброс настроек роутера
Иногда не помогает ни один из вышеприведённых методов и телефон упорно продолжает отображать ошибку конфигурации IP. Если подобный сбой наблюдается также на других устройствах (например, ноутбуке или телевизоре), это означает, что не в порядке какие-то параметры на самом маршрутизаторе. Наиболее простым методом решения этой проблемы будет сброс девайса до заводских параметров.
Помимо этой статьи, на сайте еще 12473 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник