GNU/Linux >> Tutoriales Linux >  >> Linux

Android:¿cómo se configura el paso a través de Internet (anclaje inverso) en Linux?

Lo siguiente funciona por un tiempo, pero solo para el navegador.

Cuando conecta su teléfono a través de USB y elige la transferencia de Internet, debe obtener un nuevo dispositivo RNDIS (usb0 o usb1). Para ubuntu, edite /etc/network/interfaces y agregue las siguientes líneas:

iface usb0 inet dhcp
iface usb1 inet dhcp

Esto asignará una IP automáticamente cuando se agregue el dispositivo. Si una dirección de red no se asigna automáticamente a usb0 o usb1, debe hacerlo manualmente.

Luego, debe configurar NAT en su computadora Linux. Algo como:

sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo echo 1 > /proc/sys/net/ipv4/ip_forward 

También necesita un servidor DNS:

sudo apt-get install bind9

Esto funciona durante unos minutos, pero después de un rato el teléfono deja de buscar HTC Sync y se desconecta.

Para teléfonos rooteados

Puede conectarse permanentemente si tiene un teléfono rooteado (fre3vo funcionó para mí). Ejecute lo siguiente con adb.

Habilitar modo usb para red y adb:

adb shell echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch

Asigne una IP al dispositivo usb0 en el teléfono:

adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up

Agregar una ruta predeterminada. La IP debe ser la IP asignada a usb0 en linux:

adb shell route add default gw 192.168.99.1 dev usb0

Configure el servidor DNS. Este es el servidor DNS abierto de Google, pero puede ser la IP de su computadora Linux si tiene un servidor DNS:

adb shell setprop net.dns1 8.8.8.8

A hizo esta pequeña fiesta para automatizar todo. Simplemente conecte su teléfono en modo de carga a su computadora y ejecute esta fiesta.

#!/bin/bash
/opt/android-sdk-update-manager/platform-tools/adb shell 'echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch'
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell setprop net.dns1 8.8.8.8

get_ip ()
{
ifconfig usb0 | grep inet | awk '{print $2}' | sed 's/addr://' | grep .
}

echo "waiting for IP on computer usb0"
while [[ `get_ip` < 192 ]];do sleep 2; done
ip=`get_ip`
echo "IP adress is $ip "
/opt/android-sdk-update-manager/platform-tools/adb shell route add default gw $ip dev usb0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Linux
  1. Cómo configurar su variable $PATH en Linux

  2. Cómo configurar o cambiar el nombre de host del sistema en Linux

  3. Cómo cambiar Shell en Linux

  4. ¿Cómo se configura programáticamente el reloj de hardware en Linux?

  5. Cómo configurar una conexión Wifi-Direct entre Android y Linux

Cómo establecer o cambiar el nombre de host en Linux

Cómo configurar la programación de torrents en Linux

Cómo usar la terminal de Linux en Android

Cómo instalar Kali Linux en un teléfono Android

Cómo configurar o cambiar el nombre de host en Linux

Cómo cambiar un Shell de usuario en Linux