สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การตั้งค่า Raspberry Pi
- ขั้นตอนที่ 2: 70-persistent-net.rules
- ขั้นตอนที่ 3: Hostapd.conf
- ขั้นตอนที่ 4: Dnsmasq.conf
- ขั้นตอนที่ 5: อินเทอร์เฟซ
- ขั้นตอนที่ 6: Wpa_supplicant.conf
- ขั้นตอนที่ 7: Hostapdstart Script
- ขั้นตอนที่ 8: Rc.local
- ขั้นตอนที่ 9: รีบูต
วีดีโอ: Raspberry Pi Enterprise Network WiFi Bridge: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
โดย: Riley Barrett และ Dylan Halland
เป้าหมายของโครงการนี้คืออนุญาตให้อุปกรณ์ IoT เช่น Weemo Smart Plug, Amazon Echo, Gaming Console หรืออุปกรณ์ที่เปิดใช้งาน Wi-Fi อื่นๆ เชื่อมต่อกับเครือข่ายองค์กร WPA_EAP โดยใช้ Raspberry Pi Zero W เป็นแพ็กเก็ต อุปกรณ์ส่งต่อ จำเป็นต้องมีขั้นตอนการกำหนดค่าเพิ่มเติมสำหรับอุปกรณ์ที่เชื่อมต่อกับเครือข่ายขององค์กร และอุปกรณ์จำนวนมากเข้ากันไม่ได้เลย การใช้ Wi-Fi Bridge ทำให้อุปกรณ์ใดๆ สามารถเข้าถึงอินเทอร์เน็ตได้อย่างง่ายดายโดยเชื่อมต่อกับ Pi
ระบบสามารถใช้งานได้กับการ์ดไร้สายหนึ่งใบหรือการ์ดแยกสองใบขึ้นอยู่กับความต้องการของผู้ใช้ สำหรับระบบที่ต้องการความแรงของสัญญาณที่สูงขึ้นและความเร็วในการอัพโหลด/ดาวน์โหลดที่เร็วขึ้น ควรใช้การ์ดไร้สายเฉพาะเพื่อโฮสต์จุดเชื่อมต่อ อย่างไรก็ตาม สำหรับระบบที่ความแรงของสัญญาณและแบนด์วิดท์มีความสำคัญน้อยกว่า หรือต้องการโซลูชันที่คุ้มค่ากว่า การ์ดเดียวสามารถใช้ร่วมกันโดยจุดเชื่อมต่อและการเชื่อมต่อเครือข่าย
เสบียง
Raspberry Pi Zero W
เข้าถึงแป้นพิมพ์และจอภาพ
ความรู้เกี่ยวกับการเขียนโปรแกรม (เพื่อจุดประสงค์ในการดีบัก การตั้งค่า Raspberry Pi)
อแด็ปเตอร์/ดองเกิล WiFi ภายนอก (อุปกรณ์เสริม)
ขั้นตอนที่ 1: การตั้งค่า 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=="add|change", ATTR{macaddress}=="b8:27:eb:c0:38:40", KERNEL=="phy0", / RUN+="/sbin/ อินเทอร์เฟซ iw phy phy0 เพิ่ม ap0 ประเภท _ap", / RUN+="/bin/ip link set ap0 address b8:27:eb:c0:38:40"
ไฟล์นี้บอกให้ระบบจัดสรรอุปกรณ์สำหรับจุดเชื่อมต่อเมื่อบู๊ต ที่นี่ควรแทนที่ที่อยู่ MAC ด้วยที่อยู่ของ pi ของคุณเองซึ่งคุณเพิ่งพบ
(การ์ดไร้สายสองใบ) ไฟล์นี้ไม่จำเป็นต้องใช้เมื่อใช้การ์ดไร้สายสองใบ
ขั้นตอนที่ 3: Hostapd.conf
ถัดไป คุณจะแก้ไขไฟล์ hostapd.conf โดยป้อนข้อมูลต่อไปนี้:
นาโน /etc/hostapd/hostapd.conf
แก้ไขไฟล์เพื่อให้ตรงกับการกำหนดค่าต่อไปนี้:
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0 #interface=ap0 อินเตอร์เฟส=wlan1 ไดรเวอร์=nl80211 ssid=testnet hw_mode=g ช่อง=6 wmm_enabled=0 macaddr_acl=0 auth_algs=1 wpa=2 wpa_passphrase=0123456789 wpa_key_CCmgmt=WPA=PSKMPrs
โปรดทราบว่าในขณะที่ตั้งค่าช่องของฉันเป็น 6 คุณอาจต้องเปลี่ยนค่านี้เพื่อให้ตรงกับช่องที่ wlan0 เปิดอยู่ ในบางเครือข่าย ช่องจะมีการเปลี่ยนแปลงโดยอัตโนมัติสำหรับจุดเชื่อมต่อเพื่อให้ตรงกับ wlan0 แต่นี่ไม่ใช่ประสบการณ์ของฉันในเครือข่ายองค์กร คุณสามารถตรวจสอบได้ว่าช่องใดใช้งานอยู่และอินเทอร์เฟซใดโดยพิมพ์
ช่อง iwlist
(การ์ดไร้สายสองใบ) เพียงยกเลิกการใส่เครื่องหมายในบรรทัดที่มี wlan1 และแสดงความคิดเห็นในบรรทัดที่มี ap0
ขั้นตอนที่ 4: Dnsmasq.conf
ตอนนี้คุณจะแก้ไขไฟล์ dnsmasq.conf:
นาโน /etc/dnsmasq.conf
Uncomment หรือเพิ่มบรรทัดต่อไปนี้:
interface=lo, ap0
#interface=lo, wlan1 no-dhcp-interface=lo เซิร์ฟเวอร์ bind-interfaces=8.8.8.8 โดเมนที่ต้องการ bogus-priv dhcp-range=192.168.2.100, 192.168.2.200, 12h
คุณสามารถใช้ซับเน็ตของคุณเองได้หากต้องการ เพียงแน่ใจว่าคุณมีความสอดคล้อง
(WirelessCcard สองอัน) ยกเลิกการใส่เครื่องหมายบรรทัดที่มี wlan1 และใส่ความคิดเห็นในบรรทัดที่มี ap0
ขั้นตอนที่ 5: อินเทอร์เฟซ
ถัดไป คุณจะต้องแก้ไขไฟล์อินเตอร์เฟส:
nano /etc/network/interfaces
รถยนต์
auto ap0 #auto wlan1 อัตโนมัติ wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 #allow-hotplug wlan1 iface ap0 inet คงที่ #iface wlan1 inet ที่อยู่คงที่ 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd. allow-hotplug wlan0 iface wlan0 inet dhcp ล่วงหน้า 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=PEAP identity="ชื่อผู้ใช้@ 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 เพื่อให้การเปลี่ยนแปลงมีผล
(การ์ดไร้สายสองใบ) uncomment บรรทัดด้วย wlan1 และแสดงความคิดเห็นในบรรทัดด้วย ap0
ขั้นตอนที่ 8: Rc.local
สุดท้าย เราต้องการให้ระบบเริ่มทำงานเมื่อระบบบู๊ต ดังนั้นเราจะแก้ไขไฟล์ rc.local ซึ่งทำงานเมื่อบู๊ต:
นาโน /etc/rc.local
เพียงเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์:
hostapdstart>1&
ไฟล์ของคุณควรมีลักษณะดังนี้:
_IP=$(ชื่อโฮสต์ -I) || จริงถ้า ["$_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 Challenge
แนะนำ:
NMEA/AIS Hub ราคาถูก -- RS232 ไปยัง Wifi Bridge สำหรับการใช้งานออนบอร์ด: 6 ขั้นตอน
NMEA/AIS Hub ราคาถูก -- RS232 to Wifi Bridge สำหรับการใช้งานออนบอร์ด: อัปเดต 9 มกราคม 2021 – เพิ่มการเชื่อมต่อ TCP พิเศษและนำการเชื่อมต่อล่าสุดมาใช้ใหม่ หากมีลูกค้าเชื่อมต่อมากขึ้น อัปเดต 13 ธันวาคม 2020 – ไม่มีการเพิ่มเวอร์ชันการกำหนดค่าของรหัสสำหรับเรือที่มีเราเตอร์ที่มีอยู่ บทนำนี้ NMEA / AIS RS232 สู่ WiFi bridge คือ
เพิ่ม WIZ820io / USR-ES1 - Wiznet W5500 Network Port ไปยัง Raspberry Pi ของคุณ: 10 ขั้นตอน
เพิ่ม WIZ820io / USR-ES1 - Wiznet W5500 Network Port ไปยัง Raspberry Pi ของคุณ: ส่วนหนึ่งเนื่องจากความสนใจของฉันในการทำสิ่งนี้ และส่วนหนึ่งเป็นเพราะความสนใจของฉันใน Codesys ฉันจึงมีมันอยู่ในใจมาระยะหนึ่งแล้ว ลองเชื่อมต่อพอร์ต Network Interface ที่สองกับ Raspberry Pi ดังนั้นในขณะที่ทำโปรเจกต์อื่นๆ ฉันเคย
Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน
Raspberry Pi Ethernet to Wifi Bridge: ฉันมีเครือข่ายทดสอบของ Raspberry Pies อุปกรณ์ต่างๆ คอมพิวเตอร์และอุปกรณ์เครือข่ายอื่นๆ ทั้งหมดได้รับการจัดการโดยไฟร์วอลล์/เราเตอร์ที่แพร่หลาย และฉันต้องการเชื่อมต่อกับอินเทอร์เน็ตเพื่อที่ฉันจะได้ ดึงการอัปเดต ซอฟต์แวร์ ฯลฯ น่าเสียดาย
วิธีขยายสัญญาณ NVR (IP Cam Repeater, Network Switch และ WiFi Router/Repeater): 5 ขั้นตอน
วิธีขยายสัญญาณ NVR (IP Cam Repeater, Network Switch และ WiFi Router / Repeater): ในคำแนะนำนี้เราจะแสดงวิธีขยายสัญญาณ NVR ของคุณโดยใช้: 1 ฟังก์ชั่น Repeater ในตัวในกล้อง IP หรือ2. สวิตช์เครือข่ายหรือ3. เราเตอร์ WiFi
วิธีตั้งค่า Defense Enterprise Email บน Windows 10: 10 ขั้นตอน
วิธีตั้งค่า Defense Enterprise Email บน Windows 10: การปฏิเสธความรับผิด: ไม่มีอันตรายหรืออันตรายที่อาจเกิดขึ้นในการดำเนินการตามขั้นตอนเหล่านี้! คู่มือนี้สามารถใช้กับคอมพิวเตอร์ของกระทรวงกลาโหมสำหรับบุคลากรทุกคนที่ใช้ Defense Enterprise E-mail การปฏิบัติตามคำแนะนำเหล่านี้มักจะส่งผลให้