Inhoudsopgave:

Raspberry Pi Enterprise Network WiFi-brug - Ajarnpa
Raspberry Pi Enterprise Network WiFi-brug - Ajarnpa

Video: Raspberry Pi Enterprise Network WiFi-brug - Ajarnpa

Video: Raspberry Pi Enterprise Network WiFi-brug - Ajarnpa
Video: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, November
Anonim
Raspberry Pi Enterprise Network WiFi-brug
Raspberry Pi Enterprise Network WiFi-brug

Door: Riley Barrett en Dylan Halland

Het doel van dit project is om een IoT-apparaat, zoals een Weemo Smart Plug, Amazon Echo, Gaming Console of een ander Wi-Fi-apparaat, verbinding te laten maken met een WPA_EAP Enterprise Network door een Raspberry Pi Zero W als pakket te gebruiken. doorstuur apparaat. Er zijn extra configuratiestappen vereist voor apparaten die verbinding maken met een bedrijfsnetwerk, en veel apparaten zijn helemaal niet compatibel. Door een Wi-Fi Bridge te gebruiken, kan elk apparaat eenvoudig internettoegang krijgen door verbinding te maken met de Pi.

Het systeem kan worden geïmplementeerd op één draadloze kaart of op twee afzonderlijke kaarten, afhankelijk van de vereisten van de gebruiker. Voor systemen die een hogere signaalsterkte en snellere upload-/downloadsnelheden vereisen, kunt u het beste een speciale draadloze kaart gebruiken om het toegangspunt te hosten. Voor systemen waar de signaalsterkte en bandbreedte minder belangrijk zijn, of waar een meer kosteneffectieve oplossing gewenst is, kan een enkele kaart worden gedeeld door het toegangspunt en de netwerkverbinding.

Benodigdheden

Raspberry Pi Zero W

Toegang tot een toetsenbord en monitor

Enige kennis van programmeren (voor foutopsporing, Raspberry Pi setup)

Externe WiFi-adapter/dongle (optioneel)

Stap 1: De Raspberry Pi instellen

De Raspberry Pi instellen
De Raspberry Pi instellen

Begin met het aansluiten van uw Pi op een toetsenbord en monitor (mogelijk een HDMI-adapter nodig).

Vervolgens kunt u beginnen met het typen van de opdracht:

sudo su

Dit zorgt ervoor dat u over de nodige privileges beschikt om bestanden op de pi te wijzigen.

Nu wil je dnsmasq en hostapd installeren met de opdracht:

apt-get install dnsmasq hostapd

U kunt nu beginnen met het instellen van de WiFi-bridge.

OPMERKING - De volgende zelfstudie bevat informatie voor degenen die de enkele ingebouwde draadloze kaart gebruiken voor zowel het toegangspunt als om verbinding te maken met het netwerk. Het is ook mogelijk om het systeem te configureren om op twee aparte kaarten te werken. Om dit te doen, zoekt u gewoon naar de "wlan1"-regels met commentaar in de aangeleverde bestanden en vervangt u deze door de aangrenzende "ap0"-regels.

Stap 2: 70-persistent-net.rules

Begin met het vinden van het MAC-adres van je pi door te typen:

iw dev

Maak het volgende bestand aan:

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

en bewerk het zodat het het volgende bevat:

SUBSYSTEM=="ieee80211", ACTION=="toevoegen|wijzigen", 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 adres b8:27:eb:c0:38:40"

Dit bestand vertelt het systeem om bij het opstarten een apparaat toe te wijzen aan het toegangspunt. Hier moet het MAC-adres worden vervangen door dat van je eigen pi, die je zojuist hebt gevonden.

(Twee draadloze kaarten) Dit bestand is niet vereist bij gebruik van twee draadloze kaarten.

Stap 3: Hostapd.conf

Vervolgens bewerk je het bestand hostapd.conf door het volgende in te voeren:

nano /etc/hostapd/hostapd.conf

Wijzig het bestand zodat het overeenkomt met de volgende configuratie:

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-PST wpaKMP_pairwisers

Merk op dat hoewel mijn kanaal hier is ingesteld op 6, je deze waarde mogelijk moet wijzigen om overeen te komen met het kanaal waarop wlan0 is ingeschakeld. Op sommige netwerken wordt het kanaal automatisch gewijzigd zodat het toegangspunt overeenkomt met wlan0, maar dit was niet mijn ervaring op het bedrijfsnetwerk. U kunt controleren welke kanalen momenteel in gebruik zijn en door welke interfaces door te typen

iwlist kanaal

(Twee draadloze kaarten) Verwijder het commentaar op de regel met wlan1 en verwijder de regel met ap0.

Stap 4: Dnsmasq.conf

Nu ga je het bestand dnsmasq.conf bewerken:

nano /etc/dnsmasq.conf

Verwijder commentaar of voeg de volgende regels toe:

interface=lo, ap0

#interface=lo, wlan1 no-dhcp-interface=lo bind-interfaces server=8.8.8.8 domein nodig nep-priv dhcp-range=192.168.2.100, 192.168.2.200, 12h

Je kunt hier je eigen subnet gebruiken als je wilt, zorg er wel voor dat je consistent bent.

(Twee WirelessCcards) Verwijder commentaar op de regel die wlan1 bevat, en commentaar op de regel die ap0 bevat.

Stap 5: Interfaces

Vervolgens moet u het interfaces-bestand wijzigen:

nano /etc/netwerk/interfaces

automatisch uitschakelen

auto ap0 #auto wlan1 auto wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 #allow-hotplug wlan1 iface ap0 inet statisch #iface wlan1 inet statisch adres 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd 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

Het is vermeldenswaard dat de wlan0-interface MOET komen na de interface die u ernaar doorstuurt, anders zal het systeem niet goed werken.

(Twee draadloze kaarten) Verwijder commentaar bij regels die wlan1 bevatten en verwijder commentaar bij regels die ap0 bevatten.

Stap 6: Wpa_supplicant.conf

Nu gaat u het bestand wpa_supplicant.conf wijzigen dat u kunt vinden op:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Sommige netwerken zijn anders geconfigureerd dan andere, dus dit onderdeel vereist misschien wat knutselen, hier is het bestand wpa_supplicant.conf waarmee ik verbinding kon maken met het netwerk bij 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="gebruikersnaam@ calpoly.edu" password="your_password" phase1="peapver=0" phase2="MCHAPV2" }

Dit bestand wordt gebruikt om wlan0 te configureren om verbinding te maken met uw bedrijfsnetwerk. Sommige bedrijfsnetwerken hebben een CA-certificaat nodig om verbinding te maken. Het campusnetwerk van Cal Poly vereist geen certificaat, dus ik heb dit gedeelte overgeslagen, maar je kunt eenvoudig de juiste certificaten downloaden en ze toevoegen aan je wpa_supplicant-bestand met de regel

ca_cert="/pad/naar/cert.pem"

Stap 7: Hostapdstart-script

Het laatste dat u nog moet doen, is een script schrijven dat beide interfaces start en het doorsturen van pakketten instelt wanneer het systeem opstart. Maak een bestand met de naam hostapdstart door te typen:

nano /usr/local/bin/hostapdstart

Voeg het volgende toe aan het bestand:

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 herstart dnsmasq

Dit script haalt beide interfaces naar beneden, brengt ze vervolgens terug in de juiste volgorde, vertelt de pi dat je pakketten van de ene interface naar de andere wilt doorsturen en start tenslotte dnsmasq opnieuw zodat de wijzigingen van kracht worden.

(Twee draadloze kaarten) verwijder de commentaarregel met wlan1 en becommentarieer de regel met ap0.

Stap 8: RC.local

Ten slotte willen we dat het systeem start wanneer het systeem opstart, dus we zullen het bestand rc.local wijzigen, dat bij het opstarten wordt uitgevoerd:

nano /etc/rc.local

Voeg eenvoudig de volgende regel toe aan het einde van het bestand:

hostapdstart>1&

Je bestand zou er ongeveer zo uit moeten zien:

_IP=$(hostnaam -I) || trueif ["$_IP"]; dan printf "Mijn IP-adres is %s\n" "$_IP" fi

hostapdstart>1&

uitgang 0

Stap 9: Opnieuw opstarten

En dat is het! Nu, ervan uitgaande dat alles correct is ingesteld en uw WiFi-dongle is aangesloten (als u er een gebruikt), hoeft u alleen maar uw Raspberry Pi opnieuw op te starten met de opdracht:

opnieuw opstarten

Zodra uw Pi opnieuw is opgestart, zou u de naam van uw toegangspunt op elk apparaat (telefoon, laptop, enz.) moeten kunnen zien. Zodra u verbinding maakt met uw opgegeven wachtwoord, zou het u rechtstreeks moeten verbinden met uw gewenste Enterprise-netwerk!

Met speciale dank aan de volgende links om ons een idee te geven van hoe we dit project kunnen aanpakken:

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

Laat het ons weten als je vragen, opmerkingen of suggesties hebt!

IoT-uitdaging
IoT-uitdaging
IoT-uitdaging
IoT-uitdaging

Tweede plaats in de IoT-uitdaging

Aanbevolen: