Innehållsförteckning:

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

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 steg

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 steg
Video: Raspberry Pi 802.11i Enterprise Security 2024, November
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

Av: Riley Barrett och Dylan Halland

Målet med detta projekt är att tillåta en IoT-enhet, till exempel en Weemo Smart Plug, Amazon Echo, Gaming Console eller någon annan Wi-Fi-aktiverad enhet att ansluta till ett WPA_EAP Enterprise Network med hjälp av en Raspberry Pi Zero W som ett paket vidarebefordringsanordning. Ytterligare konfigurationssteg krävs för enheter som ansluter till ett företagsnätverk, och många enheter är inte kompatibla alls. Genom att använda en Wi-Fi Bridge kan alla enheter enkelt få tillgång till internet genom att ansluta till Pi.

Systemet kan implementeras på antingen ett trådlöst kort eller två separata kort beroende på användarens krav. För system som kräver högre signalstyrka och snabbare uppladdnings-/nedladdningshastigheter är det bäst att använda ett dedikerat trådlöst kort för att vara värd för åtkomstpunkten. För system där signalstyrkan och bandbredden är mindre viktiga, eller där en mer kostnadseffektiv lösning önskas, kan ett enda kort delas av åtkomstpunkten och nätverksanslutningen.

Tillbehör

Raspberry Pi Zero W

Tillgång till tangentbord och bildskärm

Vissa kunskaper om programmering (för felsökning, Raspberry Pi -installation)

Extern WiFi -adapter/dongel (tillval)

Steg 1: Konfigurera Raspberry Pi

Konfigurera Raspberry Pi
Konfigurera Raspberry Pi

Börja med att ansluta din Pi till ett tangentbord och en bildskärm (kan kräva en HDMI -adapter).

Sedan kan du börja med att skriva kommandot:

sudo su

Detta säkerställer att du har de rättigheter som krävs för att ändra filer på pi: n.

Nu vill du installera dnsmasq och hostapd med kommandot:

apt-get install dnsmasq hostapd

Du kan nu börja konfigurera WiFi -bron.

OBS - Följande handledning kommer att innehålla information för dem som använder det enda inbyggda trådlösa kortet för både åtkomstpunkten och för anslutning till nätverket. Det är också möjligt att konfigurera systemet för att köra på två separata kort. För att göra detta, leta bara efter de kommenterade "wlan1" -raderna i de medföljande filerna och ersätt dem med de angränsande "ap0" -raderna.

Steg 2: 70-persistent-net.rules

Börja med att hitta MAC -adressen för din pi genom att skriva:

iw dev

Skapa följande fil:

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

och redigera det så att det innehåller följande

SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ iw phy phy0 -gränssnitt lägg till ap0 typ _ap ", / RUN+="/bin/ip -länkuppsättning ap0 -adress b8: 27: eb: c0: 38: 40"

Denna fil berättar för systemet att allokera en enhet för åtkomstpunkten vid start. Här bör MAC -adressen ersättas med den för din egen pi, som du just hittade.

(Två trådlösa kort) Den här filen krävs inte när du använder två trådlösa kort.

Steg 3: Hostapd.conf

Därefter redigerar du sedan filen hostapd.conf genom att ange följande:

nano /etc/hostapd/hostapd.conf

Ändra filen så att den matchar följande konfiguration:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #gränssnitt = ap0-gränssnitt = wlan1-drivrutin = 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_PWK_pc_wp_pair_pc_wp_pa_pk_wp_pa_pk_wp_pa

Observera att medan min kanal här är inställd på 6, kan du behöva ändra detta värde för att matcha kanalen som wlan0 är på. På vissa nätverk ändras kanalen automatiskt för att åtkomstpunkten ska matcha wlan0, men detta var inte min erfarenhet av företagsnätverket. Du kan kontrollera vilka kanaler som används för närvarande och vilka gränssnitt genom att skriva

iwlist -kanal

(Två trådlösa kort) Avmarkera bara raden som innehåller wlan1 och kommentera den som innehåller ap0.

Steg 4: Dnsmasq.conf

Nu kommer du att redigera filen dnsmasq.conf:

nano /etc/dnsmasq.conf

Avmarkera eller lägg till följande rader:

gränssnitt = lo, ap0

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

Du kan använda ditt eget undernät här om du vill, bara vara säker på att du är konsekvent.

(Två trådlösa kort) Kommentera raden som innehåller wlan1 och kommentera den som innehåller ap0.

Steg 5: Gränssnitt

Därefter måste du ändra gränssnittsfilen:

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 är värt att notera att wlan0 -gränssnittet MÅSTE komma efter vilket gränssnitt du vidarebefordrar till det, annars fungerar inte systemet korrekt.

(Två trådlösa kort) Avmarkera alla rader som innehåller wlan1 och kommentera alla som innehåller ap0.

Steg 6: Wpa_supplicant.conf

Nu kommer du att ändra filen wpa_supplicant.conf som finns på:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Vissa nätverk är konfigurerade annorlunda än andra så den här delen kan kräva lite pyssel, här är filen wpa_supplicant.conf som gjorde att jag kunde ansluta till nätverket 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 = "användarnamn@ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Den här filen används för att konfigurera wlan0 för att ansluta till ditt företagsnätverk. Vissa företagsnätverk kräver ett CA -certifikat för att ansluta. Cal Polys campusnätverk kräver inget certifikat, så jag har hoppat över den här delen, men du kan enkelt ladda ner rätt certifikat och lägga till dem i din wpa_supplicant -fil med raden

ca_cert = "/sökväg/till/cert.pem"

Steg 7: Hostapdstart -skript

Det sista som återstår att göra är att skriva ett skript som startar båda gränssnitten och ställer in paket vidarebefordran när systemet startar. Skapa en fil som heter hostapdstart genom att skriva:

nano/usr/local/bin/hostapdstart

Lägg till följande 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 starta om dnsmasq

Detta skript tar ner båda gränssnitten, tar sedan tillbaka dem i rätt ordning, berättar för pi att du vill vidarebefordra paket från ett gränssnitt till ett annat och slutligen startar om dnsmasq så att ändringarna påverkar.

(Två trådlösa kort) okommenterad rad med wlan1 och kommentar ut rad med ap0.

Steg 8: Rc.local

Slutligen vill vi att systemet ska starta när systemet startar, så vi kommer att ändra filen rc.local, som körs vid start:

nano /etc/rc.local

Lägg bara till följande rad i slutet av filen:

hostapdstart> 1 &

Din fil ska se ut ungefär så här:

_IP = $ (värdnamn -I) || trueif ["$ _IP"]; skriv sedan ut "Min IP -adress är %s / n" "$ _IP" fi

hostapdstart> 1 &

avsluta 0

Steg 9: Starta om

Och det är allt! Om du nu har allt rätt konfigurerat och din WiFi -dongel är ansluten (om du använder en) behöver du bara starta om din Raspberry Pi med kommandot:

starta om

När din Pi har startat om bör du kunna se namnet på din åtkomstpunkt på vilken enhet som helst (telefon, bärbar dator etc.). När du har anslutit med ditt angivna lösenord bör det ansluta dig direkt till ditt önskade Enterprise -nätverk!

Ett särskilt tack till följande länkar för att ge oss en uppfattning om hur vi ska närma oss detta projekt:

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

Låt oss veta om du har några frågor, kommentarer eller förslag!

IoT -utmaning
IoT -utmaning
IoT -utmaning
IoT -utmaning

Tvåa i IoT -utmaningen

Rekommenderad: