Compartilhando Internet 3G entre notebook e smartphone Android no Linux

Você tem um notebook com internet 3G e quer que seu smartphone acesse a internet através dele. Se a placa wireless não tem suporte a modo "Master", você pode pensar em colocar ela em "Ad-hoc". Mas tem o detalhe que o smartphone não enxerga rede "Ad-hoc". Para resolver esta situação apresento o artigo a seguir.

[ Hits: 23.304 ]

Por: Alessandro Martins em 11/10/2011


Internet no Android pelo notebook com 3G



Existem vários modos de compartilhar a internet do PC, notebook com outros dispositivos, inclusive smartphones.

Me deparei com a seguinte situação:

Acessar a internet com o smartphone através do notebook conectado pela 3G, no Linux!

Para acessar a internet no smartphone pelo Windows é só seguir esse tutorial:
E no Linux? Pra quem tem uma placa wireless que suporta modo "master" no Linux, uma solução é configurar o hostapd e o dnsmasq para ter uma solução de AP e DHCP funcionando.

Tem artigos aqui no VOL sobre isso.

No meu caso a placa wireless Realtek 8187SE ainda não tem suporte para o modo "master" no Linux (no Windows e Mac suporta, vai entender). Então como o smartphone com Android 2.2 não reconhece ad-hoc, resolvi fazer o seguinte:

Com o terminal emulator e o busybox (ambos encontram-se no market e precisa de root) instalados no smartphone:

Habilitar o compartilhamento de internet no smartphone:

Menu -> Configurações -> Rede -> Tethering e roteador móvel -> Roteador Wi-Fi móvel [x]

Configurações do roteador Wi-Fi móvel -> Configurar roteador Wi-Fi:

Rede SSID
SeuSSID

Segurança

WPA/WPA2 PSK:
passw0rd

Agora o notebook:

Usei o Wicd pra conectar ao smartphone:

Localizar o SSID que colocou no smartphone -> Properties -> Use Encryption -> WPA 1/2 (Passphrase) -> key passw0rd -> ok -> Connect

Deve aparecer abaixo da janela do Wicd (IP: 192.168.43.155) ou outro ip...Aqui o smart deu esse.

Abra um terminal e torne-se root:

su

Como root, apaga-se a rota padrão:

# route del default

Aqui seto o DNS manualmente, talvez isso não seja necessário, depende da configuração:

# echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

Script de firewall do MonMotha's pra compartilhar a internet 3G do notebook com o smartphone:
Talvez tenha que fazer alguns ajustes:

IPTABLES="/sbin/iptables" #Local onde está o iptables no sistema
INET_IFACE="ppp0" #Interface que conecta a internet
LAN_IFACE="wlan0" #Interface que compartilha a internet
INTERNAL_LAN="192.168.2.0/24 192.168.43.0/24" #Seta a rede interna
MASQ_LAN="192.168.2.0/24 192.168.43.0/24" #IP Masquerade, a segunda rede deve estar na mesma do smart. Essa linha é que faz a mágica :-)
DHCP_SERVER="TRUE" #O servidor DHCP hoje é o Android.
ENABLE="Y" #Linha que ENABLE o firerall, tem que estar "Y" senão "N" funciona.

Conectar a internet pelo modem 3G. Eu uso o pyWvDial, mas pode ser qualquer outro.

De novo no terminal como root, vamos dar permissão de execução ao script firewall baixado anteriormente:

# chmod +x rc.firewall-ppp0
# ./rc.firewall-ppp0


Firewall carregado e compartilhando a internet!

No smartphone, abrir o Terminal Emulator do Jack Pal e no prompt:

su
# cd /system/xbin
# ./route add default gw 192.168.43.155


Obs.: Note o ./ no início do comando, é pra rodar o route que tem nesse diretório e não o do sistema. O ip 192.168.43.155 é o ip do notebook, recebido do smart.

Se o smartphone não estiver navegando (você pode dar o comando ./ping 8.8.8.8 pra testar), precisa setar o DNS nele:

# echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

É muito mais fácil usar o root explorer pra isso! Mas é muuuuito mais legal usar a linha de comando.

É uma gambiarra estilo Linux. Procedimento simples de apagar e adicionar rotas, levando em conta o servidor DNS.

A grande vantagem do Android ser feito em cima de um kernel Linux é poder rodar quase tudo que um Linux de verdade roda. Pra trocar arquivos o ES File Explorer funciona perfeitamente no Android.

Foi usado o Vector Linux 6 SoHo e o Smartphone ZTE X850 com Android 2.2.

Era isso! Parece trabalhoso, mas nem é tanto.

Se alguém souber outro jeito, fico no aguardo.

[]'s

Alessandro.

   

Páginas do artigo
   1. Internet no Android pelo notebook com 3G
Outros artigos deste autor

Instalando OpenWrt no TP-LINK MR3420

hpfall - Acelerômetro em notebooks HP para evitar perda de dados

Leitura recomendada

Como verificar conexões abertas no Linux

Site for IE: Até quando?

Sistema de Help Desk Ocomon em Ubuntu

Utilizando o giFT para baixar e compartilhar arquivos na Internet

Servidor de internet para iniciantes (Debian Squeeze)

  
Comentários
[1] Comentário enviado por lopanrs em 27/11/2011 - 09:24h

Procedimento para compartilhar a internet do PC para o smartphone pela USB.

1) Plugar smartphone no PC e habilitar USB tethering.
2) Como root no PC, levantamos a interface usb0: ifconfig usb0 up.
3) Ainda no PC adquirimos um IP do smartphone: dhcpcd usb0 e apagamos a rota padrao recem adquirida: route del default.
4) Conectar a internet pelo PC.
5) No smartphone (como root), adicionar à rota padrao o ip do PC: /system/xbin/route add default gw 192.168.42.166.
6) Usamos o script de firewall descrito acima, trocando a faixa de ip's de 192.168.43.0 para 192.168.42.0 e trocando as interfaces de wlan0 para usb0.
Feito o carreto !

[2] Comentário enviado por rodrigolocano em 30/05/2013 - 05:10h

Atualmente os Androids possuem uma função chamada Ancoragem USB.
é só clicar e pronto, ele cria uma rede cabeada a parte!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts