Índice:

Ponte WiFi da rede Raspberry Pi Enterprise: 9 etapas
Ponte WiFi da rede Raspberry Pi Enterprise: 9 etapas

Vídeo: Ponte WiFi da rede Raspberry Pi Enterprise: 9 etapas

Vídeo: Ponte WiFi da rede Raspberry Pi Enterprise: 9 etapas
Vídeo: Aqara E1 ZHWG16LM - Zigbee 3.0 шлюз в формате USB стика с wi-fi повторителем 2024, Julho
Anonim
Ponte WiFi da rede Raspberry Pi Enterprise
Ponte WiFi da rede Raspberry Pi Enterprise

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

Configurando o Raspberry Pi
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!

Desafio IoT
Desafio IoT
Desafio IoT
Desafio IoT

Vice-campeão no Desafio de IoT

Recomendado: