สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ติดตั้งและอัปเดต Raspbian
- ขั้นตอนที่ 2: ติดตั้ง Hostapd และ Dnsmasq
- ขั้นตอนที่ 3: กำหนดค่า IP แบบคงที่สำหรับอินเทอร์เฟซ Wlan0
- ขั้นตอนที่ 4: กำหนดค่าเซิร์ฟเวอร์ DHCP (dnsmasq)
- ขั้นตอนที่ 5:
- ขั้นตอนที่ 6: ตั้งค่าการส่งต่อการรับส่งข้อมูล
- ขั้นตอนที่ 7: การเพิ่มกฎ Iptables ใหม่
- ขั้นตอนที่ 8: เปิดใช้งานการเชื่อมต่ออินเทอร์เน็ต
- ขั้นตอนที่ 9: รีบูต
- ขั้นตอนที่ 10: เสร็จสิ้น
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คุณเคยไปสถานที่ที่ไม่มี wifi และเพื่อนของคุณไม่ยอมให้ hotspot หรือไม่? ฉันมี และในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นทีละขั้นตอนเกี่ยวกับวิธีเปลี่ยน Raspberry Pi ของคุณให้เป็นฮอตสปอต wifi ยิ่งไปกว่านั้น โครงการนี้จะทำให้คุณเสียค่าใช้จ่ายน้อยกว่า 100 USD!
เสบียง
บอม:
Raspberry Pi 3 (ในทางเทคนิคทุกรุ่นจะใช้งานได้ แต่ฉันพบว่ารุ่นนี้มีความสอดคล้องมากกว่า):
Wifi Stick (เป็นทางเลือกเนื่องจาก raspberry pi มี wifi ในตัวอยู่แล้ว แต่สัญญาณจะดีกว่าเมื่อใช้ wifi stick): https://www.amazon.com/Adapter-1200Mbps-TECHKEY-Wireless-Network-300Mbps/dp /B07J65G9DD/ref=sr_1_3?keywords=wifi+stick&qid=1583146106&sr=8-3
คุณจะต้องใช้เมาส์คีย์บอร์ด หน้าจอ/จอภาพ และแหล่งพลังงานที่ฉันได้รับจากพาวเวอร์แบงค์ (สมมติว่าคุณมีอยู่แล้ว)
ขั้นตอนที่ 1: ติดตั้งและอัปเดต Raspbian
อัปเดต Raspbian โดยพิมพ์คำสั่งเหล่านี้:
sudo apt-get updatessudo apt-get upgrade
หากคุณได้รับการอัปเกรด ขอแนะนำให้รีบูตด้วย sudo reboot
ขั้นตอนที่ 2: ติดตั้ง Hostapd และ Dnsmasq
นี่คือสองโปรแกรมที่เราจะใช้เพื่อทำให้ Raspberry Pi ของคุณเป็นจุดเชื่อมต่อไร้สาย ในการรับ เพียงแค่พิมพ์บรรทัดเหล่านี้ลงในเทอร์มินัล:
sudo apt-get ติดตั้ง hostapd
sudo apt-get ติดตั้ง dnsmasq
ทั้งสองครั้ง คุณจะต้องกด y เพื่อดำเนินการต่อ hostapd เป็นแพ็คเกจที่ช่วยให้เราสร้างฮอตสปอตไร้สายโดยใช้ Raspberry Pi และ dnsmasq เป็นเซิร์ฟเวอร์ DHCP และ DNS ที่ใช้งานง่าย เราจะแก้ไขไฟล์การกำหนดค่าของโปรแกรมในอีกสักครู่ ให้ปิดโปรแกรมก่อนที่เราจะเริ่มต้นการซ่อมแซม:
sudo systemctl หยุด hostapd
sudo systemctl หยุด dnsmasq
ขั้นตอนที่ 3: กำหนดค่า IP แบบคงที่สำหรับอินเทอร์เฟซ Wlan0
สำหรับจุดประสงค์ของเราที่นี่ ฉันคิดว่าเรากำลังใช้ที่อยู่ IP ของเครือข่ายในบ้านมาตรฐาน เช่น 192.168.###.### จากสมมติฐานนั้น มากำหนดที่อยู่ IP 192.168.0.10 ให้กับ wlan0
อินเทอร์เฟซโดยแก้ไขไฟล์การกำหนดค่า dhcpcd เริ่มแก้ไขด้วยคำสั่งนี้:
sudo nano /etc/dhcpcd.conf
เมื่อคุณอยู่ในไฟล์แล้ว ให้เพิ่มบรรทัดต่อไปนี้ในตอนท้าย:
อินเทอร์เฟซ wlan0
ip_address แบบคงที่=192.168.0.10/24
ปฏิเสธอินเทอร์เฟซ eth0
ปฏิเสธอินเทอร์เฟซ wlan0
(จำเป็นต้องใช้สองบรรทัดสุดท้ายเพื่อให้บริดจ์ของเราทำงานได้ – แต่เพิ่มเติมในขั้นตอนที่ 8) หลังจากนั้น กด Ctrl+X จากนั้นกด Y จากนั้น Enter เพื่อบันทึกไฟล์และออกจากโปรแกรมแก้ไข
ขั้นตอนที่ 4: กำหนดค่าเซิร์ฟเวอร์ DHCP (dnsmasq)
เราจะใช้ dnsmasq เป็นเซิร์ฟเวอร์ DHCP ของเรา แนวคิดของเซิร์ฟเวอร์ DHCP คือ
กระจายพารามิเตอร์การกำหนดค่าเครือข่ายแบบไดนามิก เช่น ที่อยู่ IP สำหรับอินเทอร์เฟซและบริการ ไฟล์การกำหนดค่าเริ่มต้นของ dnsmasq มีข้อมูลที่ไม่จำเป็นจำนวนมาก ดังนั้นเราจึงเริ่มต้นจากศูนย์ได้ง่ายขึ้น มาเปลี่ยนชื่อไฟล์การกำหนดค่าเริ่มต้นและเขียนไฟล์ใหม่:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
คุณกำลังแก้ไขไฟล์ใหม่ และเมื่อเปลี่ยนชื่อไฟล์แล้ว นี่คือไฟล์ปรับแต่งที่ dnsmasq จะใช้ พิมพ์บรรทัดเหล่านี้ลงในไฟล์กำหนดค่าใหม่ของคุณ:
อินเทอร์เฟซ=wlan0
dhcp-range=192.168.0.11, 192.168.0.30, 255.255.255.0, 24 ชม
บรรทัดที่เราเพิ่มหมายความว่าเราจะให้ที่อยู่ IP ระหว่าง 192.168.0.11 ถึง 192.168.0.30 สำหรับอินเทอร์เฟซ wlan0
ขั้นตอนที่ 5:
ไฟล์ปรับแต่งอื่น! คราวนี้เรากำลังยุ่งกับไฟล์กำหนดค่า hostapd เปิด 'er ขึ้น:
sudo nano /etc/hostapd/hostapd.conf
สิ่งนี้ควรสร้างไฟล์ใหม่ พิมพ์สิ่งนี้:
อินเทอร์เฟซ=wlan0
สะพาน=br0
hw_mode=g
ช่อง=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ละเว้น_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=เครือข่าย
wpa_passphrase=รหัสผ่าน
โปรดทราบว่าเมื่อมี "เครือข่าย" และ "รหัสผ่าน" คุณควรสร้างชื่อของคุณเอง นี่คือวิธีที่คุณจะเข้าร่วมเครือข่ายของ Pi จากอุปกรณ์อื่น เรายังต้องแสดงตำแหน่งของไฟล์การกำหนดค่าให้ระบบแสดง:
sudo nano /etc/default/hostapd
ในไฟล์นี้ ให้ติดตามบรรทัดที่ระบุว่า #DAEMON_CONF=” – ลบ # และใส่พาธไปยังไฟล์ปรับแต่งของเราในเครื่องหมายคำพูด เพื่อให้มีลักษณะดังนี้: DAEMON_CONF="/etc/hostapd/hostapd.conf" # ป้องกันไม่ให้อ่านบรรทัดเป็นโค้ด ดังนั้นโดยพื้นฐานแล้วคุณจะทำให้บรรทัดนี้มีชีวิตที่นี่ในขณะที่ให้เส้นทางที่ถูกต้องไปยังไฟล์ปรับแต่งของเรา
ขั้นตอนที่ 6: ตั้งค่าการส่งต่อการรับส่งข้อมูล
แนวคิดในที่นี้คือเมื่อคุณเชื่อมต่อกับ Pi ระบบจะส่งต่อการรับส่งข้อมูลผ่านสายอีเทอร์เน็ตของคุณ ดังนั้นเราจะส่งต่อ wlan0 ผ่านสายเคเบิลอีเทอร์เน็ตไปยังโมเด็มของคุณ สิ่งนี้เกี่ยวข้องกับการแก้ไขไฟล์ปรับแต่งอื่น:
sudo nano /etc/sysctl.conf
ตอนนี้หาบรรทัดนี้: #net.ipv4.ip_forward=1…และลบ “#” – ออกจากส่วนที่เหลือ ดังนั้นมันจึงอ่านว่า:
net.ipv4.ip_forward=1
ขั้นตอนที่ 7: การเพิ่มกฎ Iptables ใหม่
ต่อไป เราจะเพิ่ม IP masquerading สำหรับการรับส่งข้อมูลขาออกบน eth0 โดยใช้ iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
…และบันทึกกฎ iptables ใหม่:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
ในการโหลดกฎในการบู๊ต เราต้องแก้ไขไฟล์ /etc/rc.local และเพิ่มบรรทัดต่อไปนี้เหนือบรรทัด exit 0:
iptables-restore < /etc/iptables.ipv4.nat
ขั้นตอนที่ 8: เปิดใช้งานการเชื่อมต่ออินเทอร์เน็ต
ตอนนี้ Raspberry Pi ทำหน้าที่เป็นจุดเชื่อมต่อที่อุปกรณ์อื่นสามารถเชื่อมต่อได้ อย่างไรก็ตาม อุปกรณ์เหล่านั้นยังไม่สามารถใช้ Pi เพื่อเข้าถึงอินเทอร์เน็ตได้ เพื่อให้เป็นไปได้ เราจำเป็นต้องสร้างสะพานที่จะส่งผ่านการรับส่งข้อมูลทั้งหมดระหว่างอินเทอร์เฟซ wlan0 และ eth0
ในการสร้างสะพาน ให้ติดตั้งอีกหนึ่งแพ็คเกจ:
sudo apt-get ติดตั้ง bridge-utils
เราพร้อมที่จะเพิ่มสะพานใหม่ (เรียกว่า br0):
sudo brctl addbr br0
ต่อไป เราจะเชื่อมต่ออินเทอร์เฟซ eth0 กับบริดจ์ของเรา:
sudo brctl addif br0 eth0
สุดท้าย มาแก้ไขไฟล์อินเตอร์เฟสกัน:
sudo nano /etc/network/interfaces
…และเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์:
รถยนต์ br0
คู่มือ iface br0 inet
bridge_ports eth0 wlan0
ขั้นตอนที่ 9: รีบูต
เมื่อพร้อมแล้ว ให้เริ่มต้นใหม่ด้วย sudo reboot
ตอนนี้ Pi ของคุณควรทำงานเป็นจุดเชื่อมต่อไร้สาย ลองใช้โดยไปที่อุปกรณ์อื่นแล้วค้นหาชื่อเครือข่ายที่คุณใช้ในขั้นตอนที่ 5
ขั้นตอนที่ 10: เสร็จสิ้น
ใช่ ตอนนี้คุณสามารถอวดเพื่อนของคุณเกี่ยวกับเซิร์ฟเวอร์ wifi hotspot ใหม่ของคุณ!