Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

คุณกำลังมองหาการสร้าง access point หลายจุดทั่วบ้านโดยไม่มีปัญหา latency และการเชื่อมต่อที่มักเกิดกับ Wi-Fi extender? บทความนี้จะสอนวิธีทำให้ Raspberry Pi กลายเป็น wireless access point

เมื่อ wireless access point พร้อมทำงาน ทุกคนที่มีรหัสผ่านจะเชื่อมต่อกับ Raspberry Pi ได้เหมือน "mini router" เหมาะสำหรับทุกคนตั้งแต่เจ้าของคาเฟ่ที่ต้องการให้ลูกค้าใช้ Wi-Fi ฟรี จนถึงนายจ้างที่ต้องการสร้างเครือข่ายส่วนตัวสำหรับพนักงาน หรือคนที่ชอบมีหลายเครือข่าย Wi-Fi ที่บ้าน!

สิ่งที่คุณต้องการ

เพื่อทำตามบทช่วยสอนนี้ คุณต้องการ:

  • Raspberry Pi 3/4 ที่รัน Raspbian หากยังไม่มี Raspbian ดาวน์โหลดเวอร์ชันล่าสุดและฟลัชด้วย Etcher
  • สายไฟที่เข้ากับ Raspberry Pi ของคุณ
  • คีย์บอร์ดภายนอกและวิธีต่อกับ Raspberry Pi
  • สาย HDMI หรือ micro HDMI ขึ้นอยู่กับรุ่น Raspberry Pi
  • จอภาพภายนอก
  • สาย Ethernet เนื่องจากคุณทำให้ Raspberry Pi กลายเป็น wireless access point ต้องเชื่อมต่อผ่าน Ethernet ไม่ใช่ Wi-Fi หมายความว่าจะไม่ทำงานกับ Raspberry Pi 2 หรือ Raspberry Pi Zero เนื่องจากขาดพอร์ต Ethernet หรือการ์ดไร้สาย

เมื่อประกอบเครื่องมือครบแล้ว มาสร้าง Wi-Fi hotspot ของคุณเอง

เริ่มต้น: ตั้งค่า Raspberry Pi

เริ่มต้นด้วยการต่ออุปกรณ์ต่อพ่วงทั้งหมดกับ Raspberry Pi รวมถึงสาย Ethernet

วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

เมื่อ Raspberry Pi บูทเสร็จ ควรตรวจสอบว่ารัน Raspbian ล่าสุดอยู่ เปิด Terminal โดยคลิกไอคอน "Terminal" บนแถบเครื่องมือ พิมพ์คำสั่ง:

sudo apt-get update

กด Enter และรอคำสั่งทำงานเสร็จ

พิมพ์คำสั่งถัดไปและกด Enter อีกครั้ง:

sudo apt-get upgrade

หลังอัปเกรด ควรรีบูท Raspberry Pi เพื่อให้การเปลี่ยนแปลงระบบมีผล ใช้คำสั่ง:

reboot

ติดตั้ง hostapd, dnsmasq และปลั๊กอินไฟร์วอลล์

ติดตั้ง hostapd (host access point daemon) ซอฟต์แวร์ที่เปลี่ยน network interface cards เป็น access points

ติดตั้ง hostapd บน Raspberry Pi เปิด Terminal และรัน:

sudo apt install hostapd
วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

เปิดใช้งาน wireless access point และตั้งให้เริ่มอัตโนมัติตอนบูท:

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

ต่อไป ติดตั้ง dnsmasq ซึ่งให้ DNS caching และ DHCP server สำหรับเครือข่ายเล็ก

ติดตั้งแพ็กเกจนี้ รันใน Terminal:

sudo apt install dnsmasq

สุดท้าย ติดตั้ง netfilter-persistent และปลั๊กอิน iptables-persistent ซึ่งจะรับผิดชอบบันทึกและโหลดกฎไฟร์วอลล์บน Raspberry Pi:

sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent

กำหนดที่อยู่ IP แบบคงที่ (Static IP)

DHCP server ต้องการ static IP ในส่วนนี้จะกำหนด static IP ให้ Raspberry Pi

เริ่มต้น รันคำสั่งใน Terminal:

sudo nano /etc/dhcpcd.conf

Raspbian จะเปิดไฟล์ config ของ dhcpcd เลื่อนลงด้านล่างและเพิ่มบรรทัดเหล่านี้:

interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant

บันทึกการเปลี่ยนแปลงกด Ctrl + O ตามด้วย Ctrl + X

เปิดใช้งาน Routing

Raspberry Pi access point ตอนนี้รันเครือข่ายไร้สายแบบสแตนด์อโลน (standalone) แต่หากต้องการให้ไคลเอนต์เข้าถึงคอมพิวเตอร์บนเครือข่าย Ethernet ต้องเปิด routing

สร้างไฟล์ "routed-ap.conf" ด้วยคำสั่ง:

sudo nano /etc/sysctl.d/routed-ap.conf

สร้างไฟล์และเปิดแก้ไขใน Nano text editor พิมพ์ใน text editor:

net.ipv4.ip_forward=1

บันทึกการเปลี่ยนแปลงกด Ctrl + O ตามด้วย Ctrl + X

เพิ่มกฎไฟร์วอลล์ใหม่ให้ Raspberry Pi โดยรัน:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

สุดท้าย ใช้ netfilter-persistent ให้กฎใหม่โหลดตอนบูท:

sudo netfilter-persistent save

กำหนดค่าบริการ DHCP และ DNS

แพ็กเกจ dnsmasq มีไฟล์ config เริ่มต้น แต่เราไม่ต้องการตัวเลือกทั้งหมดในไฟล์นั้น

เพื่อความสะดวก ให้เปลี่ยนชื่อไฟล์ config เริ่มต้นของ dnsmasq และสร้างไฟล์ใหม่ว่างเปล่า แล้วเปิด "dnsmasq.conf" ใหม่ใน Nano และเพิ่มเฉพาะตัวเลือก config ที่เราต้องการจริง

เริ่มต้น รันคำสั่ง Terminal:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

เพิ่มตัวเลือก config เหล่านี้:

interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
domain=wlan
address=/gw.wlan/192.168.4.1

บันทึกการเปลี่ยนแปลงกด Ctrl + O ตามด้วย Ctrl + X

สร้างชื่อเครือข่ายและรหัสผ่าน

กำหนดค่า wireless access point โดยแก้ไขไฟล์ config hostapd

เปิดไฟล์เพื่อแก้ไข รันคำสั่ง:

sudo nano /etc/hostapd/hostapd.conf

เพิ่มข้อมูล wireless access point รวมถึงตั้งชื่อและรักษาความปลอดภัยด้วยรหัสผ่าน รหัสผ่านควรยาว 8 ตัวอักษรขึ้นไป และผสมตัวอักษร ตัวเลข และสัญลักษณ์

บทช่วยสอนนี้สร้าง access point ชื่อ "NetworkName" รหัสผ่าน "PassphrasePassphrase" – ใช้สิ่งที่ปลอดภัยกว่านี้สำหรับเครือข่ายของคุณ!

interface=wlan0
ssid=NetworkName
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=PassphrasePassphrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

บันทึกการเปลี่ยนแปลงกด Ctrl + O ตามด้วย Ctrl + X

เชื่อมต่อกับ Wireless Access Point ของคุณ

ยินดีด้วย คุณทำให้ Raspberry Pi กลายเป็น wireless access point สำเร็จแล้ว

เพื่อตรวจสอบว่าทุกอย่างทำงานถูกต้อง ควรรีสตาร์ท Raspberry Pi และตรวจสอบว่าสามารถเชื่อมต่อ access point ได้หลังรีบูท

เมื่อ Raspberry Pi รีบูทเสร็จ หยิบอุปกรณ์ที่รองรับ Wi-Fi ใดๆ สแกนเครือข่ายไร้สายใกล้เคียง ควรเห็นเครือข่ายที่มีชื่อที่คุณระบุในไฟล์ "hostapd.conf" ของ Raspberry Pi

วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

ลองเชื่อมต่อเครือข่ายนี้ จะถูกขอรหัสผ่าน ใส่ passphrase จากไฟล์ "hostapd.conf" หลังสักครู่ควรเชื่อมต่อสำเร็จ

วิธีทำให้ Raspberry Pi กลายเป็น Wireless Access Point

ตอนนี้คุณสามารถเล่นอินเทอร์เน็ตบนอุปกรณ์ Wi-Fi ได้เหมือนเชื่อมต่อกับเราเตอร์โดยตรง

ในบทช่วยสอนนี้ คุณเรียนรู้วิธีทำให้ Raspberry Pi กลายเป็น wireless access point ตอนนี้คุณสามารถเชื่อมต่อ access point นี้ด้วยอุปกรณ์ Wi-Fi ใดๆ และให้ผู้อื่นเข้าถึงเครือข่ายโดยไม่ต้องแชร์รหัสผ่านเราเตอร์

นอกจากนี้ ยังสามารถทำให้ Raspberry Pi กลายเป็น Chromecast หรือสตรีม Spotify จากมันได้ อ่านหน้า Raspberry Pi ของเราสำหรับโปรเจกต์น่าสนใจเพิ่มเติม