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.
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:
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.
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.
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.
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 !