Índice:
- Suprimentos
- Etapa 1: Configurando o Raspberry Pi
- Etapa 2: 70-persistent-net.rules
- Etapa 3: Hostapd.conf
- Etapa 4: Dnsmasq.conf
- Etapa 5: Interfaces
- Etapa 6: Wpa_supplicant.conf
- Etapa 7: Script Hostapdstart
- Etapa 8: Rc.local
- Etapa 9: Reinicializar
Vídeo: Ponte WiFi da rede Raspberry Pi Enterprise: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Por: Riley Barrett e Dylan Halland
O objetivo deste projeto é permitir que um dispositivo IoT, como um Weemo Smart Plug, Amazon Echo, Gaming Console ou qualquer outro dispositivo habilitado para Wi-Fi se conecte a uma rede corporativa WPA_EAP usando um Raspberry Pi Zero W como um pacote dispositivo de encaminhamento. Etapas de configuração extras são necessárias para dispositivos que se conectam a uma rede corporativa e muitos dispositivos não são compatíveis de forma alguma. Usando uma ponte Wi-Fi, qualquer dispositivo pode facilmente obter acesso à Internet conectando-se ao Pi.
O sistema pode ser implementado em uma placa sem fio ou em duas placas separadas, dependendo dos requisitos do usuário. Para sistemas que requerem maior intensidade de sinal e velocidades de upload / download mais rápidas, é melhor usar uma placa sem fio dedicada para hospedar o ponto de acesso. No entanto, para sistemas em que a intensidade do sinal e a largura de banda são menos importantes, ou onde uma solução mais econômica é desejada, um único cartão pode ser compartilhado pelo ponto de acesso e pela conexão de rede.
Suprimentos
Raspberry Pi Zero W
Acesso a teclado e monitor
Algum conhecimento de programação (para fins de depuração, configuração do Raspberry Pi)
Adaptador Wi-Fi externo / dongle (opcional)
Etapa 1: Configurando o Raspberry Pi
Comece conectando seu Pi a um teclado e monitor (pode exigir um adaptador HDMI).
Em seguida, você pode começar digitando o comando:
sudo su
Isso garantirá que você tenha os privilégios necessários para modificar arquivos no pi.
Agora você vai querer instalar dnsmasq e hostapd usando o comando:
apt-get install dnsmasq hostapd
Agora você pode começar a configurar a ponte WiFi.
NOTA - O tutorial a seguir conterá informações para aqueles que usam a única placa sem fio integrada para o ponto de acesso e para se conectar à rede. Também é possível configurar o sistema para funcionar em duas placas separadas. Para fazer isso, simplesmente procure as linhas comentadas "wlan1" nos arquivos fornecidos e substitua-as pelas linhas "ap0" vizinhas.
Etapa 2: 70-persistent-net.rules
Comece encontrando o endereço MAC do seu pi digitando:
iw dev
Crie o seguinte arquivo:
nano /etc/udev/rules.d/70-persistent-net.rules
e edite-o para que contenha o seguinte
SUBSISTEMA == "ieee80211", ACTION == "adicionar | alterar", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN + = "/ sbin / iw phy phy0 interface add ap0 type _ap ", / RUN + =" / bin / ip link set ap0 address b8: 27: eb: c0: 38: 40"
Este arquivo informa ao sistema para alocar um dispositivo para o ponto de acesso na inicialização. Aqui, o endereço MAC deve ser substituído pelo do seu próprio pi, que você acabou de encontrar.
(Duas placas sem fio) Este arquivo não é necessário ao usar duas placas sem fio.
Etapa 3: Hostapd.conf
Em seguida, você editará o arquivo hostapd.conf digitando o seguinte:
nano /etc/hostapd/hostapd.conf
Modifique o arquivo para que corresponda à seguinte configuração:
ctrl_interface = / var / run / hostapd
ctrl_interface_group = 0 # interface = ap0 interface = wlan1 condutor = nl80211 SSID = TESTNET hw_mode = g = 6 canal wmm_enabled = 0 = 0 macaddr_acl auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 = wpa_key_mgmt WPA-PSK wpa_pairwise = TKIP CCMP rsn_pairwise = CCMP
Observe que, embora meu canal aqui esteja definido como 6, pode ser necessário alterar este valor para corresponder ao canal em que wlan0 está ligado. Em algumas redes, o canal será alterado automaticamente para o ponto de acesso corresponder a wlan0, mas esta não era minha experiência na rede corporativa. Você pode verificar quais canais estão em uso atualmente e por quais interfaces digitando
canal iwlist
(Duas placas sem fio) Simplesmente descomente a linha que contém wlan1 e comente a que contém ap0.
Etapa 4: Dnsmasq.conf
Agora você vai editar o arquivo dnsmasq.conf:
nano /etc/dnsmasq.conf
Remova o comentário ou adicione as seguintes linhas:
interface = lo, ap0
# interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domínio-necessário bogus-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h
Você pode usar sua própria sub-rede aqui, se desejar, mas certifique-se de ser consistente.
(Dois WirelessCcards) Remova o comentário da linha que contém wlan1 e comente aquela que contém ap0.
Etapa 5: Interfaces
Em seguida, você precisará modificar o arquivo de interfaces:
nano / etc / network / interfaces
auto lo
auto ap0 #auto wlan1 auto wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 # allow-hotplug wlan1 iface ap0 inet estático #iface wlan1 inet endereço estático 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd.conf allow-hotplug wlan0 iface wlan0 inet dhcp pré-up wpa_supplicant -B -Dwext -i wlan0 -c / etc / wpa_supplicant / wpa_supplicant.conf pós-down killall -q wpa_supplicant
É importante notar que a interface wlan0 DEVE vir depois de qualquer interface que você esteja encaminhando para ela, caso contrário, o sistema não funcionará corretamente.
(Duas placas sem fio) Remova o comentário de qualquer linha que contenha wlan1 e comente qualquer linha que contenha ap0.
Etapa 6: Wpa_supplicant.conf
Agora você modificará o arquivo wpa_supplicant.conf encontrado em:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Algumas redes são configuradas de forma diferente de outras, portanto, esta parte pode exigir alguns ajustes, aqui está o arquivo wpa_supplicant.conf que me permitiu conectar à rede em Cal Poly:
country = USctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 rede = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP pairwise = CCMP TKIP group = CCMP TKIP eap = PEAP identidade = "nome de usuário @ @ calpoly.edu "senha =" sua_senha "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}
Este arquivo é usado para configurar o wlan0 para se conectar à sua rede corporativa. Algumas redes corporativas exigem um certificado CA para se conectar. A rede do campus da Cal Poly não requer um certificado, então eu pulei esta parte, mas você pode facilmente baixar os certificados apropriados e adicioná-los ao seu arquivo wpa_supplicant com a linha
ca_cert = "/ caminho / para / cert.pem"
Etapa 7: Script Hostapdstart
A última coisa que resta a fazer é escrever um script que inicie ambas as interfaces e configure o encaminhamento do pacote quando o sistema for inicializado. Crie um arquivo chamado hostapdstart digitando:
nano / usr / local / bin / hostapdstart
Adicione o seguinte ao arquivo
sudo ifdown --force wlan0 && sudo ifdown --force ap0 && sudo ifup ap0 && sudo ifup wlan0
#sudo ifdown --force wlan0 && sudo ifdown --force wlan1 && sudo ifup wlan1 && sudo ifup wlan0 sudo sysctl -w net.ipv4.ip_forward = 1 sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24! -d 192.168.2.0/24 -j MASQUERADEsudo systemctl restart dnsmasq
Este script desativa ambas as interfaces, depois as traz de volta na ordem apropriada, diz ao pi que você gostaria de encaminhar pacotes de uma interface para outra e finalmente reinicia o dnsmasq para que as mudanças tenham efeito.
(Duas placas sem fio) descomente a linha com wlan1 e comente a linha com ap0.
Etapa 8: Rc.local
Por fim, queremos que o sistema inicie quando o sistema for inicializado, portanto, modificaremos o arquivo rc.local, que é executado na inicialização:
nano /etc/rc.local
Basta adicionar a seguinte linha ao final do arquivo:
hostapdstart> 1 &
Seu arquivo deve ser semelhante a este:
_IP = $ (hostname -I) || trueif ["$ _IP"]; então printf "Meu endereço IP é% s / n" "$ _IP" fi
hostapdstart> 1 &
saída 0
Etapa 9: Reinicializar
E é isso! Agora, supondo que você tenha tudo configurado corretamente e seu dongle WiFi esteja conectado (se você estiver usando um), você simplesmente precisa reiniciar seu Raspberry Pi com o comando:
reinício
Assim que o seu Pi for reiniciado com sucesso, você poderá ver o nome do seu ponto de acesso em qualquer dispositivo (telefone, laptop, etc.). Depois de se conectar usando a senha especificada, ela deve conectá-lo diretamente à rede corporativa desejada!
Agradecimentos especiais aos seguintes links por nos fornecerem uma ideia de como abordar este projeto:
- https://blog.thewalr.us/2017/09/26/raspberry-pi-ze…
- https://www.raspberrypi.org/forums/viewtopic.php?p…
- https://www.raspberrypi.org/forums/viewtopic.php?f…
Deixe-nos saber se você tiver dúvidas, comentários ou sugestões!
Vice-campeão no Desafio de IoT
Recomendado:
Como fazer seu próprio gateway WIFI para conectar seu Arduino à rede IP?: 11 etapas (com imagens)
Como fazer seu próprio gateway WIFI para conectar seu Arduino à rede IP?: Como tantas pessoas, você acha que o Arduino é uma solução muito boa para fazer automação residencial e robótica! Mas em termos de comunicação, os Arduinos só vêm com links seriais. Estou trabalhando em um robô que precisa estar permanentemente conectado a um servidor que roda
Raspberry Pi Ethernet para ponte Wifi: 7 etapas
Raspberry Pi Ethernet para ponte Wifi: Tenho uma rede de teste de vários Raspberry Pies, dispositivos e outros computadores e equipamentos de rede, todos gerenciados por um firewall / roteador Ubiquity e quero que ele esteja conectado à Internet para que possa puxar atualizações, software, etc. Infortúnio
Conecte o ESP8266 à rede WIFI: 3 etapas
Conecte o ESP8266 à rede WIFI: No artigo anterior, discuti como tornar o ESP8266 um ponto de acesso. E neste artigo, vou mostrar como conectar o ESP8266 a uma rede wi-fi (tornando o ESP8266 um cliente). Antes de prosseguir para o tutorial, certifique-se de adicionar o ESP82
LED de controle da sua rede WiFi! SPEEEduino V1.1: 4 etapas (com imagens)
LED de controle da sua rede WiFi! SPEEEduino V1.1: O que é o SPEEEduino? O SPEEEduino é uma placa de microcontrolador habilitada para Wi-Fi baseada no ecossistema Arduino, construída para educadores. O SPEEEduino combina o fator de forma e o microcontrolador do Arduino com o ESP8266 Wi-Fi SoC, tornando
Inversor conectado à rede DIY (não alimenta a rede) Alternativa de UPS: 7 etapas (com fotos)
Inversor DIY Grid Tied (não alimenta a rede) Alternativa de UPS: Este é um post de acompanhamento do meu outro Instructable sobre como fazer um inversor de rede que não realimenta a rede, uma vez que agora é sempre possível fazer isso em certas áreas como um projeto DIY e alguns lugares não permitem a alimentação lá g