Configurando o ponto de acesso sem fio usando Raspberry Pi
Configurando-o-ponto-de-acesso-sem-fio-usando-Raspberry-Piblog_image_banner

Configurando o ponto de acesso sem fio usando Raspberry Pi


Oi pessoal, hoje irei mostrar como transformar o Raspberry Pi em um ponto de acesso wireless ao qual outros dispositivos podem se conectar, basicamente estamos transformando o Raspberry Pi em um “roteador” wireless.

Como bônus, também estarei nos mostrando como configurar o ponto de acesso sem fio criado para fornecer (compartilhar) acesso à Internet para (com) dispositivos conectados. Então, vamos começar a criar um ponto de acesso Wi-Fi com Raspberry Pi.

Componentes necessários:

Os seguintes componentes serão necessários para configurar um raspberry pi como um ponto de acesso sem fio:

Raspberry Pi 2

Cartão SD de 8GB

Dongle USB wi-fi

Cabo Ethernet

Fonte de alimentação para o Pi.

Monitor (opcional)

Teclado (opcional)

Mouse (opcional)

Embora o Raspberry Pi 3 e o Pi zero estejam amplamente disponíveis e possam ter sido usados, para este tutorial, usarei o Raspberry Pi 2 porque meu Pi3 está atualmente ocupado executando algumas tarefas pesadas relacionadas à visão computacional, que espero compartilhar em um tutorial aqui em breve.

Este procedimento, entretanto, também funciona para o pi 3 e deve (observe a ênfase) também funcionar para o Raspberry Pi zero W. Ao usar o Raspberry Pi 3 ou o Zero W, não haverá necessidade de um módulo Wi-Fi externo pois essas duas placas já possuem wi-fi a bordo.

Para definir os objetivos deste tutorial de forma mais complexa, daremos ao nosso Raspberry Pi a capacidade de servir como um ponto de acesso sem fio e, para isso, precisaremos instalar e configurar um software que equipa o raspberry pi com essa funcionalidade junto com um software de servidor DHCP para fornecer um endereço de rede para os dispositivos que serão conectados ao ponto de acesso.

Para satisfazer este requisito de software, usaremos os softwares dnsmasq e hostapd.

Este tutorial será baseado no sistema operacional Raspbian stretch, então, para continuar como de costume, presumo que você esteja familiarizado com a configuração do Raspberry Pi com o sistema operacional Raspbian stretch e saiba como fazer SSH no raspberry pi usando um software de terminal como massa.

Se você tiver problemas com isso, existem toneladas de tutoriais do Raspberry Pi neste site que podem ajudar.

Etapas para configurar o Raspberry Pi como ponto de acesso sem fio:

Seguindo as seguintes etapas principais, uma após a outra, seremos capazes de configurar o raspberry pi como um ponto de acesso sem fio. Deve-se observar que alguns dongles USB sem fio não funcionam no modo AP, mas depois de tentar esse dongle e funcionou, fico tentado a dizer que 5 de 8 dongles funcionarão.

Etapa 1: atualize o Pi

Como de costume, atualizamos o raspberry pi para garantir que temos a versão mais recente de tudo. Isso é feito usando;

sudo apt-get update

seguido por;

sudo apt-get upgrade

Com a atualização feita, reinicie seu pi para efetuar as alterações.

Etapa 2: Instale “dnsmasq” e “hostapd”

Em seguida, instalamos o software que permite configurar o pi como um ponto de acesso sem fio e também o software que ajuda a atribuir endereços de rede aos dispositivos que se conectam ao AP. Fazemos isso correndo;

sudo apt-get install dnsmasq​

seguido por;


sudo apt-get install hostapd​

ou você pode combiná-lo executando;

sudo apt-get install dnsmasq hostapd

Etapa 3: interromper a execução do software

Uma vez que ainda não temos o software configurado, não faz sentido executá-lo, então nós os desativamos para funcionar no subsolo. Para fazer isso, executamos os seguintes comandos para interromper a operação do systemd.

sudo systemctl stop dnsmasq

sudo systemctl stop hostapd

Etapa 4: configurar um endereço IP estático para a porta sem fio

Confirme a porta wlan na qual o dispositivo sem fio em uso está conectado. Para o meu Pi, o wireless está em wlan0. Configurar o Raspberry Pi para atuar como servidor exige que atribuamos um endereço IP estático à porta sem fio. Isso pode ser feito editando o arquivo de configuração dhcpcd. Para editar o arquivo de configuração, execute;

sudo nano /etc/dhcpcd.conf

Role até o final do arquivo de configuração e adicione as seguintes linhas.

Interface wlan0

static ip_address=192.168.4.1/24

Após adicionar as linhas, o arquivo de configuração deve ser semelhante à imagem abaixo.

Nota: este endereço IP pode ser alterado para se adequar à sua configuração preferida.

Salve o arquivo e saia usando; ctrl+x seguido por Y

Reinicie o serviço dhcpcd para efetuar as alterações feitas na configuração usando;

Sudo service dhcpcd restart

Etapa 5: configurar o servidor dhcpcd

Com um endereço IP estático agora configurado para o Raspberry Pi wlan, o próximo passo é configurar o servidor dhcpcd e fornecer o intervalo de endereços IP a serem atribuídos aos dispositivos que se conectam ao ponto de acesso sem fio.

Para fazer isso, precisamos editar o arquivo de configuração do software dnsmasq, mas o arquivo de configuração do software contém muitas informações e muita coisa pode dar errado. arquivo com apenas a quantidade de informações necessárias para tornar o ponto de acesso sem fio totalmente funcional.

Antes de criar o novo arquivo de configuração, mantemos o antigo em segurança movendo e renomeando-o.

sudo mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.old

Em seguida, inicie o editor para criar um novo arquivo de configuração;

sudo nano /etc/dnsmasq.conf

com o editor iniciado, copie as linhas abaixo e cole ou digite diretamente nele.

Interface = wlan0  #indicate the communication interface which is usually wlan0 for wireless

dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h

o conteúdo do arquivo deve se parecer com a imagem abaixo.

Salve o arquivo e saia. O conteúdo deste arquivo de configuração é apenas para especificar o intervalo de endereços IP que podem ser atribuídos aos dispositivos conectados ao ponto de acesso sem fio.

Com isso feito, poderemos dar uma identidade aos dispositivos em nossa rede.

O próximo conjunto de etapas nos ajudará a configurar o software host do ponto de acesso, configurar o ssid, selecionar o encriptação etc.

Etapa 6: configurar hostapd para SSID e senha

Precisamos editar o arquivo de configuração do hostapd (execute sudo nano /etc/hostapd/hostapd.conf) para adicionar os vários parâmetros para a rede sem fio que está sendo configurada, incluindo o ssid e a senha.

Deve-se observar que a senha (passphrase) deve ter entre 8 e 64 caracteres. Qualquer coisa menor não funcionará.

interface=wlan0

driver=nl80211

ssid=piNetwork  

hw_mode=g

channel=7

wmm_enabled=0

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=emmanuel # use a very secure password and not this

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCM

Sinta-se à vontade para alterar o ssid e a senha para atender às suas necessidades e desejos.

Salve o arquivo de configuração e saia.

Depois que o arquivo de configuração foi salvo, precisamos apontar o software hostapd para onde o arquivo de configuração foi salvo. Para fazer isso, execute;

sudo nano /etc/default/hostapd

encontre a linha com daemon_conf

Descomente a linha DAEMON_CONF e adicione a linha abaixo entre as aspas na frente do sinal de “igual a”.

/etc/hostapd/hostapd.conf

Passo 7: Aqueça

Como desabilitamos os dois softwares inicialmente, para que possamos configurá-los corretamente, precisamos reiniciar o sistema após a configuração para efetuar as alterações.

Usar;

sudo systemctl start hostapd

sudo systemctl start dnsmasq

Etapa 8: roteamento e mascaramento para tráfego de saída

Precisamos adicionar roteamento e mascaramento para tráfego de saída.

Para fazer isso, precisamos editar o arquivo de configuração do systemctl executando:

sudo nano /etc/sysctl.conf

Descomente esta linha net.ipv4.ip_forward=1

Salve o arquivo de configuração e saia usando ctrl+x seguido de y.

Em seguida, passamos para mascarar o tráfego de saída. Isso pode ser feito fazendo algumas alterações na regra do iptable. Para fazer isso, execute os seguintes comandos:

sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE

em seguida, salve a regra do Iptables usando:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Etapa 9: Crie um ponto de acesso sem fio na inicialização:

Para a maioria das aplicações de ponto de acesso sem fio, geralmente é desejável que o ponto de acesso seja ativado assim que o sistema for inicializado.

Para implementar isso no raspberry pi, uma das maneiras mais fáceis é adicionar instruções para executar o software no arquivo rc.local, então colocamos comandos para instalar as regras do iptable na inicialização no arquivo rc.local.

Para editar o arquivo rc.local, execute:

sudo nano /etc/rc.local

e adicione as seguintes linhas na parte inferior do sistema, logo antes da instrução exit 0

iptables-restore < /etc/iptables.ipv4.nat

Passo 9: Reinicie! E use

Neste estágio, precisamos reinicializar o sistema para efetuar todas as alterações e testar o ponto de acesso sem fio inicializando na inicialização com a regra iptables atualizada.

Reinicie o sistema usando:

sudo reboot

Assim que o sistema voltar a funcionar, você poderá acessar o ponto de acesso sem fio usando qualquer dispositivo habilitado para Wi-Fi e a senha usada durante a configuração.

Acessando a Internet a partir do ponto de acesso Wi-Fi do Raspberry Pi 

Ah sim, então estarei adicionando um tutorial bônus para mostrar como o ponto de acesso sem fio criado pode ser usado para fornecer conexão à Internet para os dispositivos conectados a ele. O acesso à Internet distribuído aos dispositivos é fornecido pela porta Ethernet no Pi, que pode ser conectada a um roteador ou a qualquer dispositivo similar.

Para implementar isso, precisamos colocar uma “ponte” entre o dispositivo sem fio e o dispositivo Ethernet no Raspberry Pi (o ponto de acesso sem fio) para passar todo o tráfego entre as duas interfaces.

Para configurar isso, usaremos o software bridge-utils. Instale hostapd e bridge-utils. Embora tenhamos instalado o hostapd antes, execute a instalação novamente para esclarecer todas as dúvidas.

sudo apt-get install hostapd bridge-utils

Em seguida, paramos o hostapd para configurar o software.


sudo systemctl stop hostapd

Quando uma ponte é criada, uma construção de nível superior é criada nas duas portas que estão sendo conectadas e a ponte se torna o dispositivo de rede. Para evitar conflitos, precisamos interromper a alocação de endereços IP pelo cliente DHCP em execução no Raspberry Pi para as portas eth0 e wlan0. Isso será feito editando o arquivo de configuração do cliente dhcpcd para incluir denyinterfaces wlan0 e denyinterfaces eth0 conforme mostrado na imagem abaixo.


O arquivo pode ser editado executando o comando;

sudo nano /etc/dhcpcd.conf

Nota: a partir deste ponto, certifique-se de não desconectar o cabo Ethernet do seu PC se estiver executando no modo headless, pois pode não ser possível conectar via SSH novamente, pois desabilitamos a porta Ethernet. Se estiver trabalhando com um monitor, você não tem nada a temer.

Em seguida, criamos uma nova ponte chamada br0

sudo brctl addbr br0

Em seguida, conectamos a porta ethernet (eth0) à ponte (br0) usando;

sudo brctl addif br0 eth0

Em seguida, editamos o arquivo de interfaces usando sudo nano /etc/network/interfaces para que vários dispositivos possam trabalhar com a ponte. Edite o arquivo de interfaces para incluir as informações abaixo;


#Bridge setup

auto br0

iface br0 inet manual

bridge_ports eth0 wlan0​

Por fim, editamos o arquivo hostapd.conf para incluir a configuração da ponte. Isso pode ser feito executando o comando: sudo nano /etc/hostapd.conf e editando o arquivo para conter as informações abaixo. Observe que a ponte foi adicionada abaixo da interface wlan0 e a linha do driver foi comentada.

interface=wlan0

bridge=br0

#driver=nl80211

ssid=NameOfNetwork

hw_mode=g

channel=7

wmm_enabled=0

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=AardvarkBadgerHedgehog

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

Feito isso, salve o arquivo de configuração e saia.

Para efetuar as alterações feitas no Raspberry Pi, reinicie o sistema. Depois que ele voltar, você poderá acessar a Internet conectando-se ao ponto de acesso sem fio criado pelo Raspberry Pi. Obviamente, isso só funcionará se o acesso à Internet estiver disponível para o pi através da porta Ethernet.

Embora este projeto possa ser usado para estender o Wi-Fi em toda a casa ou escritório ou em um complexo inteiro, existem várias aplicações que considero muito interessantes e úteis, como o raspberry pi como um hub de automação residencial, para que vários dispositivos de automação residencial habilitados para Wi-Fi possam conecte-se à internet usando o ponto de acesso sem fio do raspberry pi.

Testando o ponto de acesso sem fio Raspberry Pi:

Para testar essas instruções, use um telefone celular ou qualquer outro dispositivo capaz de se conectar a uma rede de hotspot WiFi, você deverá ver o nome pop-up. Você pode então se conectar a ele usando aquela terrível senha que especificamos “emmanuel”.

Certifique-se de usar uma senha mais segura ao implementar. Eu só usei essa senha para tornar as coisas mais fáceis de seguir.

Observe também que pode demorar um pouco para que o ponto de acesso sem fio fique visível após a reinicialização, pois o Pi precisa inicializar antes do início das atividades da rede.



ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.