คุณกำลังมองหาการสร้าง 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 บูทเสร็จ ควรตรวจสอบว่ารัน 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
เปิดใช้งาน wireless access point และตั้งให้เริ่มอัตโนมัติตอนบูท:
sudo systemctl unmask hostapd sudo systemctl enable hostapd
ต่อไป ติดตั้ง 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
ลองเชื่อมต่อเครือข่ายนี้ จะถูกขอรหัสผ่าน ใส่ passphrase จากไฟล์ "hostapd.conf" หลังสักครู่ควรเชื่อมต่อสำเร็จ
ตอนนี้คุณสามารถเล่นอินเทอร์เน็ตบนอุปกรณ์ Wi-Fi ได้เหมือนเชื่อมต่อกับเราเตอร์โดยตรง
ในบทช่วยสอนนี้ คุณเรียนรู้วิธีทำให้ Raspberry Pi กลายเป็น wireless access point ตอนนี้คุณสามารถเชื่อมต่อ access point นี้ด้วยอุปกรณ์ Wi-Fi ใดๆ และให้ผู้อื่นเข้าถึงเครือข่ายโดยไม่ต้องแชร์รหัสผ่านเราเตอร์
นอกจากนี้ ยังสามารถทำให้ Raspberry Pi กลายเป็น Chromecast หรือสตรีม Spotify จากมันได้ อ่านหน้า Raspberry Pi ของเราสำหรับโปรเจกต์น่าสนใจเพิ่มเติม