Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pag-set up ng Raspberry Pi
- Hakbang 2: 70-paulit-ulit-net.rules
- Hakbang 3: Hostapd.conf
- Hakbang 4: Dnsmasq.conf
- Hakbang 5: Mga Interface
- Hakbang 6: Wpa_supplicant.conf
- Hakbang 7: Hostapdstart Script
- Hakbang 8: Rc.local
- Hakbang 9: I-reboot
Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ni: Riley Barrett at Dylan Halland
Ang layunin ng proyektong ito ay payagan ang isang aparato ng IoT, tulad ng isang Weemo Smart Plug, Amazon Echo, Gaming Console, o anumang iba pang aparato na pinagana ng Wi-Fi upang kumonekta sa isang WPA_EAP Enterprise Network sa pamamagitan ng paggamit ng isang Raspberry Pi Zero W bilang isang packet nagpapasa ng aparato. Kinakailangan ang mga karagdagang hakbang sa pagsasaayos para sa mga aparato na kumokonekta sa isang network ng negosyo, at maraming mga aparato ay hindi tugma sa lahat. Sa pamamagitan ng paggamit ng isang Wi-Fi Bridge, ang anumang aparato ay madaling makakuha ng pag-access sa internet sa pamamagitan ng pagkonekta sa Pi.
Maaaring ipatupad ang system sa alinman sa isang wireless card o dalawang magkakahiwalay na card depende sa mga kinakailangan ng gumagamit. Para sa mga system na nangangailangan ng mas mataas na lakas ng signal at mas mabilis na pag-upload / bilis ng pag-download, pinakamahusay na gumamit ng isang nakalaang wireless card upang ma-host ang access point. Gayunpaman, para sa mga system kung saan ang lakas ng signal at bandwidth ay hindi gaanong mahalaga, o kung saan nais ang isang mas mabisang solusyon sa solusyon, ang isang solong card ay maaaring ibahagi sa access point at koneksyon sa network.
Mga gamit
Raspberry Pi Zero W
Pag-access sa isang keyboard at monitor
Ilang kaalaman sa pagprograma (para sa mga layuning pag-debug, pag-setup ng Raspberry Pi)
Panlabas na adapter / dongle ng WiFi (Opsyonal)
Hakbang 1: Pag-set up ng Raspberry Pi
Magsimula sa pamamagitan ng pagkonekta sa iyong Pi sa isang keyboard at monitor (maaaring mangailangan ng isang HDMI adapter).
Pagkatapos, maaari kang magsimula sa pamamagitan ng pag-type ng utos:
sudo su
Tiyakin nitong mayroon kang mga kinakailangang pribilehiyo upang baguhin ang mga file sa pi.
Ngayon gugustuhin mong i-install ang dnsmasq at hostapd gamit ang utos:
apt-get install dnsmasq hostapd
Maaari mo na ngayong simulang i-setup ang tulay ng WiFi.
TANDAAN - Ang sumusunod na tutorial ay maglalaman ng impormasyon para sa mga gumagamit ng solong on-board wireless card para sa parehong access point at para sa pagkonekta sa network. Posible ring i-configure ang system upang tumakbo sa dalawang magkakahiwalay na card. Upang magawa ito, hanapin lamang ang mga nagkomentong mga linya na "wlan1" sa mga ibinigay na file, at palitan ang mga ito para sa mga kalapit na linya ng "ap0".
Hakbang 2: 70-paulit-ulit-net.rules
Magsimula sa pamamagitan ng paghahanap ng MAC address ng iyong pi sa pamamagitan ng pagta-type:
iw dev
Lumikha ng sumusunod na file:
nano /etc/udev/rules.d/70-persistent-net.rules
at i-edit ito upang maglaman ito ng mga sumusunod
SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN + = "/ sbin / Idinugtong ng interface ng phy00 ang uri ng ap0 na _ap ", / RUN + =" / bin / ip naitakda ang ap0 address b8: 27: eb: c0: 38: 40"
Sinasabi ng file na ito sa system na maglaan ng isang aparato para sa access point sa boot. Dito, ang MAC address ay dapat mapalitan ng iyong sariling pi, na ngayon mo lang nahanap.
(Dalawang Mga Wireless Card) Ang file na ito ay hindi kinakailangan kapag gumagamit ng dalawang mga wireless card.
Hakbang 3: Hostapd.conf
Susunod, mai-e-edit mo ang hostapd.conf file sa pamamagitan ng pagpasok ng sumusunod:
nano /etc/hostapd/hostapd.conf
Baguhin ang file upang tumugma ito sa sumusunod na pagsasaayos:
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-PSKIP = CCP =
Tandaan na habang ang aking channel dito ay nakatakda sa 6, maaaring kailanganin mong baguhin ang halagang ito upang tumugma sa channel na nakabukas ang wlan0. Sa ilang mga network, awtomatikong mababago ang channel para sa access point upang tumugma sa wlan0, ngunit hindi ito ang aking karanasan sa network ng enterprise. Maaari mong suriin kung aling mga channel ang kasalukuyang ginagamit at kung aling mga interface sa pamamagitan ng pagta-type
channel sa iwlist
(Dalawang Mga Card na Wireless) I-komento lamang ang linya na naglalaman ng wlan1 at magkomento sa naglalaman ng ap0.
Hakbang 4: Dnsmasq.conf
Ngayon ay i-e-edit mo ang dnsmasq.conf file:
nano /etc/dnsmasq.conf
Uncomment o idagdag ang mga sumusunod na linya:
interface = lo, ap0
# interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domain-kailangan bogus-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h
Maaari mong gamitin ang iyong sariling subnet dito kung nais mo, siguraduhin lamang na ikaw ay pare-pareho.
(Dalawang WirelessCcards) I-uncomment ang linya na naglalaman ng wlan1, at i-comment ang naglalaman ng ap0.
Hakbang 5: Mga Interface
Susunod, kakailanganin mong baguhin ang file ng mga interface:
nano / etc / network / interface
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
Ito ay nagkakahalaga ng pansin na ang interface ng wlan0 DAPAT dumating pagkatapos ng anumang interface na iyong ipinapasa dito, kung hindi man ang system ay hindi gagana nang maayos.
(Dalawang Mga Card na Wireless) Hindi nag-komento ang anumang mga linya na naglalaman ng wlan1 at magkomento ng anumang naglalaman ng ap0.
Hakbang 6: Wpa_supplicant.conf
Ngayon ay babaguhin mo ang file na wpa_supplicant.conf na matatagpuan sa:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Ang ilang mga network ay nai-configure nang iba kaysa sa iba kaya ang bahaging ito ay maaaring mangailangan ng kaunting tinkering, narito ang wpa_supplicant.conf file na pinapayagan akong kumonekta sa network sa 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 = "username @ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}
Ginamit ang file na ito upang mai-configure ang wlan0 upang kumonekta sa iyong network ng negosyo. Ang ilang mga network ng enterprise ay nangangailangan ng isang CA Certificate upang makakonekta. Ang network ng campus ng Cal Poly ay hindi nangangailangan ng isang sertipiko, kaya nilaktawan ko ang bahaging ito, ngunit madali mong mai-download ang tamang mga sertipiko at idagdag ang mga ito sa iyong wpa_supplicant file na may linya
ca_cert = "/ path / to / cert.pem"
Hakbang 7: Hostapdstart Script
Ang huling natitirang gawin ay magsulat ng isang script na nagsisimula sa parehong mga interface at itinatakda ang pagpapasa ng packet kapag ang system ay bota. Lumikha ng isang file na tinatawag na hostapdstart sa pamamagitan ng pagta-type:
nano / usr / local / bin / hostapdstart
Idagdag ang sumusunod sa file
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 restart dnsmasq
Dinadala ng script na ito ang parehong mga interface, pagkatapos ay ibabalik ang mga ito sa tamang pagkakasunud-sunod, sasabihin sa pi na nais mong ipasa ang mga packet mula sa isang interface patungo sa isa pa, at sa wakas ay i-restart ang dnsmasq upang ang mga pagbabago ay makakaapekto.
(Dalawang Mga Card na Wireless) linya na hindi nag-aayos kasama ang wlan1 at magkomento sa linya na may ap0.
Hakbang 8: Rc.local
Sa wakas, nais naming magsimula ang system kapag nag-boot ang system, kaya babaguhin namin ang rc.local file, na pinapatakbo sa boot:
nano /etc/rc.local
Idagdag lamang ang sumusunod na linya sa dulo ng file:
hostapdstart> 1 at
Ang iyong file ay dapat magmukhang ganito:
_IP = $ (hostname -ako) || trueif ["$ _IP"]; pagkatapos ay i-print ang "Ang aking IP address ay% s / n" "$ _IP" fi
hostapdstart> 1 at
exit 0
Hakbang 9: I-reboot
At yun lang! Ngayon, sa pag-aakalang mayroon kang tama na pag-set up ng lahat, at ang iyong dongle ng WiFi ay nakakabit (kung gumagamit ka ng isa), kailangan mo lamang i-reboot ang iyong Raspberry Pi gamit ang utos:
i-reboot
Kapag matagumpay na na-reboot ang iyong Pi, dapat mong makita ang pangalan ng iyong Access Point sa anumang aparato (telepono, laptop, atbp.). Kapag nakakonekta ka gamit ang iyong tinukoy na password, dapat kang ikonekta ito nang direkta sa iyong nais na network ng Enterprise!
Espesyal na salamat sa mga sumusunod na link para sa pagbibigay sa amin ng isang ideya kung paano lapitan ang proyektong ito:
- 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…
Ipaalam sa amin kung mayroon kang anumang mga katanungan, komento, o mungkahi!
Runner Up sa IoT Challenge
Inirerekumendang:
Mga Maliliit na H-Bridge Driver - Mga Pangunahing Kaalaman: 6 na Hakbang (na may Mga Larawan)
Mga Maliliit na H-Bridge Driver | Mga Pangunahing Kaalaman: Kumusta at maligayang pagdating pabalik sa isa pang maituturo! Sa nakaraang isa, ipinakita ko sa iyo kung paano ako gumawa ng mga coil sa KiCad gamit ang isang script ng sawa. Pagkatapos ay nilikha ko at sinubukan ang ilang mga pagkakaiba-iba ng mga coil upang makita kung alin ang pinakamahusay na gumagana. Ang aking hangarin ay palitan ang malaking
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: Tulad ng maraming mga tao sa tingin mo Arduino ay isang napakahusay na solusyon upang gawin ang automation ng bahay at robotic! Ngunit sa term ng komunikasyon ang Arduinos ay may serial link lamang. Nagtatrabaho ako sa isang robot na kailangang permanenteng konektado sa isang server na nagpapatakbo ng ar
Kontrolin ang LED Mula sa Iyong WiFi Network! SPEEEduino V1.1: 4 Mga Hakbang (na may Mga Larawan)
Kontrolin ang LED Mula sa Iyong WiFi Network! SPEEEduino V1.1: Ano ang SPEEEduino? Ang SPEEEduino ay isang board na pinagana ng Wi-Fi na microcontroller na nakabatay sa paligid ng ecosystem ng Arduino, na binuo para sa mga nagtuturo. Pinagsasama ng SPEEEduino ang form factor at ang microcontroller ng Arduino sa ESP8266 Wi-Fi SoC, ginagawa
Kamay ba Iyon? (Raspberry Pi Camera + Neural Network) Bahagi 1/2: 16 Mga Hakbang (na may Mga Larawan)
Kamay ba Iyon? (Raspberry Pi Camera + Neural Network) Bahagi 1/2: Ilang araw na ang nakakalipas, nasugatan ko ang kanang pulso ko sa gym. Pagkatapos tuwing gagamitin ko ang aking computer mouse, nagdulot ito ng labis na sakit dahil sa matarik na anggulo ng pulso. Iyon ay kapag na-hit sa akin " hindi ito magiging mahusay kung maaari naming i-convert ang anumang ibabaw sa isang trackp
Simpleng WiFi sa BLE (Bluetooth Mababang Enerhiya) Bridge: 9 Mga Hakbang (na may Mga Larawan)
Simpleng WiFi sa BLE (Bluetooth Mababang Enerhiya) Bridge: I-update ang ika-4 ng Disyembre 2017 - binagong mga sketch ng Feather nRF52 at mga tip sa pag-debug. Nagdagdag ng mga larawan ng tulay na naka-mount sa kahon. Ang simpleng proyektong ito ay nagbibigay ng pag-access sa WiFi sa anumang module na Bluetooth Low Energy (BLE) na nagpapatupad ng UART ng Nordic sa TX Notify. Th