Raspberry como Access Point

O Raspberry Pi 3 tem uma vantagem clara sobre as versões anteriores; um WiFi e um bluetooth LE fazem dele uma atraente opção para AP. Claro que essa configuração é bastante simples, mas não poderia deixar de escrever a respeito, pois por certo diversas pessoas ainda não sabem como fazê-lo, ou assim como eu, não querem ter que decorar diversos procedimentos.

Para esse tutorial, estou utilizando meu Raspberry Pi 3, que ainda não recebeu nenhuma tarefa específica, mas o procedimento pode variar, dependendo de sua estrutura.

Configuração inicial





Como qualquer AP, o primeiro passo é garantir uma conexão de rede via cabo ethernet, conectado à interface ethernet do Raspberry Pi. Em relação a sistema, recomendo fortemente a utilização do Raspbian, cujo sistema tenho utilizado sempre e com ele faço meus tutoriais, de forma que você terá maior probabilidade de sucesso no processo se seu ambiente for equivalente.

Outra opção seria um dungle WiFi, dispensando assim cabos extras. Como não pude fazer esse teste pela indisponibilidade do dispositivo, só posso afirmar o funcionamento com a primeira opção citada.

Se tiver alguma dúvida em relação à configuração da interface de rede, sugiro esse tutorial que escrevi para o Sistemas Embarcados.

Instalação de pacotes

Para se tornar um AP, será necessário fornecer autenticação e atribuição de PI, portanto, os pacotes necessários são o servidor de endereços IP (dhcp server) e o autenticador (hostapd):

DHCP server

Escrevi nesse outro post como configurar um servidor DHCP em detalhes. Abaixo coloco apenas o conteúdo do arquivo /etc/dhcp/dhcpd.conf que utilizo:

Em /etc/default/isc-dhcp-server, adicione a interface que servirá IP. No caso, wlan0. Apenas deixe a respectiva linha assim:

Já citei acima 2 tutoriais importantes para essa configuração, mas se sua preguiça em lê-los for demasiada, simplesmente siga os procedimentos desse tutorial.

wlan0





Obviamente você não poderá ter uma interface com IP dinâmico, portanto, agora é a hora de configurar um IP estático para a interface WiFi do seu Raspberry Pi. Edite o arquivo /etc/network/interfaces e remova qualquer referência à wlan0. Substitua por isso:

Quando você reiniciar seu Raspberry, já deverá ter sua interface wlan0 configurada, mas claro que não se faz necessário reiniciar o dispositivo para atribuir o IP:

hostapd





Para finalizar, devemos agora configurar o hostapd para que o usuário possa se autenticar à rede. Para tal, edite o arquivo /etc/hostapd/hostapd.conf. Como você pode ver, a segurança é mínima, uma vez que é especificada em arquivo de texto plano, mas eu não me incomodo muito com isso. Também, não tente procurar pelo arquivo hostapd.conf, porque ele simplesmente não existe, precisa ser criado:

Dentro de /etc/hostapd, existe apenas o arquivo ifupdown.sh e em /etc/init.d, o arquivo hostapd, que é o serviço. De inicio fiquei um pouco confuso em fazê-lo sem ler a documentação porque me parece atípico o formato desse pacote, mas de qualquer modo, não é complicado. O próximo passo é indicar o arquivo de configuração – e esse passo que me deixou com dúvidas inicialmente. A indicação do arquivo de configuração fica em /etc/default/hostapd. Basta adicionar uma linha assim:

Ao instalar o hostapd, ele faz uma configuração de firewall. Se você se sente à vontade para escrever sua própria configuração, faça-o. Eu escrevi um artigo sobre configuração de firewall doméstico e outro para configurar um Raspberry como firewall, e é bastante simples o processo, lembrando que basicamente você deve configurar o nat e o forward dos pacotes. Esse é o tutorial.

Existem várias maneiras de configurar o ip_forward. Eu costumo colocar junto às minhas regras de firewall, mas considerando a utilização padrão do hostapd, coloque isso em /etc/rc.local:

Esse comando pode ser executado manualmente para ter efeito na hora, mas deixá-lo em /etc/rc.local automatizará o processo a cada reboot.

Você pode executar algumas regras de firewall manualmente agora:

Se não funcionar ao iniciar, mais uma vez sugiro as configurações de firewall do post supracitado. Nesse caso, crie um arquivo de firewall e adicione-o ao /etc/rc.local:

Como você pode ver, as regras são bastante flexíveis. Rode a primeira vez manualmente para ver se funciona:

E na barra de tarefas:

hostap
hostap

 

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

 

 

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.