1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Tutorial] Partilhar internet via WiFi com Android (sem root)

Discussão em 'Dúvidas e Suporte Técnico - GNU/Linux & *nix' iniciada por olly, 8 de Maio de 2012. (Respostas: 1; Visualizações: 1902)

  1. olly

    olly Power Member

    Ando há já algum tempo a tentar criar um "hotspot" em Ubuntu para partilhar a net com o meu Android. Em ambiente windows é extremamente fácil, uma linha de comando basta, mas em linux a coisa parece tornar-se um pouco mais difícil pois o Ubuntu cria uma ligação adhoc que o Android "não vê".

    As soluções passam por "tethering invertido" ou por alterar ficheiros no próprio smartphone. O problema é que isso implica ter permissões de root e, por vezes, há quem se queixe de danos "permanentes" no WiFi.

    Depois de muito suar descobri um pequeno tutorial (AQUI) que permite criar o tal hotspot sem precisar de fazer root ao aparelho.

    Antes de começar devo dizer que os créditos não são, de todo, meus. Apenas me limito a divulgar o tutorial para que quem, como eu, precisar dele, o possa encontrar mais facilmente.

    TUTORIAL (finalmente):

    Para começar vamos instalar o hostapd e o dhcp3-server digitando:
    Código:
    sudo apt-get install hostapd
    sudo apt-get install dhcp3-server
    De seguida vamos configurar o ficheiro hostapd
    Código:
    sudo nano /etc/hostapd/hostapd.conf
    E colamos o seguinte código (ter em conta os dados a vermelho):
    Código:
    interface=[COLOR=#ff0000]wlan0
    [/COLOR]driver=nl80211
    ssid=[COLOR=#ff0000]nome_da_rede[/COLOR]
    channel=1
    hw_mode=g
    auth_algs=1
    wpa=3
    wpa_passphrase=[COLOR=#ff0000]a_password_da_rede_wireless[/COLOR]
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP CCMP
    rsn_pairwise=CCMP
    Para salvar as alterações digitar Ctrl+X
    Premir Y e Enter

    O próximo passo será editar o ficheiro dhcp3-server:
    Código:
    sudo nano /etc/dhcp/dhcpd.conf
    Vamos colar o código que se segue logo após a última linha:
    Código:
    option subnet-mask 255.255.255.0;default-lease-time 600;
    max-lease-time 7200;
     
    option domain-name-servers 8.8.8.8, 8.8.4.4 ;
    subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.254;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
    }
    Para salvar as alterações digitar Ctrl+X
    Premir Y e Enter

    Digitar, na consola:
    Código:
    sudo nano /etc/default/isc-dhcp-server
    E alteramos INTERFACES para:
    Código:
    INTERFACES="wlan0"
    Para salvar as alterações digitar Ctrl+X
    Premir Y e Enter

    De regresso à consola:
    Código:
    sudo nano /etc/sysctl.conf
    Agora vamos encontrar a linha que contém net.ipv4.ip_forward
    certificar-nos que o valor está a 1 e removemos o #, ficando assim:
    Código:
    net.ipv4.ip_forward=1
    Para salvar as alterações digitar Ctrl+X
    Premir Y e Enter

    Agora digitamos:
    Código:
    sudo nano /etc/rc.local
    e antes da linha exit 0 colamos o seguinte:
    Código:
    sbin/iptables -t nat -A POSTROUTING -j MASQUERADE ifconfig wlan0 inet 192.168.1.1 netmask 255.255.255.0
    hostapd -d /etc/hostapd/hostapd.conf & /etc/init.d/isc-dhcp-server restart
    Para salvar as alterações digitar Ctrl+X
    Premir Y e Enter

    Para terminar basta reiniciar o pc e o Android vai conseguir encontrar a rede e ligar-se sem problemas.

    NOTAS:
    Até agora o único inconveniente que vi foi a rede estar sempre ativa. Se alguém souber uma forma de "ativar" e "desativar" o hotspot de forma "automática" agradeço.
    Como os meus conhecimentos são algo limitados, tudo o que sugerirem para aperfeiçoar este processo será bem-vindo.
     
    Última edição: 21 de Maio de 2012
  2. Ketheriel

    Ketheriel Power Member

    Como nota adicional, atenção que o 'wlan0' não é valido para todos... Por exemplo as placas RaLink com drivers proprietarios criam um device 'ra0' e não 'wlan0'. Tirando isso parece-me muito bom :)
     

Partilhar esta Página