Talaan ng mga Nilalaman:

Raspberry Pi Enterprise Network WiFi Bridge: 9 Mga Hakbang
Raspberry Pi Enterprise Network WiFi Bridge: 9 Mga Hakbang

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 Mga Hakbang

Video: Raspberry Pi Enterprise Network WiFi Bridge: 9 Mga Hakbang
Video: ✓Wireless Distribution System WDS Bridge on Flash DD WRT Router Extend Increase Range WiFi Repeater 2024, Nobyembre
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

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

Pag-set up ng Raspberry Pi
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!

IoT Hamon
IoT Hamon
IoT Hamon
IoT Hamon

Runner Up sa IoT Challenge

Inirerekumendang: