Как перенаправить трафик с точки доступа Wi-Fi на USB?

Примечание. Я обнаружил, что для достижения того, чего я хочу, есть более простой и гибкий способ, чем обратная привязка. Если вы когда-нибудь были в моей ситуации, прочитайте ответ ниже.

Я подключаю интернет с ноутбука через 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, я хочу временно создать точку доступа через мобильный телефон, чтобы поделиться Интернетом.

Вы можете использовать программное обеспечение Connectify, чтобы использовать свой ноутбук для создания точки доступа Wi-Fi, чтобы другие устройства, включая ваш мобильный телефон, могли получить доступ в Интернет.
@Lucky, если вы еще раз прочитаете вопрос, я использую Linux, для которого подключение недоступно. Но проблема не в этом. Вам даже не нужно внешнее программное обеспечение для создания точки доступа в Linux. Проблема в том, что, как я уже сказал, мой драйвер не поддерживает создание точек доступа.

Ответы (3)

Хотя это конкретно не отвечает на мой вопрос, я решил свою проблему. Что я хотел сделать, так это поделиться своим интернетом с моим другом через WiFi, используя мой мобильный Android, потому что мой ноутбук с Linux не имеет поддержки драйверов для создания точек доступа WiFi. Бродком отстой!

Я использую свой мобильный телефон для создания сети Wi-Fi (через точку доступа), подключаю свой ноутбук (источник Интернета) и другие устройства, которым требуется Интернет, к сети. Теперь я настраиваю свой ноутбук в качестве шлюза и настраиваю другие устройства для использования моего ноутбука в качестве шлюза.

Вот руководство, которому я следовал. К счастью для меня, я использую Arch Linux. Но это должно работать, даже если вы используете другой дистрибутив Linux, например Ubuntu. Итак, вот оно:

  1. Запустите точку доступа на своем мобильном телефоне и подключите ноутбук с доступом в Интернет и устройство, которому требуется подключение к Интернету.

  2. Создайте сценарий с именем 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вывода.

  1. Сделайте скрипт исполняемым, и все готово:

    chmod u+x start-gateway.sh

Всякий раз, когда вам нужно запустить шлюз, выполните скрипт с привилегиями root при подключении к WiFi:

sudo ./start-gateway.sh

Теперь все, что вам нужно сделать, чтобы получить доступ к Интернету на других устройствах, подключенных к WiFi, — это вручную установить IP-конфигурацию на этих устройствах, указав шлюз в качестве IP-адреса вашего нового шлюза. Помните, что по умолчанию шлюзом будет телефон, на котором размещена сеть WiFi (у которой нет интернета), и вам нужно изменить шлюз на тот, который вы создали.

Как я могу указать «шлюз как IP-адрес вашего нового шлюза»? Пожалуйста, объясните, как это сделать в Windows.
@brijs На вашем компьютере с Windows «Шлюз по умолчанию» должен быть установлен на IP-адрес компьютера, на котором есть Интернет. (Машина, на которой вы запустили скрипт)

Публикую как ответ @daltonfury42, так как у меня недостаточно репутации, чтобы сделать это под его ответом.
У меня также есть следующий адаптер:
:~$ lspci -nn -d 14e4:
08:00.0 Сетевой контроллер [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Я пытался создать доступ точка (AP) с моего ноутбука, но, как утверждает автор: "Broadcom - отстой!"

Мои 2 цента в этом комментарии - это то, на что у меня ушло много времени - установить правильные настройки DNS и шлюза.
Моя установка:

  • Ноутбук (подключен к Интернету через кабель локальной сети) [Dell Vostro 3560, Ubuntu 16.04 LTS)
  • Планшет (служащий точкой доступа/точкой доступа. К этой точке доступа должен быть подключен и ноутбук, и смартфон) [Samsung Galaxy Note 10.1 GT-N8000, Android 4.4.2]
  • Смартфон (который должен получить доступ в интернет) [Lenovo Vibe P1a42, Android 6.0.1]

Теперь уточним: «Теперь все, что вам нужно сделать, чтобы подключиться к Интернету на других устройствах, подключенных к WiFi, — это вручную установить IP-конфигурацию на этих устройствах, указав шлюз в качестве IP-адреса вашего нового шлюза. Помните, что по умолчанию шлюзом будет телефон, на котором размещена сеть WiFi (у которой нет интернета), и вам нужно изменить шлюз на тот, который вы создали».

На моем смартфоне я подключился к точке доступа/планшету через wi-fi. После того, как вы подключились к точке доступа, изначально у вас нет интернета. Вам необходимо отредактировать данные вновь созданного соединения на смартфоне следующим образом:

  • «Настройки IP» — в раскрывающемся списке изменить «DHCP» на «Статический».
  • Оставьте «IP-адрес» нетронутым (мы будем использовать его повторно)
  • Измените шлюз на IP-адрес интерфейса WLAN ноутбука (сервера). Вы можете найти его после запуска «ifconfig» в терминале на ноутбуке.
  • Для DNS вы можете использовать любой из следующих адресов: «8.8.8.8», «8.8.4.4», «185.121.177.177», «185.121.177.53» (подробнее на: https://wiki.archlinux.org/index . .php/Resolv.conf )

Просто нажмите «ОК», и ваш смартфон теперь должен использовать правильный шлюз и настройки 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 можно найти здесь . Также очень интересно читать комментарии на этой странице.

С уважением.

Извините за неясность в вопросе, но я подключаю интернет к ноутбуку через USB и не хочу делиться им через WiFi. Так что этот вопрос меня не касается.
Опять же, этот ответ совершенно бесполезен, поскольку он не отвечает на вопрос (если вы хотите предложить альтернативу, оставьте комментарий). Я упоминал, что у меня нет поддержки драйверов для создания точек доступа из Linux.