0 votos

Configurar la conexión de red por cable con el WiFi aún activado

Tengo una tablet Nexus y un USB-OTG + USB/ethernet conectado. He comprobado que el hardware funciona desactivando el WIFI y haciendo ifconfig'ing en eth0 con

netcfg eth0 dhcp

ping, traceroute todo funciona como se espera.

Si en lugar de eso dejo el WIFI activado, pero luego hago un simple

ifconfig eth0 172.16.100.1 netmask 255.255.0.0 dev eth0

y conecto la ethernet cableada a una máquina configurada en 172.16.100.2 no puedo hacer ping.

# ifconfig wlan0                                                
wlan0: ip 10.1.10.238 mask 255.255.0.0 flags [up broadcast running multicast]
# ifconfig eth0 
eth0: ip 172.16.100.1 mask 255.255.0.0 flags [up broadcast running multicast]

# netcfg
<snip>
p2p0     UP                                     0.0.0.0/0   0x00001003 da:50:e6:2d:b2:14
eth0     UP                                172.16.100.1/16  0x00001043 50:1a:c5:fd:83:dc
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
wlan0    UP                                 10.1.10.238/16  0x00001043 d8:50:e6:2d:b2:14

# cat /proc/net/route                                               
Iface   Destination     Gateway         Flags   RefCnt  Use     Metric  Mask            MTU     Window  IRTT                                                       
wlan0   0000010A        00000000        0001    0       0       0       0000FFFF        0       0       0                                                                              
eth0    000010AC        00000000        0001    0       0       0       0000FFFF        0       0       0                                                                               

traceroute parece mostrar que los paquetes siguen enrutando a través de 10.1.0.1 (wlan0)

# traceroute 172.16.100.2                                         
traceroute to 172.16.100.2 (172.16.100.2), 30 hops max, 38 byte packets
1  10.1.0.1 (10.1.0.1)  1.648 ms  1.220 ms  1.526 ms
^C

Replicar manualmente la ruta -net 172.16.0.0 no supone ninguna diferencia.

¿Qué me he perdido para configurar el enrutamiento correctamente?

¿Está la interfaz p2p0 interactuando de alguna manera inesperada?

1voto

Karnage2015 Puntos 176

En los sistemas con dos interfaces (como este dispositivo Android con wlan0 y eth0), el enrutamiento no se configura automáticamente para utilizar dos puertas de enlace. Por eso, 'traceroute' muestra que el tráfico que te gustaría que saliera por `eth0' en realidad sale por `wlan0'.

Otra forma de confirmarlo es:

# ip route get 172.16.100.2
172.16.100.2 via 10.1.0.1 dev wlan0 <snip>

La solución es configurar múltiples rutas por defecto añadiendo una nueva tabla de enrutamiento para el tráfico en 'eth0' y luego añadiendo las reglas apropiadas al conjunto de reglas de enrutamiento. Vea esto artículo para un ejemplo. (Aunque el artículo describe un sistema Linux, los dos comandos que necesitas utilizar, a saber, 'ip route' e 'ip rule', están disponibles en Android).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X