สารบัญ:

Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน
Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน

วีดีโอ: Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน

วีดีโอ: Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน
วีดีโอ: Sharing the Raspberry Pi's WiFi over the Ethernet Port 2024, กรกฎาคม
Anonim
Raspberry Pi Ethernet เป็น Wifi Bridge
Raspberry Pi Ethernet เป็น Wifi Bridge
Raspberry Pi Ethernet เป็น Wifi Bridge
Raspberry Pi Ethernet เป็น Wifi Bridge
Raspberry Pi Ethernet เป็น Wifi Bridge
Raspberry Pi Ethernet เป็น Wifi Bridge

ฉันมีเครือข่ายทดสอบของ Raspberry Pies อุปกรณ์ต่างๆ คอมพิวเตอร์และอุปกรณ์เครือข่ายอื่นๆ ทั้งหมดได้รับการจัดการโดยไฟร์วอลล์/เราเตอร์ Ubiquity และฉันต้องการเชื่อมต่อกับอินเทอร์เน็ตเพื่อให้สามารถดึงการอัปเดต ซอฟต์แวร์ ฯลฯ ขออภัย มันตั้งอยู่ในส่วนหนึ่งของโรงรถ / เวิร์กช็อปของฉันซึ่งไม่มีแจ็คอีเทอร์เน็ตหรือสายเคเบิลเชื่อมต่อ ดังนั้นโดยใช้ Raspberry Pi ฉันจึงสร้างบริดจ์เพื่อเชื่อมต่อไฟร์วอลล์กับเครือข่ายไร้สายที่มีอยู่ในบ้านของฉัน ใช้เวลาสองสามวันในการดิ้นรนและลองใช้วิธีการที่แตกต่างกันดังนั้นฉันหวังว่าคำแนะนำนี้จะช่วยคุณประหยัดเวลาและความยุ่งยาก!

คำแนะนำและวิธีปฏิบัติมากมายบนอินเทอร์เน็ตเป็นอีกวิธีหนึ่ง: การเชื่อมต่อกับเครือข่ายแบบมีสายแล้วสร้างเครือข่ายไร้สายสำหรับอุปกรณ์ทั้งหมดที่จะเชื่อมต่อ เป็นกรณีการใช้งานที่ดีอย่างสมบูรณ์ แต่ปัญหาสำคัญกับสถานการณ์ของฉันคือ ฉันไม่มีการเชื่อมต่ออินเทอร์เน็ตแบบมีสายนั้น ฉันไม่ต้องการเสียบแจ็คติดผนังหรือใช้สายเคเบิลยาวๆ เพื่อทำเช่นนั้น และฉันมี เครือข่ายไร้สายที่ดีอย่างสมบูรณ์พร้อมสัญญาณแรงในการเชื่อมต่อ!

ส่วนที่ค่อนข้างเรียบง่ายคือ Pi ฉันใส่หมวก POE เพื่อลดจำนวนสายไฟและความยุ่งเหยิง ฉันยังเลือกใช้อะแดปเตอร์ USB wifi ภายนอกเพราะฉันต้องการความสามารถ AC600 และกำลังเชื่อมต่อกับ Wireless เครือข่าย AC600

เสบียง

  • เคส Raspberry Pi 3 B+ และการ์ด SD (https://amzn.to/2LHzkmy)
  • หมวก Raspberry Pi POE (https://amzn.to/2q0ZMzG)
  • Alfa AWUS036ACS 802.11ac AC600 Wi-Fi USB อะแดปเตอร์เครือข่ายไร้สาย (https://amzn.to/2rp7UuM)
  • สวิตช์ POE (https://amzn.to/2siIuyE)
  • สายเคเบิลอีเทอร์เน็ต (https://amzn.to/2P9Urjf)

และในกรณีที่คุณสงสัยว่านี่คืออุปกรณ์เครือข่ายที่ฉันใช้ในบ้านซึ่งฉันคิดว่ายอดเยี่ยมมาก

  • คีย์ Ubiquiti UniFi Cloud (https://amzn.to/38q04BE)
  • Ubiquiti Unifi Security Gateway (USG) (https://amzn.to/35crkSe)
  • Ubiquiti UniFi AP AC PRO 802.11ac จุดเชื่อมต่อ Wi-Fi ระดับองค์กรที่ปรับขนาดได้ (https://amzn.to/2siIqPr)
  • สวิตช์ Ubiquiti UniFi 8 60W (https://amzn.to/36fibs6)

ขั้นตอนที่ 1: ดาวน์โหลด Raspbian และแฟลชการ์ด SD

ดาวน์โหลด Raspbian และแฟลชการ์ด SD
ดาวน์โหลด Raspbian และแฟลชการ์ด SD
ดาวน์โหลด Raspbian และแฟลชการ์ด SD
ดาวน์โหลด Raspbian และแฟลชการ์ด SD

ก่อนอื่นเราจะต้องดาวน์โหลดบางสิ่ง:

หนึ่งคือระบบปฏิบัติการสำหรับ Raspberry Pi ของเราและเราจะใช้ Raspbian เพราะมันเป็นที่นิยมและใช้งานง่าย (ซึ่งเป็นเหตุผลว่าทำไมจึงเป็นที่นิยมมาก) คุณสามารถคว้ารูปภาพได้ที่นี่ https://www.raspberrypi.org/downloads/raspbian/ เราจะใช้รูปภาพ "Raspbian Buster พร้อมเดสก์ท็อป" ดังนั้นเราจึงมี GUI Desktop เพื่อให้ง่ายขึ้นเล็กน้อยและตั้งแต่นั้นมา เรากำลังตั้งค่า Pi นี้เป็นสะพานเชื่อม ไม่ใช่สำหรับใช้ในชีวิตประจำวัน เราไม่ต้องการซอฟต์แวร์ที่แนะนำเพิ่มเติมทั้งหมด

สองคือเราจะใช้ Etcher เพื่อแฟลชการ์ด SD ของเราด้วย ฟรีและใช้งานง่าย ดาวน์โหลดและเรียนรู้เพิ่มเติมได้ที่นี่:

ใส่การ์ด SD ลงในคอมพิวเตอร์ (ฉันใช้ Mac และฉันสมมติว่าแล็ปท็อป/คอมพิวเตอร์ของคุณมีเครื่องอ่านการ์ด SD ไม่เช่นนั้นให้ใช้

ในการถ่ายโอนภาพไปยังการ์ด SD ก่อนอื่นให้คลายซิปภาพที่ดาวน์โหลดซึ่งเป็นไฟล์ ZIP จากนั้นใน Etcher ให้เลือกไฟล์.img ตรวจสอบให้แน่ใจว่าได้เลือกการ์ด SD ที่ถูกต้องเป็นปลายทาง (ฉันทำได้โดยตรวจสอบขนาด 32 GB ในกรณีนี้ และฉันมักจะถอดหรือถอด USB หรือการ์ด SD อื่นๆ ออกก่อนที่จะเรียกใช้ Etcher) แล้วเลือก Flash การเขียนและยืนยันภาพจะดำเนินไปอย่างรวดเร็ว เมื่อเสร็จแล้ว คุณสามารถนำการ์ด SD ออกและปิด Etcher ได้

ขั้นตอนที่ 2: การบูต Pi และการตั้งค่า

การบูต Pi และการตั้งค่า
การบูต Pi และการตั้งค่า
การบูต Pi และการตั้งค่า
การบูต Pi และการตั้งค่า
การบูต Pi และการตั้งค่า
การบูต Pi และการตั้งค่า

เชื่อมต่อ Power, จอภาพ HDMI และแป้นพิมพ์และเมาส์เข้ากับ Pi คุณยังสามารถเชื่อมต่ออแด็ปเตอร์ไร้สาย USB ได้ แต่มีขั้นตอนเพิ่มเติมในภายหลังซึ่งจำเป็นเพื่อให้ใช้งานได้

ใส่การ์ด SD และเปิดเครื่อง Pi

การตั้งค่าเริ่มต้นนั้นค่อนข้างง่ายในการติดตั้งตามคำแนะนำ:

  • ขั้นตอนที่ 1 เราตั้งค่าสถานที่ ภาษาที่เหมาะสม
  • ขั้นตอนที่ 2 เราตั้งรหัสผ่าน
  • ขั้นตอนที่ 3 เราเลือกเครือข่าย wifi ที่มีอยู่และใส่ข้อความรหัสผ่าน ตอนนี้เราอยู่ในเครือข่าย
  • ขั้นตอนที่ 4 เราแก้ไขและอัปเดต
  • ขั้นตอนที่ 5 เราเลือกตัวเลือกความละเอียด จอแสดงผลของฉันมีขอบสีดำ ดังนั้นเครื่องหมายถูก
  • ขั้นตอนที่ 6 เราเลือก "ภายหลัง" แทนที่จะรีบูต
  • ขั้นตอนที่ 7 เราเปิดการกำหนดค่า raspberry pi และเปิด SSH และ VNC เพื่อให้การจัดการระยะไกลง่ายขึ้น
  • ขั้นตอนที่ 8 จากนั้นเรารีบูต

ขั้นตอนที่ 3: การติดตั้งโมดูลไดรเวอร์สำหรับการ์ดไร้สาย Alfa USB

การติดตั้งโมดูลไดรเวอร์สำหรับการ์ดไร้สาย Alfa USB
การติดตั้งโมดูลไดรเวอร์สำหรับการ์ดไร้สาย Alfa USB

เราจำเป็นต้องสร้างและติดตั้งโมดูลเคอร์เนลเพื่อให้ USB ของเราทำงานได้ สิ่งนี้อาจซับซ้อนเล็กน้อย แต่โชคดีสำหรับเราที่มีคนในสหราชอาณาจักรในฟอรัม Raspberry Pi ชื่อ MrEngman ซึ่งรวบรวมไดรเวอร์ wifi หลายตัวสำหรับ Raspbian และในกรณีนี้เขามีหนึ่งตัวสำหรับการ์ดไร้สาย Alfa USB ของเรา คุณสามารถดูกระทู้นี้ได้ที่นี่ (https://www.raspberrypi.org/forums/viewtopic.php?t=192985)

ในการใช้สคริปต์ของเขา เราดาวน์โหลดและเรียกใช้เป็น superuser (ซึ่งอาจเป็นอันตรายจากมุมมองด้านความปลอดภัย แต่หลังจากตรวจสอบสิ่งที่เรากำลังคว้ามา เรารู้ว่าคราวนี้ปลอดภัย)

sudo wget https://fars-robotics.net/install-wifi -O /usr/bin/install-wifi

sudo chmod +x /usr/bin/install-wifi

สิ่งที่สคริปต์นี้ทำคือการระบุว่าจำเป็นต้องใช้โมดูล/ไดรเวอร์ใด ดึงข้อมูลนั้นจากอินเทอร์เน็ต แกะกล่องและย้ายไปยังเส้นทางที่ถูกต้องเพื่อให้ระบบปฏิบัติการค้นหา (เช่น ใน /lib/modules/) และการตั้งค่าที่เหมาะสม สิทธิ์ เราสามารถทำตามขั้นตอนเหล่านี้ได้ด้วยตนเอง แต่การใช้สคริปต์ของ MrEngman จะช่วยขจัดการคาดเดาและขั้นตอนที่ต้องทำด้วยตนเอง ทำให้กระบวนการง่ายขึ้นสำหรับเรา

ขั้นตอนที่ 4: ปิดใช้งาน Onboard Wifi

เนื่องจากเราใช้ wifi ภายนอก เราจึงไม่จำเป็นต้องใช้ออนบอร์ด เพื่อความเรียบง่ายเราเพียงแค่ปิดการใช้งานในระบบปฏิบัติการ มันง่ายสำหรับ Pi เนื่องจากไดรเวอร์ wifi นั้นไม่เหมือนใคร:

เราปิดการใช้งานไดรเวอร์โดยแก้ไขไฟล์ /etc/modprobe.d/raspi-blacklist.conf และเพิ่ม:

บัญชีดำ brcmfmac

บัญชีดำ brcmutil

ขั้นตอนที่ 5: จัดลำดับความสำคัญของอินเทอร์เฟซและปิดใช้งาน IPv6

เนื่องจากเรามีเครือข่ายสองเครือข่าย เครือข่ายทดสอบและเครือข่ายปกติที่เชื่อมต่อกับอินเทอร์เน็ต เราจึงต้องการให้ Pi ตรวจสอบเครือข่ายไร้สายก่อน แทนที่จะตรวจสอบแบบมีสาย ซึ่งตรงกันข้ามกับค่าเริ่มต้น เราสามารถใช้พารามิเตอร์เมตริกและตั้งค่าสำหรับอุปกรณ์ โดยที่ตัวเลขยิ่งต่ำยิ่งมีลำดับความสำคัญสูง

และเราไม่ได้ใช้ ipv6 บนเครือข่ายใดเครือข่ายหนึ่ง ดังนั้นเราจึงปิดมันเพื่อความเรียบง่าย

แก้ไขไฟล์ /etc/dhcpcd.conf เพิ่มบรรทัดใกล้ด้านล่าง

อินเตอร์เฟส eth0

เมตริก 300

อินเทอร์เฟซ wlan0

เมตริก 200

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1

ขั้นตอนที่ 6: ตั้งกฎการส่งต่อ & DHCP บนเครือข่ายแบบมีสาย

เราต้องการกฎไฟร์วอลล์เพื่อนำการรับส่งข้อมูลและส่งต่อจากเครือข่ายแบบมีสายไปยังเครือข่ายไร้สาย นี่เป็นมาตรฐานที่ค่อนข้างดี เราใช้ iptables บน Pi และเราสร้างไฟล์และกฎสองสามไฟล์เพื่อให้แน่ใจว่าทุกอย่างจะยังคงอยู่หลังจากรีบูต

กฎเกณฑ์นั้นง่ายที่จะยอมรับและอีกกฎหนึ่งเพื่อส่งต่อจากแบบมีสายไปยังแบบไร้สาย

# สร้างไดเร็กทอรีที่เราจะจัดเก็บกฎการส่งต่อ "iptables" ของเรา

mkdir -p /etc/iptables # สร้างกฎ `iptables` โดยเรียกใช้คำสั่งนี้เพื่อสร้างไฟล์ cat `rules.v4` </etc/iptables/rules.v4 *nat:PREROUTING ACCEPT [98:9304]:INPUT ACCEPT [98:9304]:OUTPUT ACCEPT [2:152]:POSTROUTING ACCEPT [0:0] -A POSTROUTING -o wlan0 -j MASQUERADE COMMIT *filter:INPUT ACCEPT [791:83389]:FORWARD ACCEPT [0:0]:OUTPUT ยอมรับ [333:34644] -A FORWARD -i wlan0 -o eth0 -m state --state RELATED, ESTABLISHED -j ACCEPT -A FORWARD -i eth0 -o wlan0 -j ACCEPT COMMIT EOF # Load our `iptables` forwarding rule at แต่ละบูต cat </etc/network/if-up.d/iptables #!/bin/sh iptables-restore </etc/iptables/rules.v4 EOF chmod +x /etc/network/if-up.d/iptables # เปิดใช้งานการส่งต่อ `ipv4' แบบถาวรสำหรับการบูตระบบแต่ละครั้ง # https://www.ducea.com/2006/08/01/how-to-enable-ip-… sed -i'' / s/#net.ipv4 ip_forward=1/net.ipv4.ip_forward=1/ / /etc/sysctl.conf

ตอนนี้สำหรับ DHCP บนอินเทอร์เฟซแบบมีสายนั้น เราตั้งค่าที่อยู่คงที่ 10.1.1.1 แล้วตั้งค่า DHCP เพื่อให้บริการที่อยู่ในบล็อก IP นั้น

# สร้างการกำหนดค่าที่อยู่ IP แบบคงที่ อะแดปเตอร์ "eth0" จะใช้ a

# IP แบบคงที่ของ `10.1.1.1' บนซับเน็ตใหม่นี้ cat </etc/network/interfaces.d/eth0 auto eth0 allow-hotplug eth0 iface eth0 inet static address 10.1.1.1 netmask 255.255.255.0 เกตเวย์ 10.1.1.1 EOF # สร้างการกำหนดค่า `dnsmasq` DHCP ที่ `/etc/dnsmasq d/bridge.conf'. # Raspberry Pi จะทำหน้าที่เป็นเซิร์ฟเวอร์ DHCP ไปยังไคลเอนต์ที่เชื่อมต่อผ่าน # อีเธอร์เน็ต เซิร์ฟเวอร์ DNS จะเป็น "8.8.8.8" (DNS ของ Google) และช่วง # จะเริ่มต้นที่ "10.1.1.2" cat </etc/dnsmasq.d/bridge.conf interface=eth0 bind-interfaces server=8.8.8.8 โดเมนที่ต้องการ bogus-priv dhcp-range=10.1.1.2, 10.1.1.254, 12h EOF

ขั้นตอนที่ 7: รีบูตและทดสอบ

รีบูตและทดสอบ
รีบูตและทดสอบ

หลังจากตั้งค่าต่างๆ เรียบร้อยแล้ว เราก็สามารถทดสอบการเชื่อมต่อบนอุปกรณ์เครื่องใดเครื่องหนึ่งได้ และแน่นอนว่าเราสามารถเชื่อมต่ออินเทอร์เน็ตและทุกอย่างทำงานได้! นอกจากนี้เรายังสามารถเข้าสู่ระบบคีย์ระบบคลาวด์ Ubiquity ของเราและตรวจสอบการกำหนดค่าที่นั่นได้เช่นกัน ภาพหน้าจอแสดงสิ่งนี้

สุดท้ายเรารีบูตเพื่อให้แน่ใจว่าทุกอย่างกลับมาตามที่คาดไว้อีกครั้ง!

สนุก.

แนะนำ: