תוכן עניינים:

Raspberry Pi Enterprise Network WiFi Bridge: 9 שלבים
Raspberry Pi Enterprise Network WiFi Bridge: 9 שלבים

וִידֵאוֹ: Raspberry Pi Enterprise Network WiFi Bridge: 9 שלבים

וִידֵאוֹ: Raspberry Pi Enterprise Network WiFi Bridge: 9 שלבים
וִידֵאוֹ: Обновление прошивки на Zigbee стиках EFR32MG21 - ZB-GW04, Sonoff ZBDongle-E 2024, נוֹבֶמבֶּר
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

מאת: ריילי בארט ודילן האלנד

מטרתו של פרויקט זה היא לאפשר למכשיר IoT, כגון תקע Weemo חכם, אמזון אקו, קונסולת משחקים, או כל מכשיר אחר המאפשר Wi-Fi להתחבר לרשת WPA_EAP ארגונית באמצעות פטל פייס אפס W כחבילה מכשיר העברה. נדרשים שלבי תצורה נוספים להתקנים המתחברים לרשת ארגונית, והתקנים רבים אינם תואמים כלל. באמצעות גשר Wi-Fi, כל מכשיר יכול להשיג גישה לאינטרנט בקלות על ידי חיבור ל- Pi.

ניתן ליישם את המערכת על כרטיס אלחוטי אחד או על שני כרטיסים נפרדים בהתאם לדרישות המשתמש. עבור מערכות הדורשות עוצמת אות גבוהה יותר ומהירות העלאה/הורדה מהירות יותר, עדיף להשתמש בכרטיס אלחוטי ייעודי לאירוח נקודת הגישה. עם זאת, עבור מערכות שבהן עוצמת האות ורוחב הפס פחות חשובות, או שבהן רצוי פתרון חסכוני יותר, ניתן לשתף כרטיס יחיד על ידי נקודת הגישה וחיבור הרשת.

אספקה

Raspberry Pi Zero W

גישה למקלדת ולצג

קצת ידע בתכנות (למטרות ניפוי באגים, הגדרת פטל פטל)

מתאם/דונגל WiFi חיצוני (אופציונלי)

שלב 1: הגדרת ה- Raspberry Pi

הגדרת ה- Raspberry Pi
הגדרת ה- Raspberry Pi

התחל על ידי חיבור ה- Pi שלך למקלדת ולצג (ייתכן שיהיה צורך במתאם HDMI).

לאחר מכן, תוכל להתחיל בהקלדת הפקודה:

סודו סו

זה יבטיח שיש לך את ההרשאות הדרושות לשינוי קבצים ב- pi.

כעת תרצה להתקין dnsmasq ו- hostapd באמצעות הפקודה:

apt-get להתקין 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 == "הוסף | שינוי", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ ממשק iw phy phy0 הוסף סוג ap0 סוג _ap ", / RUN+="/bin/ip link set כתובת ap0 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 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-PSK_WP_PWK_PWK_pa_pkWspa

שים לב שבעוד שהערוץ שלי כאן מוגדר ל -6, ייתכן שיהיה עליך לשנות ערך זה כך שיתאים לערוץ בו wlan0 נמצא. בחלק מהרשתות הערוץ ישתנה אוטומטית כך שנקודת הגישה תתאים ל- wlan0, אך זו לא הייתה החוויה שלי ברשת הארגונית. אתה יכול לבדוק אילו ערוצים נמצאים כרגע בשימוש ועל פי אילו ממשקים על ידי הקלדה

ערוץ iwlist

(שני כרטיסים אלחוטיים) כל שעליך לעשות הוא לבטל את התגובה של השורה המכילה wlan1 ולהעיר את זה המכיל ap0.

שלב 4: Dnsmasq.conf

כעת תערוך את הקובץ dnsmasq.conf:

nano /etc/dnsmasq.conf

בטל תגובה או הוסף את השורות הבאות:

ממשק = הנה, ap0

#interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 תחום דרוש מזויף- priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

אתה יכול להשתמש ברשת המשנה שלך כאן אם תרצה, רק וודא שאתה עקבי.

(שני כרטיסי WirelessC) הסירו תגובה על השורה המכילה wlan1, והעירו את המכיל ap0.

שלב 5: ממשקים

לאחר מכן, יהיה עליך לשנות את קובץ הממשקים:

ממשקים nano/etc/network/

אוטומטי לא

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 כתובת סטטית 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

ראוי לציין כי ממשק 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 רשת = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP pairwise = CCMP TKIP group = CCMP TKIP eap = PEAP זהות = "שם משתמש@ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

קובץ זה משמש להגדרת wlan0 להתחבר לרשת הארגונית שלך. חלק מהרשתות הארגוניות דורשות תעודת CA כדי להתחבר. רשת הקמפוסים של Cal Poly אינה דורשת תעודה, ולכן דילגתי על חלק זה, אך ניתן להוריד בקלות את האישורים המתאימים ולהוסיף אותם לקובץ wpa_supplicant שלך עם השורה

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

שלב 7: סקריפט Hostapdstart

הדבר האחרון שנותר לעשות הוא לכתוב סקריפט שמתחיל את שני הממשקים ומגדיר את העברת החבילות כשהמערכת מתחילה. צור קובץ בשם 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 = $ (שם מארח -אני) || trueif ["$ _IP"]; ואז printf "כתובת ה- IP שלי היא %s / n" "$ _IP" fi

hostapdstart> 1 &

יציאה 0

שלב 9: אתחל מחדש

וזה הכל! כעת, בהנחה שהכל מותקן כהלכה והדונגל ה- WiFi שלך מחובר (אם אתה משתמש באחד), עליך פשוט לאתחל את ה- Raspberry Pi שלך באמצעות הפקודה:

לְאַתחֵל

לאחר שה- Pi שלך יאתחל בהצלחה, אתה אמור להיות מסוגל לראות את שם נקודת הגישה שלך בכל מכשיר (טלפון, מחשב נייד וכו '). לאחר שתתחבר באמצעות הסיסמה שציינת, היא אמורה לחבר אותך ישירות לרשת הארגונים הרצויה לך!

תודה מיוחדת לקישורים הבאים שסיפקו לנו מושג כיצד לגשת לפרויקט זה:

  • 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
אתגר IoT
אתגר IoT
אתגר IoT

מקום שני באתגר IoT

מוּמלָץ: