¿Cómo enruto el tráfico de WiFi Hotspot a USB?

Nota: - Descubrí que para lograr lo que quiero, hay una forma más simple y flexible que el anclaje inverso. Si alguna vez te encuentras en mi situación, lee la respuesta a continuación.

Invierto la conexión a Internet desde la computadora portátil a través de USB, y no quiero compartirla más creando un punto de acceso en mi teléfono Android rooteado.

Obtengo Internet no solo en mi navegador, sino en todas partes, incluidas Play Store y Whatsapp, cuando lo invierto desde mi computadora portátil a través de USB.

El único problema es que cuando inicio un punto de acceso WiFi en mi teléfono para que otros dispositivos puedan compartir este Internet, no obtienen Internet. ¿Cómo puedo solucionar esto?

Aquí están los comandos que usé para configurar mi teléfono para aceptar Internet desde mi computadora portátil:

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

¿Dónde ccmni0está mi interfaz de datos móviles y rndis0es la interfaz desde la que obtengo Internet?

Por qué quiero hacer esto es irrelevante para la pregunta, pero sigue leyendo si quieres.

La razón para hacer todo esto es que mi compañero de cuarto y yo tenemos que compartir un solo cable LAN. Ambos usamos linux y tenemos tarjetas Broadcom WiFi, cuyos controladores de linux no te permiten crear un AP desde la computadora portátil. Solo tengo linux, mientras que mi amigo usa linux solo a veces. Cuando está en Windows, crea un AP WiFi desde su computadora portátil usando connectify. Pero cuando está en Linux, quiero crear temporalmente un punto de acceso a través del móvil para compartir Internet.

Puede usar el software Connectify para usar su computadora portátil para crear un punto de acceso wifi para que otros dispositivos, incluido su teléfono móvil, puedan acceder a Internet.
@Lucky, si vuelve a leer la pregunta, estoy usando Linux para el que connectify no está disponible. Pero ese no es el problema. Ni siquiera necesita un software externo para crear un punto de acceso en Linux. El problema con eso es que, como dije, mi controlador no admite la creación de puntos de acceso.

Respuestas (3)

Aunque esto no responde específicamente a mi pregunta, resolví mi problema. Lo que quería hacer es compartir mi Internet con mi amigo a través de WiFi usando mi móvil Android porque mi computadora portátil con Linux no tiene soporte de controlador para crear puntos de acceso WiFi. ¡Broadcom apesta!

Utilizo mi teléfono móvil para crear una red WiFi (a través de un punto de acceso), conecto mi computadora portátil (fuente de Internet) y otros dispositivos que requieren Internet a la red. Ahora configuro mi computadora portátil para que sea una puerta de enlace y configuro otros dispositivos para usar mi computadora portátil como puerta de enlace.

Aquí está la guía que seguí. Por suerte para mí, uso Arch Linux. Pero esto debería funcionar incluso si está en otra distribución de Linux como Ubuntu. Así que aquí va:

  1. Inicie el punto de acceso en su móvil y conecte la computadora portátil que tiene Internet y el dispositivo que necesita conexión a Internet.

  2. Cree un script llamado start-gateway.sh con el siguiente contenido.

    #!/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
    

El script asume que la interfaz que tiene Internet es eth0y necesita reenviar paquetes desde wlan0(su interfaz WiFi) a su conexión Ethernet. Por lo tanto, confirme si estos son los nombres de las interfaces de ifconfigla salida.

  1. Haga que el script sea ejecutable y listo:

    chmod u+x start-gateway.sh

Siempre que necesite iniciar la puerta de enlace, ejecute el script con privilegios de root cuando esté conectado a WiFi:

sudo ./start-gateway.sh

Ahora, todo lo que tiene que hacer para obtener Internet en otros dispositivos conectados al WiFi es configurar manualmente la configuración de IP en esos dispositivos, proporcionando la puerta de enlace como la dirección IP de su nueva puerta de enlace. Recuerde que, por defecto, la puerta de enlace será el teléfono que aloja la red WiFi (que no tiene Internet), y debe cambiar la puerta de enlace a la que ha creado.

¿Cómo puedo dar "la puerta de enlace como la dirección IP de su nueva puerta de enlace"? Explique tal vez cómo hacerlo en Windows.
@brijs En su máquina con Windows, la "Puerta de enlace predeterminada" debe configurarse en la IP de la máquina que tiene Internet. (La máquina en la que ejecutó el script)

Publicar como respuesta a @ daltonfury42 ya que no tengo suficiente reputación para hacer eso bajo su respuesta.
También tengo el siguiente adaptador:
:~$ lspci -nn -d 14e4:
08:00.0 Controlador de red [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Estaba intentando crear acceso punto (AP) de mi computadora portátil, pero como dice el autor: "¡Broadcom apesta!"

Mis 2 centavos de valor en este comentario son lo que me tomó mucho tiempo hacer: establecer la configuración correcta de DNS y puerta de enlace.
Mi configuración:

  • Computadora portátil (conectada a Internet a través de un cable LAN) [Dell Vostro 3560, Ubuntu 16.04 LTS)
  • Tableta (sirve como un punto de acceso / punto de acceso. Tanto la computadora portátil como el teléfono inteligente deben estar conectados a este punto de acceso) [Samsung Galaxy Note 10.1 GT-N8000, Android 4.4.2]
  • Teléfono inteligente (que debe recibir el acceso a Internet) [Lenovo Vibe P1a42, Android 6.0.1]

Ahora, para dar más detalles: "Ahora todo lo que tiene que hacer para obtener Internet en otros dispositivos conectados al WiFi es configurar manualmente la configuración de IP en esos dispositivos, dando la puerta de enlace como la dirección IP de su nueva puerta de enlace. Recuerde que por defecto la puerta de enlace será el teléfono que aloja la red WiFi (que no tiene Internet), y debe cambiar la puerta de enlace a la que ha creado.

En mi teléfono inteligente me conecté al punto de acceso / tableta a través de wi-fi. Después de conectarse al punto de acceso, inicialmente no tiene Internet. Debe editar los detalles de la conexión recién creada en el teléfono inteligente de la siguiente manera:

  • "Configuración de IP": cambie del menú desplegable de "DHCP" a "Estático".
  • Deje la "Dirección IP" intacta (la reutilizaremos)
  • Cambie la puerta de enlace a la dirección IP de la interfaz WLAN de la computadora portátil (servidor). Puede encontrarlo después de ejecutar "ifconfig" en la terminal de la computadora portátil.
  • Para DNS puede utilizar cualquiera de las siguientes direcciones: "8.8.8.8", "8.8.4.4", "185.121.177.177", "185.121.177.53" (más información en: https://wiki.archlinux.org/index .php/Resolv.conf )

Simplemente toque Aceptar y su teléfono inteligente ahora debería estar usando la puerta de enlace correcta y la configuración de DNS y debería tener Internet.
Espero que esto ahorre tiempo a otras personas :)

Los teléfonos Android están diseñados para administrar una conexión WiFi a la vez. Si ha conectado su teléfono a la computadora portátil y desea que el teléfono sirva como un punto de acceso, deberá administrar dos conexiones WiFi (una a la computadora portátil, una como punto de acceso). Esto no es posible fuera de la caja. Sin embargo, existe una aplicación llamada FQRouter2 para dispositivos Android rooteados que afirma poder hacer precisamente eso.

Puede encontrar más información aquí , por ejemplo.

Actualización: He visto tu comentario.

El problema parece ser que el móvil no es capaz de enrutar correctamente el tráfico desde su conexión WiFi a la conexión USB.

Esto plantea la pregunta de por qué no usa la computadora portátil directamente como punto de acceso. Esta función está disponible en la configuración de red de Ubuntu. Sin embargo, se han reportado problemas con dispositivos móviles Android. No reconocen el punto de acceso integrado de Ubuntu.

Aquí está cómo resolver eso:

Al principio, instale ap-hotspot:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot

Una vez que ap-hotspot está instalado, los pasos posteriores deberían ser bastante fáciles. ap-hotspot se controla a través de la línea de comandos. Para iniciar el punto de acceso (habrá un procedimiento de configuración en el primer inicio)

sudo ap-hotspot start

Para (re)configurar el punto de acceso:

sudo ap-hotspot configure

Para detener el punto de acceso:

sudo ap-hotspot stop

Puede encontrar una descripción detallada de ap-hotspot aquí . También es muy interesante leer los comentarios en esa página.

Atentamente.

Perdón por no ser claro en la pregunta, pero invierto la conexión a Internet desde la computadora portátil a través de USB y no quiero compartirla a través de WiFi. Así que este problema no me afecta.
Nuevamente, esta respuesta es completamente inútil ya que no responde la pregunta (si desea sugerir una alternativa, deje un comentario). Mencioné que no tengo soporte de controlador para crear puntos de acceso desde Linux.