Como ter Internet num dispositivo Android através de um pc? martelando levezinho ...
Nota prévia, tem que se ter acesso root ao Android e ter a opção de tethering, testado num HTC Magic com cyanogenmod 5.0.7 e do outro lado um Linux Fedora 13.
[ Android ]
Activar - Internet tethering [x]
- Infelizmente isto faz com que o dispositivo Android comece a funcionar para dar acesso à Internet ao PC, o que pode ser útil, mas no nosso caso vamos fazer ao contrário.
Num Terminal
# su (acesso como root)
- Apagar as regras do iptables que foram activadas quando activámos o tethering
# iptables -F
- Mostra as várias interfaces, só estamos interessados na tether
# ip addr
- Apagar o ip anteriormente lá colocado quando activámos o tethering.
# ip addr del 192.168.77.254 dev tether
- Agora colocar lá o nosso ip :)
# ip addr add 10.0.0.1/24 dev tether
- Finalmente adicionar a default route, 10.0.0.254 é o ip na interface usb no linux
# ip route add default via 10.0.0.254 dev tether
- Configurar o DNS, este é do google e é público
# setprop net.dns1 8.8.8.8
[ PC Linux :-D ]
- Colocar o ip na interface usb0, acho que não é necessário dizer que tem que ser como root :)
# ip addr add 10.0.0.254/24 dev usb0
- Activar o forward de pacotes
# sysctl -w net.ipv4.ip_forward=1
- Activar o masquerading no iptables
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i usb0 -j ACCEPT
E é tudo ... é claro que isto pode ser automatizado tanto do lado do Android como do Linux através de scripts e afins :)
Sem comentários:
Enviar um comentário