- ส่วนประกอบที่จำเป็น:
- ขั้นตอนในการตั้งค่า Raspberry Pi เป็น Wireless Access Point:
- การเข้าถึงอินเทอร์เน็ตจาก Wi-Fi Hotspot ของ Raspberry Pi
- การทดสอบ Raspberry Pi Wireless Access Point:
สวัสดีครับวันนี้ผมจะมาแสดงวิธีเปลี่ยน Raspberry Pi ให้กลายเป็นจุดเชื่อมต่อไร้สายที่อุปกรณ์อื่น ๆ สามารถเชื่อมต่อได้โดยพื้นฐานแล้วเราจะเปลี่ยนRaspberry Pi ให้เป็น"เราเตอร์" แบบไร้สาย นอกจากนี้ฉันยังจะแสดงให้เราเห็นถึงวิธีการตั้งค่าจุดเชื่อมต่อไร้สายที่สร้างขึ้นเพื่อให้ (แบ่งปัน) การเข้าถึงอินเทอร์เน็ตไปยัง (กับ) อุปกรณ์ที่เชื่อมต่อ ดังนั้นขอเริ่มสร้างWi-Fi Hotspot กับราสเบอร์รี่ Pi
ส่วนประกอบที่จำเป็น:
จำเป็นต้องใช้ส่วนประกอบต่อไปนี้เพื่อตั้งค่า raspberry pi เป็นจุดเชื่อมต่อไร้สาย:
- Raspberry Pi 2
- การ์ด SD 8GB
- ดองเกิล USB WiFi
- สายอีเธอร์เน็ต
- แหล่งจ่ายไฟสำหรับ Pi
- จอภาพ (อุปกรณ์เสริม)
- แป้นพิมพ์ (ไม่จำเป็น)
- เมาส์ (อุปกรณ์เสริม)
ในขณะที่ Raspberry Pi 3 และ Pi zero มีให้ใช้งานอย่างแพร่หลายและสามารถใช้งานได้สำหรับบทช่วยสอนนี้ฉันจะใช้ Raspberry Pi 2 เนื่องจาก Pi3 ของฉันกำลังยุ่งอยู่กับการทำงานที่เกี่ยวข้องกับการมองเห็นด้วยคอมพิวเตอร์จำนวนมากซึ่งฉันหวังว่าจะแบ่งปันใน กวดวิชาที่นี่เร็ว ๆ นี้ อย่างไรก็ตามขั้นตอนนี้ใช้ได้กับ pi 3 และ ควร (สังเกตการเน้น) เช่นกันสำหรับ Raspberry Pi zero W. เมื่อใช้Raspberry Pi 3 หรือ Zero W ไม่จำเป็นต้องมีโมดูล Wi-Fi ภายนอกเนื่องจากบอร์ดทั้งสองนี้มี Wi-Fi อยู่แล้ว
เพื่อกำหนดเป้าหมายของบทช่วยสอนนี้ให้ซับซ้อนยิ่งขึ้นเราจะให้ Raspberry Pi ของเราสามารถทำหน้าที่เป็นจุดเชื่อมต่อไร้สายและเพื่อให้บรรลุเป้าหมายนี้เราจะต้องติดตั้งและตั้งค่าซอฟต์แวร์ที่ติดตั้งราสเบอร์รี่ pi ด้วยฟังก์ชันนี้พร้อมกับซอฟต์แวร์เซิร์ฟเวอร์ DHCPให้ที่อยู่เครือข่ายสำหรับอุปกรณ์ที่จะเชื่อมต่อกับจุดเชื่อมต่อ เพื่อให้เป็นไปตามข้อกำหนดของซอฟต์แวร์นี้เราจะใช้dnsmasqและซอฟต์แวร์hostapd
บทช่วยสอนนี้จะขึ้นอยู่กับระบบปฏิบัติการแบบยืด Raspbianดังนั้นเพื่อดำเนินการต่อตามปกติฉันจะถือว่าคุณคุ้นเคยกับการตั้งค่า Raspberry Pi ด้วยระบบปฏิบัติการแบบยืด Raspbian และคุณรู้วิธี SSH เข้ากับ raspberry pi โดยใช้ซอฟต์แวร์เทอร์มินัลเช่น ผงสำหรับอุดรู หากคุณมีปัญหาเกี่ยวกับสิ่งนี้มีบทเรียน Raspberry Pi มากมายในเว็บไซต์นี้ที่สามารถช่วยได้
ขั้นตอนในการตั้งค่า Raspberry Pi เป็น Wireless Access Point:
เมื่อทำตามขั้นตอนสำคัญต่อไปนี้เราจะสามารถตั้งค่า raspberry pi เป็นจุดเชื่อมต่อไร้สายได้ ควรสังเกตว่าดองเกิล USB ไร้สายบางตัวจะไม่ทำงานในโหมด AP แต่หลังจากลองใช้ดองเกิลนี้แล้วใช้งานได้ฉันอยากจะบอกว่าดองเกิล 5 จาก 8 ชิ้นจะใช้งานได้
ขั้นตอนที่ 1: อัปเดต Pi
ตามปกติเราอัปเดต raspberry pi เพื่อให้แน่ใจว่าเรามีทุกอย่างเป็นเวอร์ชันล่าสุด ทำได้โดยใช้;
อัปเดต sudo apt-get
ติดตามโดย;
sudo apt-get อัพเกรด
เมื่ออัปเดตเสร็จแล้วให้รีบูต pi เพื่อให้มีผลกับการเปลี่ยนแปลง
ขั้นตอนที่ 2: ติดตั้ง“ dnsmasq ” และ“ hostapd ”
ต่อไปเราจะติดตั้งซอฟต์แวร์ที่ช่วยให้สามารถตั้งค่า pi เป็นจุดเชื่อมต่อไร้สายและซอฟต์แวร์ที่ช่วยกำหนดที่อยู่เครือข่ายให้กับอุปกรณ์ที่เชื่อมต่อกับ AP เราทำได้โดยการวิ่ง
sudo apt-get ติดตั้ง dnsmasq
ติดตามโดย;
sudo apt-get install hostapd
หรือคุณสามารถรวมเข้าด้วยกันโดยการวิ่ง
sudo apt-get ติดตั้ง dnsmasq hostapd
ขั้นตอนที่ 3: หยุดซอฟต์แวร์ไม่ให้ทำงาน
เนื่องจากเราไม่ได้กำหนดค่าซอฟต์แวร์ไว้จึงไม่มีจุดใดที่ใช้งานได้ดังนั้นเราจึงปิดการใช้งานไม่ให้ทำงานในระบบใต้ดิน ในการทำเช่นนี้เราเรียกใช้คำสั่งต่อไปนี้เพื่อหยุดการทำงานของ systemd
sudo systemctl หยุด dnsmasq sudo systemctl หยุด hostapd
ขั้นตอนที่ 4: กำหนดค่าที่อยู่ IP แบบคงที่สำหรับพอร์ตไร้สาย
ตรวจสอบพอร์ต wlan ที่ใช้เชื่อมต่อกับอุปกรณ์ไร้สาย สำหรับ Pi ของฉันไร้สายอยู่บน wlan0 การตั้งค่า Raspberry Pi เพื่อทำหน้าที่เป็นเซิร์ฟเวอร์ทำให้เราต้องกำหนดที่อยู่ IP แบบคงที่ให้กับพอร์ตไร้สาย สามารถทำได้โดยแก้ไขไฟล์ config dhcpcd ในการแก้ไขไฟล์การกำหนดค่าให้รัน;
sudo nano /etc/dhcpcd.conf
เลื่อนไปที่ด้านล่างของไฟล์กำหนดค่าและเพิ่มบรรทัดต่อไปนี้
อินเทอร์เฟซ wlan0 static ip_address = 192.168.4.1 / 24
หลังจากเพิ่มบรรทัดแล้วไฟล์ config ควรมีลักษณะดังภาพด้านล่าง
หมายเหตุ: ที่อยู่ IP นี้สามารถเปลี่ยนแปลงได้เพื่อให้เหมาะกับการกำหนดค่าที่คุณต้องการ
บันทึกไฟล์และออกโดยใช้; ctrl + x ตามด้วย Y
รีสตาร์ทบริการ dhcpcd เพื่อให้มีผลกับการเปลี่ยนแปลงที่ทำกับคอนฟิกูเรชันโดยใช้;
บริการ Sudo dhcpcd เริ่มต้นใหม่
ขั้นตอนที่ 5: กำหนดค่าเซิร์ฟเวอร์ dhcpcd
มีที่อยู่ IP แบบคงที่กำหนดค่าตอนนี้สำหรับ WLAN ราสเบอร์รี่ Pi สิ่งต่อไปคือสำหรับเราที่จะกำหนดค่า dhcpcd เซิร์ฟเวอร์และให้กับช่วงที่อยู่ IP ที่จะได้รับมอบหมายให้อุปกรณ์ที่เชื่อมต่อกับจุดเชื่อมต่อไร้สาย ในการทำเช่นนี้เราต้องแก้ไขไฟล์กำหนดค่าของซอฟต์แวร์ dnsmasq แต่ไฟล์ config ของซอฟต์แวร์มีข้อมูลมากเกินไปและอาจผิดพลาดได้มากหากไม่ได้รับการแก้ไขอย่างถูกต้องดังนั้นแทนที่จะแก้ไขเราจะสร้างการกำหนดค่าใหม่ ไฟล์ที่มีข้อมูลเพียงจำนวนที่จำเป็นเพื่อให้จุดเชื่อมต่อไร้สายทำงานได้อย่างสมบูรณ์
ก่อนที่จะสร้างไฟล์กำหนดค่าใหม่เราจะเก็บไฟล์เก่าไว้อย่างปลอดภัยโดยการย้ายและเปลี่ยนชื่อไฟล์
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
จากนั้นเปิดตัวแก้ไขเพื่อสร้างไฟล์กำหนดค่าใหม่
sudo nano /etc/dnsmasq.conf
เมื่อเปิดตัวแก้ไขให้คัดลอกบรรทัดด้านล่างแล้ววางหรือพิมพ์ลงในนั้นโดยตรง
Interface = wlan0 # ระบุอินเทอร์เฟซการสื่อสารซึ่งโดยปกติจะเป็น wlan0 สำหรับ dhcp-range แบบไร้สาย = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
เนื้อหาของไฟล์ควรมีลักษณะเหมือนภาพด้านล่าง
บันทึกไฟล์และออก เนื้อหาของไฟล์กำหนดค่านี้เป็นเพียงการระบุช่วงของที่อยู่ IP ที่สามารถกำหนดให้กับอุปกรณ์ที่เชื่อมต่อกับจุดเชื่อมต่อไร้สาย
เมื่อเสร็จแล้วเราจะสามารถระบุตัวตนให้กับอุปกรณ์บนเครือข่ายของเราได้
ขั้นตอนต่อไปจะช่วยให้เรากำหนดค่าซอฟต์แวร์โฮสต์จุดเชื่อมต่อตั้งค่า ssid เลือกการเข้ารหัสเป็นต้น
ขั้นตอนที่ 6: กำหนดค่า hostapd สำหรับ SSID และรหัสผ่าน
เราจำเป็นต้องแก้ไข hostapd ไฟล์ config (รัน sudo นาโน /etc/hostapd/hostapd.conf ) เพื่อเพิ่มพารามิเตอร์ต่างๆสำหรับการเป็นเครือข่ายไร้สายติดตั้งรวมทั้ง SSID และรหัสผ่าน ควรสังเกตว่ารหัสผ่าน (ข้อความรหัสผ่าน) ควรอยู่ระหว่าง 8 ถึง 64 อักขระ สิ่งที่น้อยกว่าจะไม่ได้ผล
อินเทอร์เฟซ = ไดรเวอร์ wlan0 = nl80211 ssid = piNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 Ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = emmanuel # ใช้รหัสผ่านที่ปลอดภัยมากไม่ใช่ wpa_key_mgairwise = TKIP นี้ rsn_pairwise = CCM
เนื้อหาของไฟล์ควรมีลักษณะดังภาพด้านล่าง
อย่าลังเลที่จะเปลี่ยน ssid และรหัสผ่านให้เหมาะกับความต้องการและความต้องการของคุณ
บันทึกไฟล์กำหนดค่าและออก
หลังจากบันทึกไฟล์กำหนดค่าแล้วเราต้องชี้ซอฟต์แวร์ hostapd ไปยังตำแหน่งที่บันทึกไฟล์กำหนดค่า ในการดำเนินการนี้ให้เรียกใช้;
sudo nano / etc / default / hostapd
ค้นหาบรรทัดที่ daemon_conf แสดงความคิดเห็นดังแสดงในภาพด้านล่าง
ยกเลิกการใส่ข้อคิดเห็นบรรทัด DAEMON_CONF และเพิ่มบรรทัดด้านล่างระหว่างเครื่องหมายคำพูดหน้าเครื่องหมาย "เท่ากับ"
/etc/hostapd/hostapd.conf
ขั้นตอนที่ 7: เปิดไฟ
เนื่องจากเราปิดใช้งานซอฟต์แวร์ทั้งสองในตอนแรกเพื่อให้เรากำหนดค่าได้อย่างถูกต้องเราจำเป็นต้องรีสตาร์ทระบบหลังจากกำหนดค่าเพื่อให้มีผลกับการเปลี่ยนแปลง
ใช้;
sudo systemctl เริ่ม hostapd sudo systemctl เริ่ม dnsmasq
ขั้นตอนที่ 8: กำหนดเส้นทางและปลอมแปลงสำหรับการจราจรขาออก
เราจำเป็นต้องเพิ่มการกำหนดเส้นทางและการปลอมตัวสำหรับการรับส่งข้อมูลขาออก
ในการทำสิ่งนี้เราต้องแก้ไขไฟล์ config ของ systemctl โดยเรียกใช้:
sudo nano /etc/sysctl.conf
ยกเลิกการใส่ข้อคิดเห็น บรรทัดนี้ net.ipv4.ip_forward = 1 (ไฮไลต์ในภาพด้านล่าง)
บันทึกไฟล์กำหนดค่าและออกโดยใช้ ctrl + x ตามด้วย y
ต่อไปเราจะย้ายไปหลอกลวงการจราจรขาออก สามารถทำได้โดยทำการเปลี่ยนแปลงบางอย่างกับกฎ iptable ในการดำเนินการนี้ให้รันคำสั่งต่อไปนี้:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
จากนั้นบันทึกกฎ Iptables โดยใช้:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
ขั้นตอนที่ 9: สร้างจุดเชื่อมต่อไร้สายเมื่อเริ่มต้น:
สำหรับแอปพลิเคชันจุดเชื่อมต่อไร้สายส่วนใหญ่มักต้องการให้จุดเชื่อมต่อปรากฏขึ้นทันทีที่ระบบบูท ในการนำสิ่งนี้ไปใช้กับ raspberry pi วิธีที่ง่ายที่สุดวิธีหนึ่งคือการเพิ่มคำสั่งเพื่อเรียกใช้ซอฟต์แวร์ในไฟล์ rc.local ดังนั้นเราจึงใส่คำสั่งเพื่อติดตั้งกฎ iptable เมื่อบูตในไฟล์ rc.local
ในการแก้ไขไฟล์ rc.local ให้รัน:
sudo nano /etc/rc.local
และเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของระบบก่อนคำสั่ง exit 0
iptables-restore </etc/iptables.ipv4.nat
ขั้นตอนที่ 9: รีบูต! และการใช้งาน
ในขั้นตอนนี้เราจำเป็นต้องรีบูตระบบเพื่อให้มีผลกับการเปลี่ยนแปลงทั้งหมดและทดสอบจุดเชื่อมต่อไร้สายที่เริ่มต้นเมื่อบูตด้วยกฎ iptables ที่อัปเดต
รีบูตระบบโดยใช้:
sudo รีบูต
ทันทีที่ระบบเปิดอีกครั้งคุณควรจะสามารถเข้าถึงจุดเชื่อมต่อไร้สายโดยใช้อุปกรณ์ที่เปิดใช้งาน Wi-Fi และรหัสผ่านที่ใช้ในระหว่างการตั้งค่า
การเข้าถึงอินเทอร์เน็ตจาก Wi-Fi Hotspot ของ Raspberry Pi
โอ้ใช่ฉันจะเพิ่มบทช่วยสอนโบนัสเพื่อแสดงให้เห็นว่าจุดเชื่อมต่อไร้สายที่สร้างขึ้นสามารถใช้เพื่อเชื่อมต่ออินเทอร์เน็ตสำหรับอุปกรณ์ที่เชื่อมต่ออยู่ได้อย่างไร การเข้าถึงอินเทอร์เน็ตที่แจกจ่ายไปยังอุปกรณ์นั้นมีให้ผ่านพอร์ตอีเธอร์เน็ตบน Pi ซึ่งสามารถเชื่อมต่อกับเราเตอร์หรืออุปกรณ์ที่คล้ายกันได้
ในการดำเนินการนี้เราจำเป็นต้องใส่ "บริดจ์" ระหว่างอุปกรณ์ไร้สายและอุปกรณ์อีเธอร์เน็ตบน Raspberry Pi (จุดเชื่อมต่อไร้สาย) เพื่อส่งผ่านการรับส่งข้อมูลทั้งหมดระหว่างอินเทอร์เฟซทั้งสอง ในการตั้งค่านี้เราจะใช้ซอฟต์แวร์ Bridge-utils ติดตั้ง hostapd และสะพาน utils ในขณะที่เราติดตั้ง hostapd มาก่อนให้รันการติดตั้งอีกครั้งเพื่อเคลียร์ข้อสงสัยทั้งหมด
sudo apt-get ติดตั้ง hostapd bridge-utils
ต่อไปเราจะหยุด hostapd เพื่อกำหนดค่าซอฟต์แวร์
sudo systemctl หยุด hostapd
เมื่อสร้างสะพานขึ้นโครงสร้างระดับที่สูงขึ้นจะถูกสร้างขึ้นเหนือพอร์ตทั้งสองที่กำลังเชื่อมต่อและสะพานจึงกลายเป็นอุปกรณ์เครือข่าย เพื่อป้องกันความขัดแย้งเราจำเป็นต้องหยุดการจัดสรรที่อยู่ IP โดยไคลเอนต์ DHCP ที่ทำงานบน Raspberry Pi ไปยังพอร์ต eth0 และ wlan0 สิ่งนี้ทำได้โดยการแก้ไขไฟล์ config ของไคลเอ็นต์ dhcpcd เพื่อรวม ปฏิเสธอินเตอร์เฟส wlan0 และ deninterfaces eth0 ดังที่แสดงในภาพด้านล่าง
ไฟล์สามารถแก้ไขได้โดยเรียกใช้คำสั่ง
sudo nano /etc/dhcpcd.conf
หมายเหตุ: จากจุดนี้เป็นต้นไปตรวจสอบให้แน่ใจว่าคุณไม่ได้ถอดสายอีเทอร์เน็ตออกจากพีซีของคุณหากคุณกำลังทำงานในโหมดไร้หัวเนื่องจากคุณอาจไม่สามารถเชื่อมต่อผ่าน SSH ได้อีกเนื่องจากเราได้ปิดใช้งานพอร์ตอีเทอร์เน็ต หากทำงานกับจอภาพคุณไม่มีอะไรต้องกลัว
ต่อไปเราจะสร้างสะพานใหม่ชื่อ br0
sudo brctl addbr br0
ต่อไปเราเชื่อมต่อพอร์ตอีเธอร์เน็ต (eth0) กับบริดจ์ (br0) โดยใช้;
sudo brctl addif br0 eth0
ต่อไปเราแก้ไขไฟล์อินเทอร์เฟซโดยใช้ sudo nano / etc / network / interface เพื่อให้อุปกรณ์ต่างๆสามารถทำงานร่วมกับบริดจ์ได้ แก้ไขไฟล์อินเทอร์เฟซเพื่อรวมข้อมูลด้านล่าง
# การตั้งค่าบริดจ์อัตโนมัติ br0 iface br0 inet manual bridge_ports eth0 wlan0
สุดท้ายเราแก้ไขไฟล์ hostapd.conf เพื่อรวมการกำหนดค่าบริดจ์ สามารถทำได้โดยเรียกใช้คำสั่ง: sudo nano /etc/hostapd.conf และแก้ไขไฟล์ให้มีข้อมูลด้านล่าง โปรดสังเกตว่ามีการเพิ่มบริดจ์ด้านล่างอินเทอร์เฟซ wlan0 และบรรทัดไดรเวอร์ถูกแสดงความคิดเห็น
อินเทอร์เฟซ = wlan0 bridge = br0 # driver = nl80211 ssid = NameOfNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 Ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = AardvarkBadgerHedgewise wpa_keymg
เมื่อเสร็จแล้วให้บันทึกไฟล์กำหนดค่าและออก
เพื่อให้มีผลกับการเปลี่ยนแปลง Raspberry Pi ให้รีบูตระบบ เมื่อกลับมาถึงตอนนี้คุณควรจะสามารถเข้าถึงอินเทอร์เน็ตโดยการเชื่อมต่อกับจุดเชื่อมต่อไร้สายที่สร้างขึ้นโดยราสเบอร์รี่ Pi แน่นอนว่าจะใช้งานได้ก็ต่อเมื่อมีการเข้าถึงอินเทอร์เน็ตสำหรับ pi ผ่านพอร์ตอีเธอร์เน็ต
ในขณะที่โครงการนี้สามารถใช้เพื่อขยาย Wi-Fi รอบ ๆ บ้านหรือที่ทำงานหรือทั้งพื้นที่ แต่ก็มีแอปพลิเคชั่นมากมายที่ฉันคิดว่าน่าสนใจและมีประโยชน์เช่นราสเบอร์รี่ไพเป็นฮับระบบอัตโนมัติในบ้านดังนั้นอุปกรณ์อัตโนมัติในบ้านที่เปิดใช้งาน Wi-Fi หลายตัวสามารถทำได้ เชื่อมต่ออินเทอร์เน็ตโดยใช้จุดเชื่อมต่อไร้สายของ raspberry pi คุณมีไอเดียเจ๋ง ๆ อื่น ๆ อีกไหมที่สามารถนำไปใช้ได้อย่าลังเลที่จะแบ่งปันผ่านส่วนความคิดเห็นเพื่อสร้างแรงบันดาลใจให้ผู้อื่น
การทดสอบ Raspberry Pi Wireless Access Point:
หากต้องการทดสอบคำแนะนำเหล่านี้ให้ใช้โทรศัพท์มือถือหรืออุปกรณ์อื่น ๆ ที่สามารถเชื่อมต่อกับเครือข่ายฮอตสปอต WiFi คุณจะเห็นชื่อดังกล่าวปรากฏขึ้น จากนั้นคุณสามารถเชื่อมต่อได้โดยใช้รหัสผ่านที่น่ากลัวที่เราระบุ“ เอ็มมานูเอล” อย่าลืมใช้รหัสผ่านที่ปลอดภัยยิ่งขึ้นเมื่อใช้งาน ฉันใช้รหัสผ่านนั้นเพื่อให้ง่ายต่อการติดตาม
นอกจากนี้โปรดทราบว่าอาจใช้เวลาสักครู่เพื่อให้มองเห็นจุดเชื่อมต่อไร้สายหลังจากรีบูตเนื่องจาก Pi จำเป็นต้องบูตก่อนที่กิจกรรมเครือข่ายจะเริ่มขึ้น
สำหรับคนสอนนี้ มันยาวขอบคุณที่สละเวลาอ่าน ข้อเสนอแนะและความคิดเห็นยินดีต้อนรับเสมอ
ไว้คราวหน้า!