Innholdsfortegnelse:

Raspberry Pi Enterprise Network WiFi Bridge: 9 trinn
Raspberry Pi Enterprise Network WiFi Bridge: 9 trinn

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 trinn

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 trinn
Video: What If You Quit Social Media For 30 Days? 2024, Juli
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

Av: Riley Barrett og Dylan Halland

Målet med dette prosjektet er å tillate en IoT-enhet, for eksempel en Weemo Smart Plug, Amazon Echo, Gaming Console eller en annen Wi-Fi-aktivert enhet å koble til et WPA_EAP Enterprise Network ved å bruke en Raspberry Pi Zero W som en pakke videresendingsenhet. Ekstra konfigurasjonstrinn er nødvendig for enheter som kobler seg til et bedriftsnettverk, og mange enheter er ikke kompatible i det hele tatt. Ved å bruke en Wi-Fi Bridge kan enhver enhet enkelt få internettilgang ved å koble til Pi.

Systemet kan implementeres på enten ett trådløst kort eller to separate kort, avhengig av brukerens krav. For systemer som krever høyere signalstyrke og raskere opplasting/nedlasting, er det best å bruke et dedikert trådløst kort for å være vert for tilgangspunktet. For systemer der signalstyrken og båndbredden er mindre viktig, eller hvor en mer kostnadseffektiv løsning er ønsket, kan et enkelt kort deles av tilgangspunktet og nettverkstilkoblingen.

Rekvisita

Raspberry Pi Zero W

Tilgang til tastatur og skjerm

Litt kunnskap om programmering (for feilsøkingsformål, Raspberry Pi -oppsett)

Ekstern WiFi -adapter/dongle (valgfritt)

Trinn 1: Konfigurere Raspberry Pi

Sette opp Raspberry Pi
Sette opp Raspberry Pi

Begynn med å koble din Pi til et tastatur og en skjerm (kan kreve en HDMI -adapter).

Deretter kan du begynne med å skrive kommandoen:

sudo su

Dette vil sikre at du har de nødvendige rettighetene til å endre filer på pi.

Nå vil du installere dnsmasq og hostapd ved hjelp av kommandoen:

apt-get install dnsmasq hostapd

Du kan nå begynne å sette opp WiFi -broen.

MERK - Den følgende opplæringen vil inneholde informasjon for de som bruker det innebygde trådløse kortet for både tilgangspunktet og tilkobling til nettverket. Det er også mulig å konfigurere systemet til å kjøre på to separate kort. For å gjøre dette, bare se etter de kommenterte "wlan1" -linjene i de medfølgende filene, og erstatt dem med de nærliggende "ap0" -linjene.

Trinn 2: 70-persistent-net.rules

Begynn med å finne MAC -adressen til pi -en din ved å skrive:

iw dev

Lag følgende fil:

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

og rediger den slik at den inneholder følgende

SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ iw phy phy0 grensesnitt legg til ap0 type _ap ", / RUN+="/bin/ip link set ap0 adresse b8: 27: eb: c0: 38: 40"

Denne filen forteller systemet å tildele en enhet for tilgangspunktet ved oppstart. Her bør MAC -adressen erstattes med den til din egen pi, som du nettopp fant.

(To trådløse kort) Denne filen er ikke nødvendig når du bruker to trådløse kort.

Trinn 3: Hostapd.conf

Deretter redigerer du filen hostapd.conf ved å skrive inn følgende:

nano /etc/hostapd/hostapd.conf

Endre filen slik at den samsvarer med følgende konfigurasjon:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #grensesnitt = ap0 grensesnitt = wlan1 driver = nl80211 ssid = testnet hw_mode = g kanal = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmt = WPA-PSK_WSK_PWK_PWK_pa_pkWs_pk_viselig

Vær oppmerksom på at mens kanalen min her er satt til 6, må du kanskje endre denne verdien for å matche kanalen som wlan0 er på. På noen nettverk vil kanalen automatisk bli endret for at tilgangspunktet skal matche wlan0, men dette var ikke min erfaring på bedriftsnettverket. Du kan kontrollere hvilke kanaler som er i bruk og hvilke grensesnitt ved å skrive

iwlist -kanal

(To trådløse kort) Bare kommenter linjen som inneholder wlan1, og kommenter den som inneholder ap0.

Trinn 4: Dnsmasq.conf

Nå vil du redigere dnsmasq.conf -filen:

nano /etc/dnsmasq.conf

Ikke kommenter eller legg til følgende linjer:

grensesnitt = lo, ap0

#grensesnitt = lo, wlan1 no-dhcp-grensesnitt = lo bind-grensesnitt server = 8.8.8.8 domenebehovet falsk-priv dhcp-område = 192.168.2.100, 192.168.2.200, 12t

Du kan bruke ditt eget delnett her hvis du vil, bare vær sikker på at du er konsekvent.

(To WirelessCcards) Fjern kommentaren på linjen som inneholder wlan1, og kommenter den som inneholder ap0.

Trinn 5: Grensesnitt

Deretter må du endre grensesnittfilen:

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 static address 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

Det er verdt å merke seg at wlan0 -grensesnittet MÅ komme etter hvilket grensesnitt du videresender til det, ellers fungerer ikke systemet som det skal.

(To trådløse kort) Fjern kommentarer til linjer som inneholder wlan1, og kommenter alle som inneholder ap0.

Trinn 6: Wpa_supplicant.conf

Nå vil du endre wpa_supplicant.conf -filen som er funnet på:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Noen nettverk er konfigurert annerledes enn andre, så denne delen kan kreve litt tinkering. Her er wpa_supplicant.conf -filen som tillot meg å koble til nettverket på 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 identitet = "brukernavn@ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Denne filen brukes til å konfigurere wlan0 til å koble til bedriftsnettverket. Noen bedriftsnettverk krever et CA -sertifikat for å kunne koble til. Cal Polys campusnettverk krever ikke et sertifikat, så jeg har hoppet over denne delen, men du kan enkelt laste ned de riktige sertifikatene og legge dem til i wpa_supplicant -filen med linjen

ca_cert = "/path/to/cert.pem"

Trinn 7: Hostapdstart Script

Det siste du må gjøre er å skrive et skript som starter begge grensesnittene og konfigurerer videresending av pakker når systemet starter opp. Opprett en fil som heter hostapdstart ved å skrive:

nano/usr/local/bin/hostapdstart

Legg til følgende i filen

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

Dette skriptet bringer ned begge grensesnittene, bringer dem deretter opp igjen i riktig rekkefølge, forteller pi at du vil videresende pakker fra ett grensesnitt til et annet, og til slutt starter dnsmasq på nytt slik at endringene får virkning.

(Two Wireless Cards) uncomment line with wlan1 and comment out line with ap0.

Trinn 8: Rc.local

Til slutt vil vi at systemet skal starte når systemet starter opp, så vi vil endre rc.local -filen, som kjøres ved oppstart:

nano /etc/rc.local

Bare legg til følgende linje i slutten av filen:

hostapdstart> 1 &

Filen din skal se slik ut:

_IP = $ (vertsnavn -I) || trueif ["$ _IP"]; deretter printf "Min IP -adresse er %s / n" "$ _IP" fi

hostapdstart> 1 &

avslutte 0

Trinn 9: Start på nytt

Og det er det! Forutsatt at du har alt riktig konfigurert, og WiFi -dongelen er festet (hvis du bruker en), trenger du bare å starte Raspberry Pi på nytt med kommandoen:

starte på nytt

Når din Pi har lykkes med å starte på nytt, bør du kunne se navnet på tilgangspunktet ditt på en hvilken som helst enhet (telefon, bærbar PC, etc.). Når du kobler deg til med det angitte passordet, bør det koble deg direkte til ønsket Enterprise -nettverk!

Spesiell takk til følgende lenker for å gi oss en ide om hvordan vi skal gå frem for dette prosjektet:

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

Gi oss beskjed hvis du har spørsmål, kommentarer eller forslag!

IoT -utfordring
IoT -utfordring
IoT -utfordring
IoT -utfordring

Runner Up i IoT Challenge

Anbefalt: