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.