Примечание. Я обнаружил, что для достижения того, чего я хочу, есть более простой и гибкий способ, чем обратная привязка. Если вы когда-нибудь были в моей ситуации, прочитайте ответ ниже.
Я подключаю интернет с ноутбука через USB и не хочу делиться им дальше, создав точку доступа на моем телефоне Android с root-правами.
У меня есть интернет не только в моем браузере, но и везде, включая Play Store и Whatsapp, когда я переключаю его с ноутбука через USB.
Единственная проблема заключается в том, что когда я запускаю точку доступа Wi-Fi на своем телефоне, чтобы другие устройства могли использовать этот Интернет, они не получают доступ в Интернет. Как это исправить?
Вот команды, которые я использовал, чтобы настроить свой телефон на прием интернета с моего ноутбука:
ifconfig rndis0 10.42.0.2 netmask 255.255.255.0
route add default gw 10.42.0.1 dev rndis0
ifconfig ccmni0 0.0.0.0
Где ccmni0
находится мой интерфейс мобильных данных и rndis0
интерфейс, через который я получаю доступ в Интернет.
Почему я хочу это сделать, не имеет отношения к вопросу, но читайте дальше, если хотите.
Причина всего этого в том, что мне и моему соседу по комнате приходится пользоваться одним кабелем локальной сети. Мы оба используем Linux и имеем карты Broadcom WiFi, чьи драйверы Linux не позволяют вам создать точку доступа с ноутбука. У меня только линукс, а мой друг использует линукс только время от времени. Когда он работает в Windows, он создает точку доступа Wi-Fi со своего ноутбука, используя connectify. Но когда он на Linux, я хочу временно создать точку доступа через мобильный телефон, чтобы поделиться Интернетом.
Хотя это конкретно не отвечает на мой вопрос, я решил свою проблему. Что я хотел сделать, так это поделиться своим интернетом с моим другом через WiFi, используя мой мобильный Android, потому что мой ноутбук с Linux не имеет поддержки драйверов для создания точек доступа WiFi. Бродком отстой!
Я использую свой мобильный телефон для создания сети Wi-Fi (через точку доступа), подключаю свой ноутбук (источник Интернета) и другие устройства, которым требуется Интернет, к сети. Теперь я настраиваю свой ноутбук в качестве шлюза и настраиваю другие устройства для использования моего ноутбука в качестве шлюза.
Вот руководство, которому я следовал. К счастью для меня, я использую Arch Linux. Но это должно работать, даже если вы используете другой дистрибутив Linux, например Ubuntu. Итак, вот оно:
Запустите точку доступа на своем мобильном телефоне и подключите ноутбук с доступом в Интернет и устройство, которому требуется подключение к Интернету.
Создайте сценарий с именем start-gateway.sh со следующим содержимым.
#!/bin/bash sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Сценарий предполагает, что интерфейс с доступом в Интернет есть eth0
, и вам нужно пересылать пакеты с wlan0
(вашего интерфейса WiFi) на ваше Ethernet-соединение. Поэтому, пожалуйста, подтвердите, если это имена интерфейсов из ifconfig
вывода.
Сделайте скрипт исполняемым, и все готово:
chmod u+x start-gateway.sh
Всякий раз, когда вам нужно запустить шлюз, выполните скрипт с привилегиями root при подключении к WiFi:
sudo ./start-gateway.sh
Теперь все, что вам нужно сделать, чтобы получить доступ к Интернету на других устройствах, подключенных к WiFi, — это вручную установить IP-конфигурацию на этих устройствах, указав шлюз в качестве IP-адреса вашего нового шлюза. Помните, что по умолчанию шлюзом будет телефон, на котором размещена сеть WiFi (у которой нет интернета), и вам нужно изменить шлюз на тот, который вы создали.
Публикую как ответ @daltonfury42, так как у меня недостаточно репутации, чтобы сделать это под его ответом.
У меня также есть следующий адаптер:
:~$ lspci -nn -d 14e4:
08:00.0 Сетевой контроллер [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Я пытался создать доступ точка (AP) с моего ноутбука, но, как утверждает автор: "Broadcom - отстой!"
Мои 2 цента в этом комментарии - это то, на что у меня ушло много времени - установить правильные настройки DNS и шлюза.
Моя установка:
Теперь уточним: «Теперь все, что вам нужно сделать, чтобы подключиться к Интернету на других устройствах, подключенных к WiFi, — это вручную установить IP-конфигурацию на этих устройствах, указав шлюз в качестве IP-адреса вашего нового шлюза. Помните, что по умолчанию шлюзом будет телефон, на котором размещена сеть WiFi (у которой нет интернета), и вам нужно изменить шлюз на тот, который вы создали».
На моем смартфоне я подключился к точке доступа/планшету через wi-fi. После того, как вы подключились к точке доступа, изначально у вас нет интернета. Вам необходимо отредактировать данные вновь созданного соединения на смартфоне следующим образом:
Просто нажмите «ОК», и ваш смартфон теперь должен использовать правильный шлюз и настройки DNS, и у вас должен быть доступ в Интернет.
Я надеюсь, что это сэкономит время другим людям :)
Телефоны Android предназначены для одновременного управления одним WiFi-соединением. Если вы подключили свой телефон к ноутбуку и хотите, чтобы телефон работал в качестве точки доступа, ему придется управлять двумя соединениями Wi-Fi (одно к ноутбуку, другое в качестве точки доступа). Это невозможно из коробки. Однако существует приложение под названием FQRouter2 для рутированных устройств Android, которое, как утверждается, может делать именно это.
Более подробную информацию можно найти , например, здесь .
Обновление: я видел ваш комментарий.
Проблема, по-видимому, заключается в том, что мобильный телефон не может правильно направлять трафик от своего WiFi-соединения к USB-соединению.
Это поднимает вопрос, почему вы не используете ноутбук напрямую в качестве точки доступа. Эта функция доступна в сетевых настройках Ubuntu. Однако сообщалось о проблемах с мобильными устройствами Android. Они не распознают встроенную точку доступа Ubuntu.
Вот как это решить:
Сначала установите ap-hotspot:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
После установки ap-hotspot дальнейшие шаги должны быть довольно простыми. ap-hotspot управляется через командную строку. Запустить точку доступа (при первом запуске будет процедура настройки)
sudo ap-hotspot start
Чтобы (пере)настроить точку доступа:
sudo ap-hotspot configure
Чтобы остановить точку доступа:
sudo ap-hotspot stop
Подробное описание ap-hotspot можно найти здесь . Также очень интересно читать комментарии на этой странице.
С уважением.
Удачливый
дальтонфьюри42