Indholdsfortegnelse:

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

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 trin

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 trin
Video: my SUPER secure Raspberry Pi Router (wifi VPN travel router) 2024, December
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

Af: Riley Barrett og Dylan Halland

Målet med dette projekt er at give en IoT-enhed, f.eks. Et Weemo Smart Plug, Amazon Echo, Gaming Console eller enhver anden Wi-Fi-aktiveret enhed, mulighed for at oprette forbindelse til et WPA_EAP Enterprise Network ved hjælp af en Raspberry Pi Zero W som en pakke videresendelsesenhed. Ekstra konfigurationstrin er påkrævet for enheder, der opretter forbindelse til et virksomhedsnetværk, og mange enheder er slet ikke kompatible. Ved at bruge en Wi-Fi Bridge kan enhver enhed nemt få internetadgang ved at oprette forbindelse til Pi.

Systemet kan implementeres på enten et trådløst kort eller to separate kort afhængigt af brugerens krav. For systemer, der kræver højere signalstyrke og hurtigere upload-/downloadhastigheder, er det bedst at bruge et dedikeret trådløst kort til at være vært for adgangspunktet. For systemer, hvor signalstyrken og båndbredden er mindre vigtig, eller hvor der ønskes en mere omkostningseffektiv løsning, kan et enkelt kort deles af adgangspunktet og netværksforbindelsen.

Forbrugsvarer

Raspberry Pi Zero W

Adgang til tastatur og skærm

Noget kendskab til programmering (til fejlfinding, Raspberry Pi -opsætning)

Ekstern WiFi -adapter/dongle (valgfrit)

Trin 1: Opsætning af Raspberry Pi

Opsætning af Raspberry Pi
Opsætning af Raspberry Pi

Start med at slutte din Pi til et tastatur og en skærm (kan kræve en HDMI -adapter).

Derefter kan du begynde med at skrive kommandoen:

sudo su

Dette sikrer, at du har de nødvendige rettigheder til at ændre filer på pi.

Nu vil du installere dnsmasq og hostapd ved hjælp af kommandoen:

apt-get install dnsmasq hostapd

Du kan nu begynde at konfigurere WiFi -broen.

BEMÆRK - Den følgende vejledning indeholder oplysninger om dem, der bruger det indbyggede trådløse kort til både adgangspunktet og til at oprette forbindelse til netværket. Det er også muligt at konfigurere systemet til at køre på to separate kort. For at gøre dette skal du blot kigge efter de kommenterede "wlan1" -linjer i de medfølgende filer og erstatte dem med de nærliggende "ap0" -linjer.

Trin 2: 70-persistent-net.rules

Start med at finde MAC -adressen på din pi ved at skrive:

iw dev

Opret følgende fil:

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

og rediger det, så det indeholder følgende

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

Denne fil fortæller systemet at allokere en enhed til adgangspunktet ved opstart. Her skal MAC -adressen udskiftes med din egen pi, som du lige har fundet.

(To trådløse kort) Denne fil er ikke påkrævet ved brug af to trådløse kort.

Trin 3: Hostapd.conf

Dernæst redigerer du derefter filen hostapd.conf ved at indtaste følgende:

nano /etc/hostapd/hostapd.conf

Rediger filen, så den matcher følgende konfiguration:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #interface = ap0 grænseflade = 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_WP_WSK_wp_wp_wp_wp_wp_wp_pkWp_pk_wp_pa

Bemærk, at mens min kanal her er indstillet til 6, skal du muligvis ændre denne værdi for at matche den kanal, wlan0 er på. På nogle netværk ændres kanalen automatisk, så adgangspunktet matcher wlan0, men det var ikke min erfaring på virksomhedsnetværket. Du kan kontrollere, hvilke kanaler der i øjeblikket er i brug, og hvilke grænseflader ved at skrive

iwlist kanal

(To trådløse kort) Fjern blot kommentaren på linjen, der indeholder wlan1, og kommenter den, der indeholder ap0.

Trin 4: Dnsmasq.conf

Nu vil du redigere filen dnsmasq.conf:

nano /etc/dnsmasq.conf

Fjern en kommentar eller tilføj følgende linjer:

interface = lo, ap0

#interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domænebehovet falsk-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Du kan bruge dit eget subnet her, hvis du vil, bare vær sikker på, at du er konsekvent.

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

Trin 5: Grænseflader

Dernæst skal du ændre grænsefladefilen:

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 værd at bemærke, at wlan0 -grænsefladen SKAL komme efter den grænseflade, du videresender til den, ellers fungerer systemet ikke korrekt.

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

Trin 6: Wpa_supplicant.conf

Nu vil du ændre filen wpa_supplicant.conf, der findes på:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Nogle netværk er konfigureret anderledes end andre, så denne del kan kræve noget tinkering, her er wpa_supplicant.conf -filen, der tillod mig at oprette forbindelse til netværket på Cal Poly:

country = USctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 netværk = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP parvis = CCMP TKIP gruppe = CCMP TKIP eap = PEAP identitet = "brugernavn@ calpoly.edu "password =" dit_passord "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Denne fil bruges til at konfigurere wlan0 til at oprette forbindelse til dit virksomhedsnetværk. Nogle virksomhedsnetværk kræver et CA -certifikat for at oprette forbindelse. Cal Polys campusnetværk kræver ikke et certifikat, så jeg har sprunget denne del over, men du kan nemt downloade de rigtige certifikater og tilføje dem til din wpa_supplicant -fil med linjen

ca_cert = "/sti/til/cert.pem"

Trin 7: Hostapdstart Script

Det sidste, vi skal gøre, er at skrive et script, der starter begge grænseflader og konfigurerer videresendelse af pakker, når systemet starter. Opret en fil kaldet hostapdstart ved at skrive:

nano/usr/local/bin/hostapdstart

Tilføj følgende til filen

sudo ifdown -tvinge wlan0 && sudo ifdown -tvinge 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 genstart dnsmasq

Dette script bringer begge grænseflader ned og bringer dem derefter tilbage i den rigtige rækkefølge, fortæller pi'en, at du gerne vil videresende pakker fra en grænseflade til en anden og til sidst genstarter dnsmasq, så ændringerne får virkning.

(To trådløse kort) uncomment line med wlan1 og kommentar out linje med ap0.

Trin 8: Rc.local

Endelig vil vi have, at systemet starter, når systemet starter, så vi vil ændre filen rc.local, som køres ved opstart:

nano /etc/rc.local

Tilføj blot følgende linje til slutningen af filen:

hostapdstart> 1 &

Din fil skal se sådan ud:

_IP = $ (værtsnavn -I) || trueif ["$ _IP"]; derefter printf "Min IP -adresse er %s / n" "$ _IP" fi

hostapdstart> 1 &

afslut 0

Trin 9: Genstart

Og det er det! Hvis du nu har alt korrekt konfigureret, og din WiFi -dongle er tilsluttet (hvis du bruger en), skal du blot genstarte din Raspberry Pi med kommandoen:

genstarte

Når din Pi er genstartet, skal du kunne se navnet på dit adgangspunkt på enhver enhed (telefon, bærbar computer osv.). Når du opretter forbindelse med din angivne adgangskode, skal den forbinde dig direkte til dit ønskede Enterprise -netværk!

Særlig tak til følgende links for at give os en idé om, hvordan vi griber dette projekt an:

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

Lad os vide, hvis du har spørgsmål, kommentarer eller forslag!

IoT -udfordring
IoT -udfordring
IoT -udfordring
IoT -udfordring

Runner Up i IoT Challenge

Anbefalede: