- Componentes necessários:
- Etapas para configurar o Raspberry Pi como ponto de acesso sem fio:
- Acessando a Internet do hotspot Wi-Fi do Raspberry Pi
- Testando o ponto de acesso sem fio Raspberry Pi:
Olá pessoal, hoje vou 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. Esse procedimento, no entanto, 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 qualquer um desses, há muitos tutoriais do Raspberry Pi neste site que podem ajudar.
Etapas para configurar o Raspberry Pi como ponto de acesso sem fio:
Seguindo as etapas a seguir, 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, estou 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 concluída, reinicie o pi para efetuar as alterações.
Etapa 2: Instale “ dnsmasq ” e “ hostapd ”
Em seguida, instalamos o software que possibilita configurar o pi como 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
Como ainda não temos o software configurado, não adianta executá-lo, então desabilitamos sua execução 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 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;
Reinicialização do dhcpcd do serviço Sudo
Etapa 5: configurar o servidor dhcpcd
Com um endereço IP estático agora configurado para o Raspberry Pi wlan, o próximo passo é configurarmos o servidor dhcpcd e fornecer a ele a faixa 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 muitas podem dar errado. Se não for editado corretamente, então, em vez de editar, estaremos criando uma nova configuração 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 aberto, copie as linhas abaixo e cole ou digite diretamente nele.
Interface = wlan0 #indique a interface de comunicação que geralmente é wlan0 para wireless dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
o conteúdo do arquivo deve ser semelhante à imagem abaixo.
Salve o arquivo e saia. O conteúdo deste arquivo de configuração serve apenas para especificar o intervalo de endereços IP que podem ser atribuídos aos dispositivos conectados ao ponto de acesso sem fio.
Feito isso, seremos capazes de 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 a criptografia etc.
Etapa 6: configurar hostapd para SSID e senha
Precisamos editar o arquivo de configuração 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 = emmanuelpair # use uma senha muito segura e não este wpa_key_mgmt = Wpa_mgmt = Wpa_PAK wpa_key_mgmt = Wpa_mgmt rsn_pairwise = CCM
O conteúdo do arquivo deve ser semelhante à imagem abaixo.
Sinta-se à vontade para alterar o SSID e a senha de acordo com 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 comentada conforme mostrado na imagem abaixo.
Remova o comentário da linha DAEMON_CONF e adicione a linha abaixo entre as aspas na frente do sinal “igual a”.
/etc/hostapd/hostapd.conf
Etapa 7: acione
Como desabilitamos os dois softwares inicialmente, para nos permitir configurá-los adequadamente, 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 máscara para tráfego de saída.
Para fazer isso, precisamos editar o arquivo de configuração do systemctl executando:
sudo nano /etc/sysctl.conf
Remova o comentário desta linha net.ipv4.ip_forward = 1 (destacado na imagem abaixo)
Salve o arquivo de configuração e saia usando ctrl + x seguido de y.
Em seguida, passamos a mascarar o tráfego de saída. Isso pode ser feito fazendo algumas alterações na regra iptable. Para fazer isso, execute os seguintes comandos:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
em seguida, salve a regra 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 inicializar. 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 de 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
Etapa 9: reinicie! E use
Neste estágio, precisamos reinicializar o sistema para efetuar todas as alterações e testar o ponto de acesso wireless inicializando na inicialização com a regra iptables atualizada.
Reinicialize o sistema usando:
sudo reboot
Assim que o sistema for ligado, você deverá conseguir 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 do hotspot Wi-Fi do Raspberry Pi
Sim, 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 através da porta Ethernet no Pi, que pode ser conectada a um roteador ou qualquer dispositivo semelhante.
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: Deste ponto em diante, certifique-se de não desconectar o cabo Ethernet do seu PC se você estiver executando no modo headless, pois você pode não conseguir se conectar via SSH novamente, pois desabilitamos a porta Ethernet. Se estiver trabalhando com um monitor, você não tem nada a temer.
A seguir, criamos uma nova ponte chamada br0
sudo brctl addbr br0
Em seguida, conectamos a porta ethernet (eth0) à bridge (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 funcionar 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 último, 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 PSKpa_key_PApairs = WPWPwise = CCPPHedgehog = Wpa_key_PAmgt.
Feito isso, salve o arquivo de configuração e saia.
Para efetuar as alterações feitas no Raspberry Pi, reinicie o sistema. Assim que ele voltar, você poderá acessar a Internet conectando-se ao ponto de acesso sem fio criado pelo Raspberry Pi. Isso, é claro, só funcionará se o acesso à Internet estiver disponível para o pi por meio da porta Ethernet.
Embora este projeto possa ser usado para estender o Wi-Fi pela casa ou escritório ou um complexo inteiro, existem vários aplicativos 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 com Wi-Fi possam conectar-se à Internet usando o ponto de acesso sem fio do raspberry pi. Você tem alguma outra ideia legal, à qual isso possa ser aplicado, sinta-se à vontade para compartilhar através da seção de comentários para inspirar outras pessoas.
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 ponto de acesso WiFi, você 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. 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 se torne visível após a reinicialização, pois o Pi precisa ser inicializado antes do início das atividades de rede.
É isso para este tutorial pessoal. É longo, obrigado por reservar um tempo para ler. Feedback e comentários são sempre bem-vindos.
Até a próxima!