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.542 ]

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

Mascarando conexões VPN com iptables

Fazendo um site completo rapidinho com Joomla

Configurar Speedy Home na distribuição SuSE 10

Integrando Apache 2 com Tomcat 5

Como mostrar a música atual do seu player na sua mensagem pessoal do aMSN

  
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