domingo, 20 de março de 2011

Solução de Contorno : Linux (iptables, dnsmasq) + 3G HTC Magic

    Neste final de semana meu ISP de banda larga (NET) está com problemas quanto a conexões com serviços da Microsoft e Google. Meu Gmail estava ruim, o Live Messenger caindo toda hora, Youtube impossível e pesquisa do Google demorando.
     Inicialmente pensei existir algo errado com meu roteador wireless, pois é um D-link antigo, bem, só por ser D-link eu já estava desconfiado (kkk):  rebootei, verifiquei os leases do DHCP, mudei o canal do wireless e nada de resolver.... Parti pra ignorância, abri o wireshark e comecei a analisar o tráfego; verifiquei retransmissão de TCP para os serviços que estavam estranhos. Busquei a intermitência por meio de ping e traceroute, inciando pelo router wireless, passando pelo cable modem, endereços da NET, Embratel e por fim os serviços que eu estava sentindo problemas, resultado: A intermitência só aparecia nos serviços externos. Liguei para a NET e fui informado que realmente existia um problema e que a previsão para a resolução era na madrugada de segunda-feira.
    Desejando acessar os serviços na noite de domingo, pensei em uma solução "geek" para essa indisponibilidade, utilizar o serviço de dados da TIM do celular como gateway da minha rede Wireless de casa. 

    Passo-á-passo:
  1. Desabilitei o DHCP do meu D-link;
  2. Pluguei o celular no netbook, como é um "android phone" é  Plug-and-Play, já aparece no Linux um interface USB0 com conectividade à internet;
  3. Com um cabo crossover, liguei a eth0 do netbook no roteador D-link;
  4. Subi um endereço na eth0:
    # ifconfig eth0 10.1.1.20 netmask 255.0.0.0
  5. Habilitei o roteamento no parâmetro do kernel e o NAT na usb0 via iptables:
    echo "1" > /proc/sys/net/ipv4/ip_forward
    # iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
  6. Configurei o range do DHCP com o dnsmasq e ativei-o:
    # touch /etc/dnsmasq.conf
    # echo "dhcp-range=10.1.1.30,10.1.1.50,2h" >> /etc/dnsmasq.conf
    # echo "dhcp-option=3,10.1.1.20" >> /etc/dnsmasq.conf
    # dnsmasq
  7. Renovei os IPs nas estações e Pronto! :)


Em cima da TV pois é onde pega melhor o sinal do celular :P
    Quando a NET voltar a normalidade é só desligar tudo, habilitar o DHCP do D-link novamente e renovar os IPs das estações. 


OBS: Antes que me perguntem: Sim, eu poderia utilizar o celular direto no PC para navegar mas existem dois problemas: 

  1. O sinal da TIM aqui na minha região é fraco, só pegando "legal" na sala, que é onde fica meu "facilities entrance" :);
  2. Eu só resolveria a conectividade de uma estação, ficando as outras sem Orkut, Live messenger e Google (para muitos isso significa a falta completa de Internet, kkkk)

2 comentários:

Ricardo Barbosa disse...

voce ta um veneno hein irmao. E nois :P

Erich disse...

Eta gambiarra da pega hein!