Πίνακας περιεχομένων:

Raspberry Pi Enterprise Network WiFi WiFi: 9 Βήματα
Raspberry Pi Enterprise Network WiFi WiFi: 9 Βήματα

Βίντεο: Raspberry Pi Enterprise Network WiFi WiFi: 9 Βήματα

Βίντεο: Raspberry Pi Enterprise Network WiFi WiFi: 9 Βήματα
Βίντεο: Raspberry Pi 3 Tutorial - How to Set Up for Gaming & Entertainment Projects 2024, Νοέμβριος
Anonim
Γέφυρα WiFi Raspberry Pi Enterprise Network
Γέφυρα WiFi Raspberry Pi Enterprise Network

Από: Riley Barrett και Dylan Halland

Ο στόχος αυτού του έργου είναι να επιτρέψει σε μια συσκευή IoT, όπως ένα Weemo Smart Plug, Amazon Echo, Gaming Console ή οποιαδήποτε άλλη συσκευή με δυνατότητα Wi-Fi να συνδεθεί σε ένα WPA_EAP Enterprise Network χρησιμοποιώντας ένα Raspberry Pi Zero W ως πακέτο συσκευή προώθησης. Απαιτούνται επιπλέον βήματα διαμόρφωσης για συσκευές που συνδέονται σε εταιρικό δίκτυο και πολλές συσκευές δεν είναι καθόλου συμβατές. Χρησιμοποιώντας μια γέφυρα Wi-Fi, οποιαδήποτε συσκευή μπορεί εύκολα να αποκτήσει πρόσβαση στο διαδίκτυο συνδέοντας το Pi.

Το σύστημα μπορεί να εφαρμοστεί είτε σε μία ασύρματη κάρτα είτε σε δύο ξεχωριστές κάρτες, ανάλογα με τις απαιτήσεις του χρήστη. Για συστήματα που απαιτούν υψηλότερη ισχύ σήματος και ταχύτερες ταχύτητες αποστολής/λήψης, είναι καλύτερο να χρησιμοποιήσετε μια αποκλειστική ασύρματη κάρτα για τη φιλοξενία του σημείου πρόσβασης. Ωστόσο, για συστήματα όπου η ισχύς του σήματος και το εύρος ζώνης είναι λιγότερο σημαντικά ή όπου είναι επιθυμητή μια πιο οικονομική λύση, μια κάρτα μπορεί να μοιραστεί με το σημείο πρόσβασης και τη σύνδεση δικτύου.

Προμήθειες

Raspberry Pi Zero W

Πρόσβαση σε πληκτρολόγιο και οθόνη

Κάποιες γνώσεις προγραμματισμού (για σκοπούς εντοπισμού σφαλμάτων, ρύθμιση Raspberry Pi)

Εξωτερικός προσαρμογέας/dongle WiFi (προαιρετικό)

Βήμα 1: Ρύθμιση του Raspberry Pi

Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi

Ξεκινήστε συνδέοντας το Pi σας με πληκτρολόγιο και οθόνη (ενδέχεται να απαιτείται προσαρμογέας HDMI).

Στη συνέχεια, μπορείτε να ξεκινήσετε πληκτρολογώντας την εντολή:

sudo su

Αυτό θα διασφαλίσει ότι έχετε τα απαραίτητα δικαιώματα για να τροποποιήσετε αρχεία στο pi.

Τώρα θα θέλετε να εγκαταστήσετε το dnsmasq και το hostapd χρησιμοποιώντας την εντολή:

apt-get install dnsmasq hostapd

Τώρα μπορείτε να ξεκινήσετε τη ρύθμιση της γέφυρας WiFi.

ΣΗΜΕΙΩΣΗ - Το παρακάτω σεμινάριο θα περιέχει πληροφορίες για όσους χρησιμοποιούν την ενιαία ασύρματη κάρτα επί του σκάφους τόσο για το σημείο πρόσβασης όσο και για τη σύνδεση στο δίκτυο. Είναι επίσης δυνατό να διαμορφώσετε το σύστημα να λειτουργεί σε δύο ξεχωριστές κάρτες. Για να το κάνετε αυτό, απλά αναζητήστε τις σχολιασμένες γραμμές "wlan1" στα παρεχόμενα αρχεία και αντικαταστήστε τις με τις γειτονικές γραμμές "ap0".

Βήμα 2: 70-persistent-net.rules

Ξεκινήστε βρίσκοντας τη διεύθυνση MAC του pi σας πληκτρολογώντας:

iw dev

Δημιουργήστε το ακόλουθο αρχείο:

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

και επεξεργαστείτε το ώστε να περιέχει τα ακόλουθα

SUBSYSTEM == "ieee80211", ACTION == "add | change", 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 address b8: 27: eb: c0: 38: 40"

Αυτό το αρχείο λέει στο σύστημα να διαθέσει μια συσκευή για το σημείο πρόσβασης κατά την εκκίνηση. Εδώ, η διεύθυνση MAC θα πρέπει να αντικατασταθεί με αυτή του δικού σας pi, το οποίο μόλις βρήκατε.

(Δύο ασύρματες κάρτες) Αυτό το αρχείο δεν απαιτείται όταν χρησιμοποιείτε δύο ασύρματες κάρτες.

Βήμα 3: Hostapd.conf

Στη συνέχεια, θα επεξεργαστείτε το αρχείο hostapd.conf εισάγοντας τα ακόλουθα:

nano /etc/hostapd/hostapd.conf

Τροποποιήστε το αρχείο έτσι ώστε να ταιριάζει με την ακόλουθη διαμόρφωση:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #interface = ap0 interface = wlan1 πρόγραμμα οδήγησης = nl80211 ssid = testnet hw_mode = g channel = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mpg = TM

Λάβετε υπόψη ότι ενώ το κανάλι μου εδώ έχει οριστεί σε 6, ίσως χρειαστεί να αλλάξετε αυτήν την τιμή για να ταιριάζει με το κανάλι στο οποίο είναι ενεργοποιημένο το wlan0. Σε ορισμένα δίκτυα, το κανάλι θα αλλάξει αυτόματα ώστε το σημείο πρόσβασης να ταιριάζει με το wlan0, αλλά αυτή δεν ήταν η εμπειρία μου στο εταιρικό δίκτυο. Μπορείτε να ελέγξετε ποια κανάλια χρησιμοποιούνται αυτήν τη στιγμή και με ποιες διεπαφές πληκτρολογώντας

κανάλι iwlist

(Δύο ασύρματες κάρτες) Απλώς σχολιάστε τη γραμμή που περιέχει το wlan1 και σχολιάστε αυτήν που περιέχει το ap0.

Βήμα 4: Dnsmasq.conf

Τώρα θα επεξεργαστείτε το αρχείο dnsmasq.conf:

nano /etc/dnsmasq.conf

Καταργήστε το σχόλιο ή προσθέστε τις ακόλουθες γραμμές:

interface = lo, ap0

#interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domain-required ψευδές-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Μπορείτε να χρησιμοποιήσετε το δικό σας υποδίκτυο εδώ αν θέλετε, απλά να είστε βέβαιοι ότι είστε συνεπείς.

(Δύο κάρτες ασύρματου δικτύου) Αποσχολιάστε τη γραμμή που περιέχει το wlan1 και σχολιάστε αυτήν που περιέχει το ap0.

Βήμα 5: Διεπαφές

Στη συνέχεια, θα χρειαστεί να τροποποιήσετε το αρχείο διεπαφών:

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.con 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

Αξίζει να σημειωθεί ότι η διεπαφή wlan0 ΠΡΕΠΕΙ να έρθει μετά από οποιαδήποτε διεπαφή προωθείτε σε αυτήν, διαφορετικά το σύστημα δεν θα λειτουργήσει σωστά.

(Δύο ασύρματες κάρτες) Απο σχολιάστε τις γραμμές που περιέχουν wlan1 και σχολιάστε τυχόν περιεχόμενο ap0.

Βήμα 6: Wpa_supplicant.conf

Τώρα θα τροποποιήσετε το αρχείο wpa_supplicant.conf που βρίσκεται στη διεύθυνση:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Ορισμένα δίκτυα διαμορφώνονται διαφορετικά από άλλα, οπότε αυτό το μέρος μπορεί να απαιτεί κάποιο πρόβλημα, εδώ είναι το αρχείο wpa_supplicant.conf που μου επέτρεψε να συνδεθώ στο δίκτυο στο 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 = PEC calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Αυτό το αρχείο χρησιμοποιείται για τη διαμόρφωση του wlan0 για σύνδεση στο εταιρικό σας δίκτυο. Ορισμένα εταιρικά δίκτυα απαιτούν πιστοποιητικό CA για να συνδεθούν. Το δίκτυο πανεπιστημιούπολης του Cal Poly δεν απαιτεί πιστοποιητικό, επομένως έχω παραλείψει αυτό το τμήμα, αλλά μπορείτε εύκολα να κατεβάσετε τα κατάλληλα πιστοποιητικά και να τα προσθέσετε στο αρχείο wpa_supplicant με τη γραμμή

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

Βήμα 7: Hostapdstart Script

Το τελευταίο πράγμα που μένει να κάνετε είναι να γράψετε ένα σενάριο που ξεκινά και τις δύο διεπαφές και ρυθμίζει την προώθηση πακέτων κατά την εκκίνηση του συστήματος. Δημιουργήστε ένα αρχείο που ονομάζεται hostapdstart πληκτρολογώντας:

nano/usr/local/bin/hostapdstart

Προσθέστε τα παρακάτω στο αρχείο

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 επανεκκίνηση dnsmasq

Αυτό το σενάριο κατεβάζει και τις δύο διεπαφές, τις επαναφέρει στη σωστή σειρά, λέει στο pi ότι θα θέλατε να προωθήσετε πακέτα από τη μία διεπαφή στην άλλη και, τέλος, επανεκκινεί το dnsmasq έτσι ώστε οι αλλαγές να επηρεάσουν.

(Δύο ασύρματες κάρτες) γραμμή σχολιασμού με wlan1 και γραμμή σχολιασμού με ap0.

Βήμα 8: Rc.local

Τέλος, θέλουμε το σύστημα να ξεκινά όταν ξεκινά το σύστημα, οπότε θα τροποποιήσουμε το αρχείο rc.local, το οποίο εκτελείται κατά την εκκίνηση:

nano /etc/rc.local

Απλώς προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου:

hostapdstart> 1 &

Το αρχείο σας πρέπει να μοιάζει με αυτό:

_IP = $ (όνομα κεντρικού υπολογιστή -I) || trueif ["$ _IP"]; τότε printf "Η διεύθυνση IP μου είναι %s / n" "$ _IP" fi

hostapdstart> 1 &

έξοδος 0

Βήμα 9: Επανεκκίνηση

Και αυτό είναι! Τώρα, υποθέτοντας ότι έχετε ρυθμίσει τα πάντα σωστά και ότι το WiFi dongle είναι προσαρτημένο (εάν χρησιμοποιείτε ένα), απλά πρέπει να κάνετε επανεκκίνηση του Raspberry Pi με την εντολή:

επανεκκίνηση

Μόλις το Pi σας επανεκκινηθεί επιτυχώς, θα πρέπει να μπορείτε να δείτε το όνομα του Σημείου Πρόσβασης σε οποιαδήποτε συσκευή (τηλέφωνο, φορητό υπολογιστή κ.λπ.). Μόλις συνδεθείτε χρησιμοποιώντας τον καθορισμένο κωδικό πρόσβασής σας, θα πρέπει να σας συνδέσει απευθείας στο επιθυμητό Enterprise δίκτυο!

Ιδιαίτερες ευχαριστίες στους παρακάτω συνδέσμους που μας έδωσαν μια ιδέα για το πώς να προσεγγίσουμε αυτό το έργο:

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

Ενημερώστε μας εάν έχετε οποιεσδήποτε ερωτήσεις, σχόλια ή προτάσεις!

IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

Δευτέρα στο IoT Challenge

Συνιστάται: