Cuprins:

Raspberry Pi Enterprise Network WiFi Bridge: 9 pași
Raspberry Pi Enterprise Network WiFi Bridge: 9 pași

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 pași

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 pași
Video: Wireless Bridge Mode - Networking 2024, Iulie
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

De: Riley Barrett și Dylan Halland

Scopul acestui proiect este de a permite unui dispozitiv IoT, cum ar fi Weemo Smart Plug, Amazon Echo, Gaming Console sau orice alt dispozitiv cu Wi-Fi conectat la o rețea WPA_EAP Enterprise utilizând un Raspberry Pi Zero W ca pachet dispozitiv de expediere. Sunt necesari pași suplimentari de configurare pentru dispozitivele care se conectează la o rețea de întreprindere și multe dispozitive nu sunt deloc compatibile. Prin utilizarea unui Wi-Fi Bridge, orice dispozitiv poate obține cu ușurință acces la internet prin conectarea la Pi.

Sistemul poate fi implementat fie pe un card wireless, fie pe două carduri separate, în funcție de cerințele utilizatorului. Pentru sistemele care necesită o putere mai mare a semnalului și viteze mai mari de încărcare / descărcare, cel mai bine este să utilizați o placă wireless dedicată pentru a găzdui punctul de acces. Cu toate acestea, pentru sistemele în care puterea semnalului și lățimea de bandă sunt mai puțin importante sau în care se dorește o soluție mai rentabilă, o singură placă poate fi partajată de punctul de acces și de conexiunea la rețea.

Provizii

Raspberry Pi Zero W

Acces la tastatură și monitor

Câteva cunoștințe de programare (în scopuri de depanare, configurare Raspberry Pi)

Adaptor / dongle WiFi extern (opțional)

Pasul 1: Configurarea Raspberry Pi

Configurarea Raspberry Pi
Configurarea Raspberry Pi

Începeți prin conectarea dispozitivului Pi la o tastatură și un monitor (poate necesita un adaptor HDMI).

Apoi, puteți începe tastând comanda:

sudo su

Acest lucru vă va asigura că aveți privilegiile necesare pentru a modifica fișierele de pe pi.

Acum veți dori să instalați dnsmasq și hostapd folosind comanda:

apt-get install dnsmasq hostapd

Acum puteți începe să configurați podul WiFi.

NOTĂ - Următorul tutorial va conține informații pentru cei care utilizează o singură placă wireless integrată atât pentru punctul de acces, cât și pentru conectarea la rețea. De asemenea, este posibil să configurați sistemul să ruleze pe două cărți separate. Pentru a face acest lucru, pur și simplu căutați liniile „wlan1” comentate în fișierele furnizate și înlocuiți-le cu liniile „ap0” vecine.

Pasul 2: 70-persistent-net.rules

Începeți prin a găsi adresa MAC a pi-ului dvs. tastând:

iw dev

Creați următorul fișier:

nano /etc/udev/rules.d/70-persistent-net.rules

și editați-l astfel încât să conțină următoarele

SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN + = "/ sbin / interfata iw phy phy0 adauga ap0 tip _ap ", / RUN + =" / bin / ip link set ap0 address b8: 27: eb: c0: 38: 40"

Acest fișier spune sistemului să aloce un dispozitiv pentru punctul de acces la pornire. Aici, adresa MAC ar trebui înlocuită cu cea a propriului dvs. pi, pe care tocmai l-ați găsit.

(Două carduri wireless) Acest fișier nu este necesar atunci când utilizați două carduri wireless.

Pasul 3: Hostapd.conf

Apoi, veți edita fișierul hostapd.conf introducând următoarele:

nano /etc/hostapd/hostapd.conf

Modificați fișierul astfel încât să se potrivească cu următoarea configurație:

ctrl_interface = / var / run / hostapd

ctrl_interface_group = 0 # interface = ap0 interface = wlan1 driver = nl80211 ssid = testnet hw_mode = g channel = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmt = WPA-PSK = wp_p

Rețineți că, în timp ce canalul meu de aici este setat la 6, poate fi necesar să modificați această valoare pentru a se potrivi cu canalul pe care este activat wlan0. În unele rețele, canalul va fi schimbat automat pentru ca punctul de acces să se potrivească cu wlan0, dar aceasta nu a fost experiența mea în rețeaua de întreprindere. Puteți verifica ce canale sunt utilizate în prezent și prin ce interfețe tastând

canal iwlist

(Două carduri fără fir) Pur și simplu descomentați linia care conține wlan1 și comentați-o pe cea care conține ap0.

Pasul 4: Dnsmasq.conf

Acum veți edita fișierul dnsmasq.conf:

nano /etc/dnsmasq.conf

Decomentați sau adăugați următoarele rânduri:

interface = lo, ap0

# interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domeniu necesar fals-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Puteți utiliza propria dvs. subrețea aici, dacă doriți, asigurați-vă că sunteți consecvenți.

(Două cărți fără fir) Descomentați linia care conține wlan1 și comentați-o pe cea care conține ap0.

Pasul 5: Interfețe

Apoi, va trebui să modificați fișierul de interfețe:

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 static #iface wlan1 inet adresa statică 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd.conf allow-hotplug wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B -Dwext -i wlan0 -c / etc / wpa_supplicant / wpa_supplicant.conf post-down killall -q wpa_supplicant

Este demn de remarcat faptul că interfața wlan0 TREBUIE să vină după orice interfață pe care îi transmiteți, altfel sistemul nu va funcționa corect.

(Două carduri fără fir) Descomentați toate liniile care conțin wlan1 și comentați orice conține ap0.

Pasul 6: Wpa_supplicant.conf

Acum veți modifica fișierul wpa_supplicant.conf găsit la:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Unele rețele sunt configurate diferit față de altele, astfel încât această parte poate necesita o anumită ameliorare, iată fișierul wpa_supplicant.conf care mi-a permis să mă conectez la rețea la Cal Poly:

country = USctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP pairwise = CCMP TKIP group = CCMP TKIP eap = PEAP identity = "username @ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Acest fișier este utilizat pentru a configura wlan0 pentru a vă conecta la rețeaua dvs. de întreprindere. Unele rețele de întreprindere necesită un certificat CA pentru a se conecta. Rețeaua campusului Cal Poly nu necesită un certificat, așa că am omis această porțiune, dar puteți descărca cu ușurință certificatele corespunzătoare și le puteți adăuga în fișierul wpa_supplicant cu linia

ca_cert = "/ cale / către / cert.pem"

Pasul 7: Script Hostapdstart

Ultimul lucru care rămâne de făcut este să scrieți un script care pornește ambele interfețe și configurează redirecționarea pachetelor atunci când sistemul pornește. Creați un fișier numit hostapdstart tastând:

nano / usr / local / bin / hostapdstart

Adăugați următoarele la fișier

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

Acest script descrește ambele interfețe, apoi le readuce în ordinea corectă, spune pi că doriți să redirecționați pachetele de la o interfață la alta și, în cele din urmă, repornește dnsmasq, astfel încât modificările să aibă efect.

(Două carduri fără fir) descomentați linia cu wlan1 și comentați linia cu ap0.

Pasul 8: Rc.local

În cele din urmă, dorim ca sistemul să înceapă când sistemul pornește, așa că vom modifica fișierul rc.local, care este rulat la pornire:

nano /etc/rc.local

Pur și simplu adăugați următoarea linie la sfârșitul fișierului:

hostapdstart> 1 &

Fișierul dvs. ar trebui să arate cam așa:

_IP = $ (hostname -I) || trueif ["$ _IP"]; apoi printf "Adresa mea IP este% s / n" "$ _IP" fi

hostapdstart> 1 &

ieșire 0

Pasul 9: reporniți

Si asta e! Acum, presupunând că aveți totul configurat corect și dongle-ul WiFi este atașat (dacă utilizați unul), trebuie pur și simplu să reporniți Raspberry Pi cu comanda:

reporniți

După ce Pi-ul dvs. a repornit cu succes, ar trebui să puteți vedea numele punctului de acces pe orice dispozitiv (telefon, laptop etc.). Odată ce vă conectați utilizând parola specificată, aceasta ar trebui să vă conecteze direct la rețeaua Enterprise dorită!

Mulțumiri speciale următoarelor link-uri pentru că ne-ați oferit o idee despre cum să abordăm acest proiect:

  • 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…

Spuneți-ne dacă aveți întrebări, comentarii sau sugestii!

Provocarea IoT
Provocarea IoT
Provocarea IoT
Provocarea IoT

Runner Up în IoT Challenge

Recomandat: