Não é possível acessar a Internet usando o android wi-fi tethering

0

Não tenho certeza se este é o lugar certo para postar esta pergunta.

Meu problema é realmente simples, tenho meu dispositivo Android usando uma conexão de dados e uma configuração de ponto de acesso neste dispositivo.

Eu conecto minha caixa linux a este hotspot, sem problemas.
Meu pc recebe o endereço 192.168.1.234 em wlan0
Meu dispositivo Android é 192.168.1.1 em wlan0
= > wlan0 UP 192.168.1.1/24

Eu posso fazer ping nos endereços de Wi-Fi locais do lado . No entanto, eu não posso pingar um servidor localizado na internet do meu pc.

Eu sei que há algo em encaminhar o tráfego de um lado para o outro, mas não consigo descobrir como fazer isso.

Eu fiz até agora: No dispositivo android

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

Nada de especial no pc, exceto adicionar uma rota para um servidor especial. Eu quero que o tráfego passe pela wlan0.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.162.105.1    0.0.0.0         UG    0      0        0 eth0
10.162.105.0    *               255.255.255.0   U     0      0        0 eth0
158.x.x.x       192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.25.0    *               255.255.255.0   U     0      0        0 vmnet1
192.168.29.0    *               255.255.255.0   U     0      0        0 vmnet8

No lado do Android, posso ver o tráfego vindo do meu pc, ou seja,

03:50:17.426155 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 634, length 64
03:50:18.427529 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 635, length 64
03:50:19.428445 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 636, length 64
03:50:20.425667 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 637, length 64
03:50:21.426491 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 638, length 64
03:50:22.425759 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 639, length 64
03:50:23.425759 IP 192.168.1.234 > 158.x.x.x: ICMP echo request, id 5782, seq 640, length 64

mas nunca vê uma resposta, como se os pacotes nunca saíssem do dispositivo android.

O que estou fazendo de errado?

Obrigado pela ajuda.

    
por user2360915 22.07.2015 / 06:10

1 resposta

1

Eu tenho a resposta sozinho.

O problema foi com o comando iptables. Foi necessário especificar o dispositivo de saída e também definir a política de encaminhamento.

iptables -t nat -A POSTROUTING -o rmnet_usb0 -j MASQUERADE
iptables -P FORWARD ACCEPT

Depois disso, a internet fica acessível no lado da caixa do Linux. Espero que isso ajude alguém na mesma situação.

    
por 22.07.2015 / 06:19