У меня есть HTC Desire S, у которого есть возможность подключиться через USB и использовать подключение к Интернету на компьютере. Это хорошо работает на Windows, но я изо всех сил пытаюсь настроить его в Ubuntu. Когда я подключаюсь и выбираю сквозной доступ в Интернет из меню usb, создается устройство usb1, и я могу пропинговать его IP-адрес. Я пробовал различные конфигурации iptables и настройку nat, но я не уверен, правильно ли я это делаю или нужна какая-то дополнительная конфигурация ...
Спасибо за любую помощь.
linux
internet
reverse-tether
серо-голубой
источник
источник
Ответы:
Следующее работает какое-то время, но только для браузера.
Когда вы подключаете свой телефон через USB и выбираете сквозную передачу через Интернет, вы должны получить новое устройство RNDIS (usb0 или usb1). Для Ubuntu отредактируйте / etc / network / interfaces и добавьте следующие строки:
Это назначит IP автоматически при добавлении устройства. Если сетевой адрес не назначен автоматически для usb0 или usb1, вы должны сделать это вручную.
Затем вам нужно настроить NAT на вашем компьютере с Linux. Что-то вроде:
Вам также нужен DNS-сервер:
Это работает в течение нескольких минут, но через некоторое время телефон перестает искать HTC Sync и отключается.
Для рутованных телефонов
Вы можете подключиться постоянно, если у вас есть рутированный телефон (у меня работает fre3vo). Выполните следующее с помощью ADB.
Включите режим USB для сети и ADB:
Назначьте IP на устройство usb0 на телефоне:
Добавить маршрут по умолчанию. IP должен быть IP, назначенным для usb0 в Linux:
Установите DNS-сервер. Это открытый DNS-сервер Google, но это может быть IP-адрес вашего компьютера с Linux, если у вас есть DNS-сервер:
источник
phoneip=$(arp -n | grep usb | awk '{print $1}') echo -n -e "\x00\x02\x00\x00" | nc $phoneip 6000 > /dev/null
шестнадцатеричное значение00 02 00 00
- это все, что он ищет.netsh interface ip show config
чтобы увидеть все имена интерфейсов, а затемnetsh interface ip show config name="Local Area Connection #2"
получить только тот интерфейс,Local Area Connection #2
который будет вызывать новый адаптер. Вы можете переименовать это для удобства.А сделал этот маленький удар для автоматизации всего. Просто подключите свой телефон в режиме зарядки к компьютеру и запустите этот bash.
источник
Поскольку у меня нет доступа к Linux-машине, я не могу протестировать это решение, но вы можете попробовать описанные здесь шаги (перевод на русский) .
Комментарии к переводу:
Удачи!
источник
Хорошо, вот что я сделал, рутирование HTC не требуется:
Настройка bind9, NAT и т.д ...
примечание: 1: если вы просто выполните sudo echo 1> / proc / sys / net / ipv4 / ip_forward, вы получите ошибку с правами доступа, поэтому вот сценарий для процесса 2: вы можете сделать iptables более конкретным, как он это делает, добавление параметров для конкретных устройств.
Теперь подключите ваш телефон и выберите «Интернет через»
дождитесь появления устройства в:
ifconfig
проверьте это также в:arp
Я обнаружил, что мне пришлось отключить устройство, а затем снова подключить его, чтобы оно появилось в arp, все не работает должным образом, если arp не показывает устройство.
Затем устройство будет ждать, пока HTC Sync отправит ему сообщение, поэтому вам нужно смоделировать сообщение HTC Syncs:
Я могу написать версию этого, используя D-Bus, чтобы последняя часть выполнялась автоматически, когда устройство подключено и т. Д ....
Хорошо, вот моя работа в процессе, я не смог найти ничего «общего» на d-bus, поэтому я выбрал немного хакерское решение, используя udev .. Это не идеально, например, команда запускается дважды, поэтому я Посмотрим, смогу ли я немного лучше отфильтровать соответствующие параметры, также добавлю тайм-аут в последнем скрипте, просто добавлю и посмотрим, смогу ли я заменить arp чем-то лучше, скажем, посмотрев в / proc
здесь. мой файл .rules из /etc/udev/rules.d, который я создал
Вы можете называть это как угодно, но НЕ НАЧИНАЙТЕ ЕГО НОМЕРОМ, чтобы он запускался последним из всех.
Добавьте следующее в файл как sudo, используя редактор по вашему выбору и т.д ....
По сути, если вы не видите эти 3 'R,
Затем вам понадобятся еще два файла, один для цепочки другого, так как RUN от udev заблокирует все остальное (даже если он запускается последним !!) ... хм ... в любом случае:
Я создал файлы в своем домашнем каталоге на данный момент "/ home / olli /" ... поэтому не забудьте заменить бит / home / olli / на любой, где вы создаете файлы:
так что для меня, перейдите в мой домашний каталог.
создать файл с именем
содержащий следующее:
сделать его исполняемым
создать другой файл с именем
связавшись со следующим
Сделайте его исполняемым:
Надеюсь, у меня скоро будет хорошая приведенная в порядок версия. (наверное завтра).
источник
Обратитесь к Usb Reverse Tethering с Android и Linux без рута, смотрите мой ответ здесь
источник