Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ฮาร์ดแวร์ >> ฮาร์ดแวร์

วิธีเปลี่ยน Raspberry Pi ให้เป็น Wi-Fi Bridge

วิธีเปลี่ยน Raspberry Pi ให้เป็น Wi-Fi Bridge

วันนี้ง่ายที่จะคิดว่าอุปกรณ์ทุกตัวรองรับ Wi-Fi แต่ไม่ใช่ทุกอุปกรณ์ที่สามารถเชื่อมต่ออินเทอร์เน็ตแบบไร้สายได้ นี่คือที่ที่ Raspberry Pi ช่วยได้: โดยการเปลี่ยนมันเป็น Wi-Fi bridge

หากคุณต้องการนำ desktop computer เก่าที่มีแค่ Ethernet มาใช้ใหม่ และต้องการวิธีเร็วและง่ายในการแปลงสัญญาณ Wi-Fi ให้เป็นการเชื่อมต่อ Ethernet คุณสามารถใช้ Raspberry Pi

เปลี่ยน Raspberry Pi ให้เป็น Wi-Fi bridge

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

วิธีเปลี่ยน Raspberry Pi ให้เป็น Wi-Fi Bridge

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

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

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

  • Raspberry Pi รุ่นที่มี Wi-Fi module (Raspberry Pi zero, 3 และ 4) รัน Raspberry Pi OS
  • สายไฟที่เข้ากับ Raspberry Pi
  • คีย์บอร์ดภายนอกและวิธีต่อกับ Raspberry Pi
  • สาย HDMI หรือ micro HDMI ขึ้นอยู่กับรุ่น Raspberry Pi
  • หน้าจอภายนอก
  • สาย Ethernet

อัปเดต Pi

หากยังไม่ได้ทำ ให้ต่อคีย์บอร์ดภายนอก หน้าจอ และอุปกรณ์周边อื่นๆ กับ Raspberry Pi แล้วต่อ Pi เข้ากับแหล่งจ่ายไฟ

ก่อนเริ่ม ตรวจสอบว่า Raspberry Pi อัปเดตแล้ว เปิด Terminal ใหม่โดยคลิกไอคอน "Terminal" ใน toolbar ของ Raspbian แล้วรันคำสั่ง:

sudo apt update && sudo apt -y upgrade

ตั้งค่า network services: ติดตั้ง dnsmasq

ต่อไป ติดตั้ง dnsmasq ซึ่งให้ Domain Name System (DNS) caching และ Dynamic Host Configuration Protocol (DHCP) server ใช้แพ็กเกจนี้ประมวลผล DNS requests ซึ่งจะอนุญาตให้ Raspberry Pi ทำหน้าที่เป็น mini-router สำหรับอุปกรณ์ Ethernet-only

เพื่อติดตั้ง dnsmasq ให้รันคำสั่ง:

sudo apt install dnsmasq

กำหนดค่า ethernet connection

ต่อไป ตั้งค่า interface eth0 ให้ใช้ static IP address โดยแก้ไขไฟล์ "dhcpcd.conf" เพื่อเปิดไฟล์การตั้งค่านี้ ให้รันคำสั่ง:

sudo nano /etc/dhcpcd.conf

ไฟล์ "dhcpcd.conf" จะเปิดใน text editor Nano ในไฟล์นี้ ให้เพิ่ม:

interface eth0 static ip_address=192.168.220.1/24 static routers=192.168.220.0

บันทึกการเปลี่ยนแปลงโดยกด Ctrl + O เพื่อปิดไฟล์การตั้งค่า กด Ctrl + X

การเปลี่ยนแปลงเหล่านี้จะมีผลโดยการ restart dhcpcd service:

sudo service dhcpcd restart

แทนที่ไฟล์การตั้งค่า dnsmasq

แพ็กเกจ dnsmasq มาพร้อมไฟล์การตั้งค่าเริ่มต้น แต่คุณต้องแทนที่ด้วยการตั้งค่า custom ของคุณเองที่บอก dnsmasq ว่าจะจัดการ DHCP และ DNS traffic อย่างไร

ก่อนทำการเปลี่ยนแปลง ให้ rename และย้ายไฟล์ dnsmasq.conf ต้นฉบับ:

sudo nano /etc/dnsmasq.conf /etc/dnsmasq.conf.original

เปิดไฟล์การตั้งค่าแทนที่เพื่อแก้ไข:

sudo nano /etc/dnsmasq.conf

ตอนนี้คุณควรดูไฟล์ dnsmasq.conf ใน Nano text editor ใน Nano ให้เพิ่ม:

interface=eth0 listen-address=192.168.220.1 bind-interfaces server=8.8.8.8 domain-needed bogus-priv dhcp-range=192.168.220.50,192.168.220.150,12h
วิธีเปลี่ยน Raspberry Pi ให้เป็น Wi-Fi Bridge

บันทึกการเปลี่ยนแปลง โดยกด Ctrl + O เพื่อปิดไฟล์การตั้งค่า กด Ctrl + X

เปิดใช้งาน IP forwarding

ต่อไป ให้เปิดใช้งาน IP forwarding เพื่อให้ Raspberry Pi ยอมรับ network packets จากการเชื่อมต่อ Ethernet และส่งต่อไปยังเราเตอร์

เพื่อเปิดใช้งาน IPv4 IP forwarding ให้แก้ไขไฟล์การตั้งค่า "sysctl.conf":

sudo nano /etc/sysctl.conf

ไฟล์ "sysctl.conf" จะเปิดใน Nano text editor ในไฟล์นี้ หาบรรทัดต่อไปนี้:

#net.ipv4.ip_forward=1

ลบ # ออก เพื่อให้บรรทัดนี้กลายเป็น:

net.ipv4.ip_forward=1
วิธีเปลี่ยน Raspberry Pi ให้เป็น Wi-Fi Bridge

บันทึกการเปลี่ยนแปลงโดยกด Ctrl + O เพื่อปิดไฟล์การตั้งค่า กด Ctrl + X

ตอนนี้ นำไฟล์การตั้งค่า "sysctl.conf" ใหม่เข้าสู่ผลบังคับใช้:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

เริ่มส่งต่อ traffic จาก Ethernet ไป Wi-Fi

ตอนนี้คุณเปิดใช้งาน IP forwarding สำเร็จแล้ว คุณสามารถกำหนดค่า firewall ให้ส่งต่อ traffic จาก Ethernet interface (eth0) ไปยัง Wi-Fi connection ด้วยการส่งต่อนี้ อุปกรณ์ใดๆ ที่เชื่อมต่อกับ Raspberry Pi ผ่าน Ethernet จะได้เข้าถึง Wi-Fi (wlan0) ของ Pi

เพิ่มกฎบางอย่างที่บอก Raspberry Pi ว่าจะส่งต่อ data packets ทั้งหมดที่มันได้รับอย่างไร:

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

บันทึกกฎใหม่เหล่านี้:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

กฎเหล่านี้จะถูกล้างทุกครั้งที่ Raspberry Pi รีบูท จึงต้องแน่ใจว่ามันโหลดใหม่ตอน startup

กำหนดสิ่งที่เกิดขึ้นตอน startup โดยแก้ไขไฟล์ "rc.local":

sudo nano /etc/rc.local

ไฟล์ rc.local จะเปิดใน Nano text editor ใน editor หา:

exit 0

เพิ่มต่อไปนี้โดยตรงเหนือบรรทัด "exit":

iptables-restore < /etc/iptables.ipv4.nat

บันทึกการเปลี่ยนแปลงโดยกด Ctrl + O เพื่อปิดไฟล์การตั้งค่า กด Ctrl + X

ทดสอบ Wi-Fi bridge

ขั้นตอนสุดท้ายคือเริ่ม service dnsmasq:

sudo service dnsmasq start

คุณสามารถทดสอบ Wi-Fi bridge ได้แล้ว! ต่ออุปกรณ์ Ethernet-only ใดๆ กับ Raspberry Pi ผ่านสาย Ethernet Raspberry Pi จะให้การเชื่อมต่ออินเทอร์เน็ตกับอุปกรณ์ Ethernet-only นี้

สรุป

คุณได้เรียนรู้วิธีแชร์ Wi-Fi ของ Raspberry Pi กับอุปกรณ์แบบสายใดๆ โดยการแปลงการเชื่อมต่อ Wi-Fi ให้เป็น Ethernet คุณยังสามารถใช้ Raspberry Pi เป็น Captive Portal Wi-Fi hotspot หรือ personal web server ได้ แจ้งเราถ้ามีประโยชน์

อ่านต่อสำหรับโปรเจกต์ Raspberry Pi อื่นๆ ที่คุณทำเองได้