Raspberry Pi -> Wifi Hotspot: 10 ขั้นตอน
Raspberry Pi -> Wifi Hotspot: 10 ขั้นตอน
Anonim
การประกวด Raspberry Pi 2020
การประกวด Raspberry Pi 2020

คุณเคยไปสถานที่ที่ไม่มี 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 ใหม่ของคุณ!