فهرست مطالب:

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 مرحله
تصویری: Can You Reattach a Severed Finger? 🤔 2024, جولای
Anonim
پل WiFi Raspberry Pi Enterprise Network
پل WiFi Raspberry Pi Enterprise Network

نویسنده: رایلی بارت و دیلن هالند

هدف این پروژه این است که به دستگاه IoT مانند Weemo Smart Plug ، Amazon Echo ، Gaming Console یا هر دستگاه مجهز به Wi-Fi دیگر اجازه استفاده از یک Raspberry Pi Zero W به عنوان یک بسته به یک شبکه WPA_EAP Enterprise متصل شود. دستگاه حمل و نقل مراحل پیکربندی اضافی برای دستگاه های متصل به شبکه سازمانی مورد نیاز است و بسیاری از دستگاه ها اصلاً سازگار نیستند. با استفاده از پل Wi-Fi ، هر دستگاهی می تواند به راحتی با اتصال به Pi به اینترنت دسترسی پیدا کند.

بسته به نیاز کاربر ، سیستم می تواند بر روی یک کارت بی سیم یا دو کارت جداگانه پیاده سازی شود. برای سیستم هایی که به قدرت سیگنال بیشتر و سرعت بارگذاری/بارگیری سریعتر نیاز دارند ، بهتر است از یک کارت بی سیم اختصاصی برای میزبانی نقطه دسترسی استفاده کنید. با این حال ، برای سیستم هایی که قدرت سیگنال و پهنای باند اهمیت کمتری دارند یا راه حل مقرون به صرفه تری مورد نیاز است ، می توان یک کارت واحد را با نقطه دسترسی و اتصال شبکه به اشتراک گذاشت.

تدارکات

Raspberry Pi Zero W

دسترسی به صفحه کلید و مانیتور

برخی از دانش برنامه نویسی (برای اشکال زدایی ، راه اندازی رزبری پای)

آداپتور/دانگل وای فای خارجی (اختیاری)

مرحله 1: راه اندازی رزبری پای

راه اندازی رزبری پای
راه اندازی رزبری پای

با اتصال Pi خود به صفحه کلید و مانیتور شروع کنید (ممکن است به آداپتور HDMI نیاز داشته باشید).

سپس ، می توانید با تایپ کردن دستور شروع کنید:

sudo su

این امر به شما اطمینان می دهد که از امتیازات لازم برای تغییر پرونده ها در 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 pho0 interface add ap0 type _ap "، / RUN+="/link/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 driver = nl80211 ssid = testnet hw_mode = g channel = 6 wmm_enabled = 0 macaddr_acl = 0 author_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mpa = CWP_P_CWP_CWP_P_WWC = WmW = C = WmP = CW

توجه داشته باشید که در حالی که کانال من در اینجا روی 6 تنظیم شده است ، ممکن است لازم باشد این مقدار را برای مطابقت با کانالی که wlan0 در آن قرار دارد تغییر دهید. در برخی از شبکه ها ، کانال به طور خودکار تغییر می کند تا نقطه دسترسی با wlan0 مطابقت داشته باشد ، اما این تجربه من در شبکه سازمانی نبود. با تایپ می توانید بررسی کنید که کدام کانال ها در حال حاضر در حال استفاده هستند و توسط کدام واسط ها استفاده می شوند

کانال iwlist

(دو کارت بی سیم) به سادگی خط حاوی wlan1 را کامنت نکنید و خط حاوی ap0 را کامنت کنید.

مرحله 4: Dnsmasq.conf

اکنون فایل dnsmasq.conf را ویرایش می کنید:

nano /etc/dnsmasq.conf

خطوط زیر را کامنت نگذارید یا اضافه کنید:

رابط = lo، ap0

#interface = lo، wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 دامنه مورد نیاز جعلی-خصوصی dhcp-range = 192.168.2.100 ، 192.168.2.200 ، 12 ساعت

در صورت تمایل می توانید از زیر شبکه خود استفاده کنید ، فقط مطمئن شوید که سازگار هستید.

(دو کارت بی سیم) خط حاوی wlan1 را کامنت نکنید و خط حاوی ap0 را کامنت کنید.

مرحله 5: رابط ها

در مرحله بعد ، باید فایل رابط ها را تغییر دهید:

nano/etc/network/interfaces

خودکار

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 ماسک توری 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 = PE 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: راه اندازی مجدد

و بس! اکنون ، با فرض اینکه همه چیز به درستی تنظیم شده است و دانگل وای فای شما متصل شده است (اگر از آن استفاده می کنید) ، به سادگی باید 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…

اگر س questionsال ، نظر یا پیشنهادی دارید ، به ما اطلاع دهید!

چالش اینترنت اشیا
چالش اینترنت اشیا
چالش اینترنت اشیا
چالش اینترنت اشیا

نفر دوم در چالش IoT

توصیه شده: