คู่มือการทำโปร็กซี่มือถือด้วย Raspberry Pi หรือ Orange Pi สำหรับผู้เริ่มต้น
บทนำ
นี่คือคู่มือที่ละเอียดและเป็นขั้นตอนที่จะสอนคุณวิธีการสร้างและตั้งค่าโปร็กซี่มือถือที่มีงบประมาณด้วย Raspberry Pi หรือ Orange Pi ตั้งแต่การเลือกบอร์ด โมเด็ม และแหล่งพลังงานไปจนถึงการติดตั้งระบบปฏิบัติการ ตัวขับเคลื่อน และโปรแกรม การกำหนดค่าของเซิร์ฟเวอร์โปร็กซี่ การเริ่มต้นอัตโนมัติ ความเสถียร และการทดสอบ ผลลัพธ์สุดท้ายคือการที่คุณจะมีโปร็กซี่ HTTP(S)/SOCKS5 ที่สามารถเข้าถึงได้ภายในหรือนอกพร็อกซี่ที่ทำงานอยู่บนโมเด็ม 4G/5G โดยมีฟังก์ชันการรีเซ็ตเซสชันเพื่อให้ได้ IP มือใหม่และติดตั้งระบบการตรวจสอบและบันทึกข้อมูลเบื้องต้น
คู่มือนี้ออกแบบมาสำหรับผู้เริ่มต้นที่เพิ่งเริ่มทำความรู้จักกับ Raspberry Pi หรือ Orange Pi และต้องการคำแนะนำที่เข้าใจง่าย ไม่มีปัญหาหรือความยุ่งเหยิง นอกจากนี้ เรายังจะแนะนำเทคนิคขั้นสูงสำหรับผู้ที่ต้องการใช้งานฮาร์ดแวร์ให้มีประสิทธิภาพสูงสุด คู่มือนี้เหมาะสำหรับห้องทดลองที่บ้าน แผนกทดสอบผลิตภัณฑ์มือถือ โครงสร้างพื้นฐานภายในบริษัท และโครงการการศึกษาต่าง ๆ
ข้อกำหนดในการเตรียมตัว: ทักษะพื้นฐานในการใช้งาน Terminal ของ Linux ในระดับการคัดลอกและวางคำสั่ง การอัดภาพระบบลงใน microSD และการเชื่อมต่อสายเคเบิล เราจะอธิบายทุกสิ่งที่เหลือ เราจะหลีกเลี่ยงศัพท์เฉพาะวิชาชีพหรือทำการอธิบายโดยทันที
เวลาที่ต้องใช้: ถ้ามีอุปกรณ์ครบถ้วนแล้วประมาณ 2-4 ชั่วโมงรวมถึงการติดตั้งระบบปฏิบัติการและการอัปเดต อาจใช้เวลามากขึ้นในการดาวน์โหลดแพ็กเกจและเฟิร์มแวร์หากการเชื่อมต่ออินเทอร์เน็ตช้า
ลิงก์ไปยังส่วนต่าง ๆ: ไปยังการเลือกบอร์ด โมเด็ม และแหล่งพลังงาน, ไปยังการตั้งค่าเซิร์ฟเวอร์โปร็กซี่.
⚠️ คำเตือน: ใช้คู่มือนี้ตามกฎหมายในท้องถิ่นเท่านั้น อย่าใช้โปร็กซี่เพื่อทำผิดกฎหมายหรือพยายามหลีกเลี่ยงการจำกัดหรือการปิดกั้น ปฏิบัติตามข้อตกลงกับผู้ให้บริการโทรศัพท์ของคุณ
เคล็ดลับ: หากคุณต้องการตัวเลือกการจัดการ IP มือถือที่พร้อมใช้งานโดยไม่ต้องประกอบเอง คุณสามารถพิจารณาบริการเฉพาะทาง เช่น mobileproxy.space เพื่อทำความเข้าใจเกี่ยวกับฟังก์ชันการทำงานที่คุณสามารถทำซ้ำได้บางส่วนในเซิร์ฟเวอร์ของคุณ
การเตรียมความพร้อม
ก่อนเริ่มโปรดตรวจสอบว่าคุณมีเครื่องมือ การเข้าถึง และซอฟต์แวร์ที่จำเป็นทั้งหมด ส่วนนี้จะช่วยป้องกันไม่ให้คุณสะดุดในระหว่างกระบวนการ
เครื่องมือ โปรแกรม และการเข้าถึงที่จำเป็น
- คอมพิวเตอร์ที่ใช้ Windows, macOS หรือ Linux สำหรับการเขียนภาพระบบลงใน microSD
- ที่อ่านการ์ด microSD
- การเข้าถึงอินเทอร์เน็ตสำหรับการดาวน์โหลดภาพ OS และแพ็กเกจ
- Terminal SSH Client (Windows: PowerShell ที่มีในตัว หรือ SSH Client ใด ๆ; macOS/Linux: Terminal ที่มีในตัว)
- โปรแกรมสำหรับเขียนภาพ: Raspberry Pi Imager หรือยูทิลิตี้การเขียนภาพใด ๆ สำหรับ microSD
ข้อกำหนดของระบบ
- Mini-PC: Raspberry Pi 3B/3B+/4B/5 หรือ Orange Pi (เช่น Orange Pi PC, Orange Pi Zero2, Orange Pi 3 LTS, Orange Pi 5). แนะนำให้ไม่ต่ำกว่า Raspberry Pi 3B+ หรือ Orange Pi ที่เทียบเท่า
- สื่อบันทึก: microSD 16–32 GB Class A1/A2. สำหรับความเสถียรแนะนำ 32 GB
- อะแดปเตอร์ไฟ: สำหรับ Raspberry Pi 4 — 5V 3A USB-C; สำหรับ Raspberry Pi 3 — 5V 2.5A micro-USB; สำหรับ Orange Pi — ตามรุ่น (ปกติ 5V 3A USB-C หรือ 5V 2–3A DC)
- โมเด็มมือถือ: 4G/5G USB โมเด็ม หรือ โมเด็มขนาดเล็กที่พบในรูปแบบ mini-PCIe/M.2 ใน USB-adapter โมเด็มยอดนิยม ได้แก่ Huawei E3372 (Stick หรือ HiLink), ZTE MF833, Quectel EC25/EG25-G/EP06/EM12, Sierra Wireless EM7455/EM7565 (ผ่าน USB-adapter). สำหรับ 5G: Quectel RM500Q/RM520N (ผ่าน M.2-USB adapter พร้อมพลังงานและเสาอากาศ)
- SIM card ที่มีแผนข้อมูลที่ใช้งานอยู่ โปรดตรวจสอบ APN และข้อจำกัดกับผู้ให้บริการของคุณ
- สาย Ethernet หรือการเข้าถึง Wi-Fi สำหรับการตั้งค่าเริ่มต้น
สิ่งที่ต้องดาวน์โหลดและติดตั้งล่วงหน้า
- ดาวน์โหลด Raspberry Pi Imager หรือจัดเตรียมยูทิลิตี้สำหรับการเขียนภาพ
- สำหรับ Raspberry Pi: ใช้ Raspberry Pi OS Lite (Bookworm, 64-bit) สำหรับระบบขั้นต่ำ สำหรับ Orange Pi: ดาวน์โหลด Armbian ที่เหมาะสม (ที่อิงจาก Debian 12, Kernel 6.x) รุ่น Lite ที่ไม่มีกราฟิก
- เตรียม SSH Client (เช่น OpenSSH ที่มีอยู่)
- รวบรวมข้อมูล APN ของผู้ให้บริการของคุณ: ชื่อ APN หากจำเป็นต้องใส่ชื่อผู้ใช้และรหัสผ่าน ตัวอย่าง: APN — internet, ชื่อผู้ใช้ — ว่าง, รหัสผ่าน — ว่าง ข้อมูลที่แน่นอนให้ตรวจสอบในเอกสารจากผู้ให้บริการ
การสร้างแบ็คอัพ
หากคุณกำลังนำ microSD ที่ตั้งค่าแล้วมาใช้ซ้ำ ควรสร้างแบ็คอัพภาพ สำหรับ Windows สามารถใช้ยูทิลิตี้อ่านภาพการ์ดใด ๆ ได้; สำหรับ macOS/Linux — ใช้คำสั่ง dd เพื่อสร้างไฟล์ภาพ เก็บสำเนาไว้ที่ดิสก์ภายนอก
เคล็ดลับ: ควรเก็บไฟล์บันทึกไว้ที่คุณคัดลอกคำสั่งและการตั้งค่าทั้งหมด เพื่อประหยัดเวลาหากต้องตั้งค่าใหม่หรือย้ายไปยังบอร์ดอื่น
แนวคิดพื้นฐาน
คำศัพท์สำคัญในภาษาง่าย
- โปร็กซี่มือถือ — เซิร์ฟเวอร์โปร็กซี่ที่เชื่อมต่ออินเทอร์เน็ตผ่านเครือข่ายมือถือ (4G/5G) เว็บไซต์จะเห็น IP มือถือ
- ModemManager — บริการ Linux สำหรับจัดการโมเด็มมือถือผ่านทางอินเทอร์เฟซมาตรฐาน (QMI, MBIM, PPP, คำสั่ง AT)
- QMI/MBIM/NCM — วิธีการเชื่อมต่อ Linux กับโมเด็ม QMI และ MBIM ใหม่และรวดเร็ว; PPP ล้าสมัยและช้า; NCM จำลอง Ethernet สำหรับโมเด็มบางตัว
- 3proxy — เซิร์ฟเวอร์โปร็กซี่ขนาดเล็ก มีฟังก์ชัน HTTP, HTTPS (CONNECT), SOCKS5, การพิสูจน์ตัวตนและการบันทึกข้อมูล
- การเปลี่ยน IP — รีเซ็ตเซสชันโมเด็ม (หรือโหมดเครื่องบิน) เพื่อให้ IP มือถือใหม่จากผู้ให้บริการ ไม่มีการรับประกัน: ผู้ให้บริการอาจคืนที่อยู่เดิม
หลักการทำงานเบื้องต้น
Mini-PC เชื่อมต่อกับโมเด็มมือถือผ่าน USB โมเด็มจะลงทะเบียนในเครือข่าย และเริ่มต้นอินเทอร์เฟซมือถือ รับ IP จากผู้ให้บริการ บน mini-PC จะมีการเปิดเซิร์ฟเวอร์โปร็กซี่ที่ฟังพอร์ตที่กำหนด และรับการเชื่อมต่อจากเครือข่ายภายใน หรือจากการพอร์ตโปร็กซี่ผ่านเราเตอร์ การรับส่งข้อมูลของลูกค้าจะผ่านโมเด็ม ตามคำขอ คุณสามารถรีเซ็ตเซสชันโมเด็มเพื่อหมุน IP ใหม่ได้
สิ่งสำคัญที่ต้องเข้าใจก่อนเริ่ม
- ไฟฟ้าสำคัญ: USB โมเด็มจะดึงพลังงานสูงถึง 0.5–1 A ในช่วงพีค ต้องใช้ PSU ที่มีคุณภาพและสาย USB ที่ดี สำหรับโมเด็ม 5G ควรเตรียมฮับ USB ที่มีพลังงานภายนอก
- การระบายความร้อน: Raspberry Pi 4/5 และ Orange Pi ที่มีความแรงจะมีความร้อนสูง ควรติดตั้งฮีทซิงค์และพัดลม
- การครอบคลุมเครือข่าย: ความเร็วและเสถียรภาพขึ้นอยู่กับคุณภาพสัญญาณ LTE/NR ใช้เสาอากาศภายนอกและจัดวางอย่างเหมาะสม
- ความถูกต้องตามกฎหมาย: ทำงานตามกรอบกฎหมายและนโยบายของผู้ให้บริการ
⚠️ คำเตือน: อย่าพยายามดัดแปลง IMEI หรือข้อมูลระบุตัวตนอื่น ๆ นี่เป็นการกระทำที่ผิดกฎหมาย การตั้งค่าทั้งหมดในคู่มือนี้เป็นการดำเนินการที่ถูกกฎหมายและขึ้นอยู่กับเครื่องมือมาตรฐานของ Linux
ขั้นตอนที่ 1: เลือก Mini-PC โมเด็มและการจ่ายไฟ
เป้าหมายของขั้นตอน
เลือกส่วนประกอบฮาร์ดแวร์ที่เข้ากันได้และเชื่อถือได้เพื่อหลีกเลี่ยงปัญหาในการเริ่มต้น
คู่มือการปฏิบัติที่ละเอียด
- เลือกบอร์ด หากต้องการเริ่มต้นอย่างมั่นคงให้เลือก Raspberry Pi 4B ที่มี RAM 2–4 GB หากต้องการพลังที่ทันสมัยให้เลือก Raspberry Pi 5 ทางเลือกคือ Orange Pi 3 LTS หรือ Orange Pi 5 (โปรดพิจารณาความแตกต่างในภาพ Armbian)
- เลือก USB โมเด็ม สำหรับความง่าย Huawei E3372 ในโหมด Stick หรือ ZTE MF833 สำหรับความยืดหยุ่นและความเร็ว Quectel EG25-G หรือ EP06/EM12 ผ่าน USB-adapter ที่มีพลังและเสาอากาศ สำหรับ 5G Quectel RM520N-GL ที่มี USB 3.0 adapter และพลังงานภายนอก
- ตรวจสอบความถี่ ตรวจสอบให้แน่ใจว่าโมเด็มและผู้ให้บริการรองรับช่วง LTE/5G ที่จำเป็นในพื้นที่ของคุณ
- เตรียมอุปกรณ์จ่ายไฟ สำหรับ Raspberry Pi 4 — PSU 5V 3A กับสายที่มีคุณภาพ; สำหรับโมเด็ม 5G — active USB hub 5V 2–3A
- ใช้ microSD ขนาด 32 GB A1/A2 การ์ดที่มาจากแบรนด์ที่เชื่อถือได้จะช่วยลดความเสี่ยงในการล้มเหลว
- เตรียมการระบายความร้อน: ฮีทซิงค์และพัดลมในเคส
- ซื้อเสาอากาศสำหรับโมเด็ม หากไม่ได้แถมมา สำหรับ Quectel มักต้องใช้เสาอากาศ MIMO 2×LTE/NR แบบ SMA
จุดสำคัญ
- ความมั่นคงของไฟฟ้า เป็นตัวกำหนดว่าโมเด็มจะค้างหรือไม่ภายใต้ภาระ
- เสาอากาศและการวาง จะช่วยปรับปรุงสัญญาณและความเร็วสุดท้าย
- ความเข้ากันได้: Raspberry Pi OS และ Armbian รองรับโมเด็มส่วนใหญ่ผ่าน ModemManager และตัวขับเคลื่อน qmi_wwan/cdc_mbim/option
เคล็ดลับ: หากไม่แน่ใจในโมเด็ม ให้เลือก Quectel EG25-G เป็น "ทางกลางที่ดี" สำหรับการเข้ากันได้และความเสถียรใน 4G.
ผลลัพธ์ที่คาดหวัง
คุณมีชุดที่พร้อมอยู่บนโต๊ะ: mini-PC, microSD, แหล่งจ่ายไฟ, USB โมเด็มพร้อมซิมการ์ด, เสาอากาศ, สายเคเบิล และระบบระบายความร้อน
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: โมเด็มร้อนเกินไป วิธีการแก้ไข: ใช้ฮับที่มีพลัง วางโมเด็มห่างจากที่ซึ่งเป็นที่ร้อน และเพิ่มฮีทซิงค์ลงในอะแดปเตอร์
- ปัญหา: สัญญาณอ่อนในห้อง วิธีการแก้ไข: ใช้เสาอากาศภายนอก วางโมเด็มถัดจากหน้าต่าง และใช้สาย USB ยาว
- ปัญหา: ไม่แน่ใจว่า Stick หรือ HiLink บน Huawei E3372 วิธีการแก้ไข: เราตั้งค่าทั้งสองประเภท; สำหรับ HiLink จะมีวิธีการที่แตกต่างกันในการควบคุมการเชื่อมต่อ
✅ การตรวจสอบ: ตรวจสอบความครบถ้วนและความเหมาะสมของความต้องการ จดบันทึก IMEI ของโมเด็มและโมเดลสำหรับการควบคุม (เพียงเพื่อบันทึก ไม่ต้องเปลี่ยน IMEI)
ขั้นตอนที่ 2: ติดตั้ง OS และแพ็กเกจพื้นฐาน
เป้าหมายของขั้นตอน
ติดตั้ง OS ล่าสุดโดยไม่มีกราฟิก เปิดใช้งาน SSH อัปเดตระบบ และติดตั้งเครื่องมือที่ต้องการต่อไป
คู่มือการปฏิบัติที่ละเอียด
- เขียนภาพ OS ลง microSD เสียบ microSD เข้ากับที่อ่านการ์ด เปิด Raspberry Pi Imager หรือยูทิลิตี้ของคุณ เลือก Raspberry Pi OS Lite (Bookworm, 64-bit) สำหรับ Raspberry Pi หรือ Armbian Lite ที่เหมาะสมสำหรับ Orange Pi ระบุการ์ดหน่วยความจำและกดปุ่มเขียน รอจนกระทั่งเสร็จสิ้นและตรวจสอบ
- เปิดใช้งาน SSH สำหรับ Raspberry Pi: หลังจากเขียนภาพให้ถอดและเชื่อมต่อการ์ดกับ PC อีกครั้ง ในส่วนของการบูตให้สร้างไฟล์ว่างชื่อ ssh โดยไม่มีนามสกุล สำหรับ Armbian SSH จะเปิดใช้งานตามค่าเริ่มต้น
- การเริ่มต้นครั้งแรก เสียบ microSD เข้ากับบอร์ด เชื่อมต่อ Ethernet เข้ากับเราเตอร์และเปิดพลัง ใช้เวลาประมาณ 1–2 นาทีสำหรับการติดตั้งครั้งแรก
- หาที่อยู่ IP ของบอร์ด ในเราเตอร์ตรวจสอบรายการ DHCP Clients และหาว่าอุปกรณ์ Raspberry Pi/Orange Pi อยู่ที่ไหน หรือใช้เครือข่ายสแกนเนอร์ สมมุติว่าที่อยู่คือ 192.168.1.50.
- เชื่อมต่อผ่าน SSH บน Windows เปิด PowerShell และเรียกใช้: ssh pi@192.168.1.50 (สำหรับ Raspberry Pi รหัสผ่านเริ่มต้นคือ raspberry หากไม่เปลี่ยนในอิมเมจ) สำหรับ Armbian การเข้าสู่ระบบครั้งแรกจะต้องระบุรหัสผ่านและสร้างผู้ใช้
- อัปเดตระบบ เรียกใช้ตามลำดับ: sudo apt update แล้ว sudo apt full-upgrade -y รอจนเสร็จสิ้น รีบูต: sudo reboot เชื่อมต่อใหม่ผ่าน SSH
- ติดตั้งแพ็กเกจพื้นฐาน: sudo apt install -y modemmanager usb-modeswitch usbutils psmisc jq curl socat netcat-traditional สำหรับ QMI/MBIM โมเด็มให้เพิ่ม: sudo apt install -y libqmi-utils libmbim-utils.
- ติดตั้งเครื่องมือเครือข่าย: sudo apt install -y iproute2 iptables ufw ca-certificates.
- ตั้งค่าพื้นที่เวลา: sudo timedatectl set-timezone Europe/Moscow (หรือเมืองของคุณ) เปิดใช้งานการซิงโครไนซ์เวลา: sudo timedatectl set-ntp true.
จุดสำคัญ
- ใช้ภาพ Lite ที่ไม่มีกราฟิก พวกเขาจะใช้ทรัพยากรน้อยลงและมีเสถียรภาพมากขึ้น
- รีบูต หลังการอัปเดตใหญ่อย่างยิ่ง
- จัดเก็บเข้ารหัส: เปลี่ยนรหัสผ่านเริ่มต้นและบันทึกไว้ในที่ปลอดภัย
เคล็ดลับ: กำหนดชื่อโฮสต์แบบสแตติก: sudo hostnamectl set-hostname mobi-proxy-01. จะช่วยให้ง่ายต่อการนำทางในเครือข่าย
ผลลัพธ์ที่คาดหวัง
Mini-PC สามารถเข้าถึงได้ผ่าน SSH ได้รับการอัปเดตและติดตั้ง ModemManager เครื่องมือ QMI/MBIM และยูทิลิตีเครือข่าย
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: ไม่มีการเชื่อมต่อผ่าน SSH วิธีการแก้ไข: ตรวจสอบให้แน่ใจว่าไฟล์ ssh เปิดอยู่ในส่วนบูต (สำหรับ Raspberry Pi), เชื่อมต่อสายเคเบิลเครือข่ายและตาราง DHCP บนเราเตอร์
- ปัญหา: การอัปเดตติดขัด วิธีการแก้ไข: รอ จากนั้นตรวจสอบว่า microSD พื้นที่หมดสิ้นหรือไม่ อาจรีบูตด้วยคำสั่ง sudo reboot หากเกิดปัญหาอีก ให้เขียนภาพใหม่
- ปัญหา: แพ็กเกจไม่สามารถเข้าถึงได้ วิธีการแก้ไข: ตรวจสอบวันที่/เวลา, DNS และเส้นทางโดยใช้คำสั่ง ping 1.1.1.1 และ ping debian.org ให้แก้ไขเครือข่าย
✅ การตรวจสอบ: เรียกใช้ mmcli -L. ขณะนี้โมเด็มอาจไม่มี แต่คำสั่งควรทำงานและไม่ควรแสดงข้อผิดพลาดเกี่ยวกับ ModemManager ที่ไม่พบ
ขั้นตอนที่ 3: เชื่อมต่อและตั้งค่าโมเด็มมือถือ
เป้าหมายของขั้นตอน
เพื่อให้โมเด็มมีการค้นพบที่เสถียรจากระบบ ลงทะเบียนในเครือข่าย และเริ่มต้นการเชื่อมต่อมือถือบน Linux
คู่มือการปฏิบัติที่ละเอียด
- เชื่อมต่อโมเด็มเข้ากับบอร์ด สำหรับโมเด็มที่ใช้พลังงานมากให้ใช้ฮับ USB ที่มีพลัง เสียบซิมการ์ดในโมเด็มก่อนการเชื่อมต่อ
- ตรวจสอบการค้นหาอุปกรณ์: lsusb. คุณควรเห็นบรรทัดที่มีชื่อโมเด็ม (Huawei, ZTE, Qualcomm, Quectel). บันทึกรายการเพื่อบันทึก
- ตรวจสอบพอร์ต: dmesg | tail -n 50. ต้องมีการสร้างอุปกรณ์ /dev/ttyUSBx หรือเครือข่ายอินเตอร์เฟสประเภท wwan0, cdc-wdm0, usb0 หรือ eth1 ขึ้นอยู่กับโหมด
- ตรวจสอบว่า ModemManager มองเห็นโมเด็มหรือไม่: mmcli -L. โมเด็มต้องปรากฏ เช่น /org/freedesktop/ModemManager1/Modem/0.
- ปลดล็อคโมเด็มเมื่อมีการขอ PIN: mmcli -m 0 --pin=1234 (แทนที่ด้วย PIN ของคุณหากเปิดใช้งาน) ควรปิด PIN ล่วงหน้าในโทรศัพท์
- กำหนด APN สำหรับโปรไฟล์เริ่มต้น: mmcli -m 0 --simple-connect="apn=internet,user=,password=" หรือ mmcli -m 0 --3gpp-operator-format=long ตามความจำเป็น สำหรับ MBIM: ใช้ mbimcli -d /dev/cdc-wdm0 --attach-packet-service พร้อมการกำหนดค่าผ่าน ModemManager — มักจะง่ายกว่า mmcli --simple-connect.
- ตรวจสอบสถานะ: mmcli -m 0. ในส่วน Status คุณจะเห็น state: connected, และใน Bearer—พารามิเตอร์การเชื่อมต่อ
- ตรวจสอบอินเทอร์เฟซ: ip a. ต้องมีอินเทอร์เฟซประเภท wwan0 หรือ usb0/ncm0 ขึ้นอยู่กับโหมด รัน ip route เพื่อดูเส้นทางที่กำหนดไว้ผ่านอินเตอร์เฟซมือถือ
- ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต: curl -4 ifconfig.me และ curl -4 ipinfo.io/ip (หรือบริการที่คล้ายกัน) คุณควรเห็น IP มือถือสาธารณะ
จุดสำคัญ
- โหมดโมเด็ม: E3372 สามารถทำงานเป็น HiLink (เราเตอร์) หรือ Stick (โมเด็ม) ใน HiLink อินเตอร์เฟซจะแสดงเป็น eth1/usb0 พร้อมที่อยู่ภายใน จัดการผ่านเว็ปอินเตอร์เฟซของโมเด็ม ใน Stick — ผ่าน QMI/NCM/PPP. ขอสแนะนำ Stick หรือโมเด็ม QMI/MBIM เต็มรูปแบบ (Quectel)
- ไม่มีแพตช์จากบุคคลที่สาม โดยไม่จำเป็น: เคอร์เนลใหม่ส่วนใหญ่รองรับโมเด็มส่วนใหญ่
- เสาอากาศ: เชื่อมต่อเสาอากาศ MIMO ทั้งสองเพื่อความเสถียรใน 4G/5G.
เคล็ดลับ: สำหรับโมเด็ม Quectel พอร์ต AT หลักมักจะเป็น /dev/ttyUSB2. คำสั่ง echo -e "AT+CSQ\r" | socat - /dev/ttyUSB2,crnl จะแสดงระดับสัญญาณ หากดี CSQ ควรอยู่ที่ 15 หรือสูงกว่า.
เคล็ดลับ: หากคุณมีโมเด็ม HiLink ให้เปิดใช้งานเว็ปอินเตอร์เฟซในเบราว์เซอร์ตามที่อยู่ที่แสดงใน ip a (ปกติคือ 192.168.8.1) จากนั้นเปิดใช้งานข้อมูลมือถือและตรวจสอบสถานะการเชื่อมต่อ
ผลลัพธ์ที่คาดหวัง
โมเด็มลงทะเบียนและเชื่อมต่อกับเครือข่ายสำเร็จ คำสั่ง curl ส่งคืน IP มือถือสาธารณะ
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: โมเด็มไม่ปรากฏใน mmcli -L. สาเหตุ: โหมดไม่ถูกต้องหรือพลังงานไม่เพียงพอ วิธีการแก้ไข: เชื่อมต่อผ่านฮับ USB ที่มีพลัง; สำหรับ Huawei — ตรวจสอบว่าอยู่ในโหมด Stick, ติดตั้ง usb-modeswitch (ซึ่งติดตั้งไว้แล้ว), ทำการรีสตาร์ท
- ปัญหา: อุปกรณ์ถูกล็อค PIN วิธีการแก้ไข: ปิด PIN บน SIM ในโทรศัพท์; หรือปลดล็อคด้วย mmcli -m 0 --pin=XXXX.
- ปัญหา: ไม่มีอินเทอร์เน็ต สาเหตุ: APN ไม่ถูกต้อง วิธีการแก้ไข: ตรวจสอบ APN กับผู้ให้บริการ; สำหรับแผนบางแพ็คเกจต้องใช้ชื่อผู้ใช้/รหัสผ่าน ให้ใช้ --simple-connect พร้อมพารามิเตอร์
- ปัญหา: IP ไม่เปลี่ยนเมื่อเชื่อมต่อใหม่ สาเหตุ: ผู้ให้บริการอาจเก็บที่อยู่ไว้ วิธีการแก้ไข: รอให้หมดเวลา หรือใช้การลงทะเบียนใหม่ทั้งหมด (ดูส่วนเกี่ยวกับการหมุนด้านล่าง)
✅ การตรวจสอบ: เรียกใช้ mmcli -m 0 และ ip a. คุณควรเห็นสถานะที่เชื่อมต่อและอินเทอร์เฟซที่ใช้งานอยู่ด้วยที่อยู่ IP. curl -4 ifconfig.me ควรคืนค่า IP มือถือ
ขั้นตอนที่ 4: ตั้งค่าเซิร์ฟเวอร์โปร็กซี่
เป้าหมายของขั้นตอน
ติดตั้งและกำหนดค่าเซิร์ฟเวอร์โปร็กซี่ที่เบา 3proxy ซึ่งจะให้การเข้าถึงอินเทอร์เน็ตผ่านโมเด็มมือถือ
คู่มือการปฏิบัติที่ละเอียด
- ติดตั้ง 3proxy ในระบบ Debian/Ubuntu มักมีให้ใช้งาน: sudo apt install -y 3proxy. หากไม่มีแพ็กเกจให้ติดตั้งผ่านการสร้างจากซอร์สหรือแทนที่ด้วย tinyproxy/dante. เราจะดำเนินการต่อด้วย 3proxy
- สร้างไดเรกทอรีการตั้งค่าและบันทึก หากไม่มี: sudo mkdir -p /etc/3proxy /var/log/3proxy. ตรวจสอบตำแหน่งของไฟล์กำหนดค่าในการติดตั้งของคุณ (โดยทั่วไปคือ /etc/3proxy/3proxy.cfg).
- สร้างไฟล์กำหนดค่า: sudo nano /etc/3proxy/3proxy.cfg และวางกำหนดค่าเริ่มต้น: daemon nscache 65536 config /etc/3proxy/3proxy.cfg monitor /etc/3proxy/3proxy.cfg log /var/log/3proxy/3proxy.log D logformat "%d %H:%M:%S %u %C:%c %R:%r %O %I %T" rotate 10 users user:CL:strongpassword auth strong allow user proxy -p3128 -a socks -p1080 flush. คำอธิบาย: เราเปิดใช้งานการทำให้มีชีวิตอยู่ การบันทึกข้อมูล กำหนดผู้ใช้ user ด้วยรหัสผ่าน strongpassword, เปิดใช้งาน HTTP-proxy ที่พอร์ต 3128 และ SOCKS5 ที่พอร์ต 1080 หากจำเป็นให้เปลี่ยนพอร์ตและข้อมูลรับรอง
- จำกัดการเข้าถึงตาม IP (แนะนำ). เพิ่มบรรทัดก่อนที่จะเริ่มเซิร์ฟเวอร์โปร็กซี่: allow user * 192.168.0.0/16 หรือ IP/เครือข่ายที่เชื่อถือได้เฉพาะ; หรือใช้ไฟร์วอลล์ ตัวอย่างบรรทัดง่าย: allow user เพื่อให้เข้าถึงได้เฉพาะกับการรับรองตัวตน
- อนุญาตให้มีการฟังในทุกอินเทอร์เฟซ โดยค่าเริ่มต้นเซิร์ฟเวอร์จะฟังอยู่ที่ 0.0.0.0. หากต้องการให้ฟังเฉพาะเครือข่ายในเครือข่าย คุณสามารถใช้คีย์ -i กับ IP mini-PC ใน LAN เช่น: proxy -p3128 -a -i192.168.1.50. สำหรับ SOCKS ก็ควรใช้วิธีเดียวกัน: socks -p1080 -i192.168.1.50.
- สร้างเซอร์วิส unit สำหรับ systemd (หากไม่ได้สร้างโดยแพ็กเกจ). เปิด: sudo nano /etc/systemd/system/3proxy.service. วางลงไป: [Unit] Description=3proxy After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg Restart=always RestartSec=3 LimitNOFILE=65536 [Install] WantedBy=multi-user.target. บันทึกไฟล์ จากนั้นเรียกใช้: sudo systemctl daemon-reload, sudo systemctl enable --now 3proxy.
- ตรวจสอบสถานะ: systemctl status 3proxy. คุณควรเห็นสถานะ active (กำลังทำงาน) หากมีข้อผิดพลาด ต้องดู journalctl -u 3proxy -e.
- กำหนด UFW เปิดใช้งานไฟร์วอลล์: sudo ufw default deny incoming, sudo ufw default allow outgoing, sudo ufw allow 22/tcp (SSH), sudo ufw allow 3128/tcp, sudo ufw allow 1080/tcp หากจำเป็น เปิดใช้งาน: sudo ufw enable. ตรวจสอบกฎ: sudo ufw status.
- ตรวจสอบการเข้าถึงโปร็กซี่จากลูกค้าในเครือข่ายท้องถิ่น ระบุ IP mini-PC และพอร์ต 3128 (HTTP) หรือ 1080 (SOCKS5), ป้อนล็อกอิน/รหัสผ่านuser/strongpassword. เปิดเว็บไซต์สำหรับตรวจสอบ IP และตรวจสอบว่ามี IP มือถือหรือไม่
จุดสำคัญ
- อย่าทิ้งโปร็กซี่เปิด. ควรใช้การรับรองตัวตนและการจำกัดตาม IP หรือไฟร์วอลล์เสมอ
- เก็บรหัสผ่าน ในโปรแกรมจัดการรหัสผ่าน เปลี่ยนเป็นประจำ
- บันทึกข้อมูล: ควรตรวจสอบ /var/log/3proxy/3proxy.log เป็นประจำ
เคล็ดลับ: หากคุณต้องการเฉพาะ SOCKS5 ให้ลบสตริง proxy -p3128 -a และเก็บ socks -p1080 ไว้ สิ่งนี้จะทำให้การโจมตีลดลง
เคล็ดลับ: สำหรับผู้ใช้หลายคนให้เพิ่มผู้ใช้เป็นส่วน users ผ่านการใช้เครื่องหมายสองจุด เช่น: users alice:CL:pass1 bob:CL:pass2.
ผลลัพธ์ที่คาดหวัง
3proxy เริ่มทำงานเป็นบริการ สามารถเข้าถึงตามพอร์ตที่กำหนด และเข้ารหัสด้วยรหัสผ่านและไฟร์วอลล์
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: บริการไม่เริ่มทำงาน สาเหตุ: ข้อผิดพลาดในกำหนดการ วิธีการแก้ไข: ตรวจสอบไวยากรณ์ ให้ลดการตั้งค่าให้เป็นขั้นต่ำ และเพิ่มตัวเลือกที่เป็นไปได้แบบทีละตัว
- ปัญหา: ลูกค้าไม่สามารถเชื่อมต่อได้ สาเหตุ: ถูกบล็อกด้วย UFW วิธีการแก้ไข: ตรวจสอบ ufw status และความถูกต้องของพอร์ตที่ได้รับอนุญาต
- ปัญหา: การพิสูจน์ตัวตนไม่ผ่าน วิธีการแก้ไข: ตรวจสอบส่วน users, ความว่างเปล่าหรือเว้นวรรค, รีสตาร์ทบริการ
✅ การตรวจสอบ: จากลูกค้าให้ระบุโปร็กซี่เซิร์ฟเวอร์ รับรองตัวตนและเปิดหน้าที่มีข้อมูล IP ต้องแสดง IP มือถือของโมเด็ม
ขั้นตอนที่ 5: ตั้งค่าการเริ่มต้นอัตโนมัติและเพิ่มความเสถียร
เป้าหมายของขั้นตอน
ให้ระบบเริ่มทำงานอัตโนมัติหลังจากการรีบูต และเพิ่มการคืนค่าเชื่อมต่อและการหมุน IP อย่างปลอดภัย
คู่มือการปฏิบัติที่ละเอียด
- ตรวจสอบการเริ่มต้นอัตโนมัติของ 3proxy. เราเปิดใช้งาน systemctl enable --now 3proxy. ตรวจสอบว่าเมื่อ sudo reboot บริการทำงาน
- เพิ่มบริการสำหรับเชื่อมต่อโมเด็มเมื่อเริ่มต้น แม้ว่า ModemManager จะเริ่ม Bearer ด้วย --simple-connect อาจมีการจัดตั้งบริการเล็กน้อย สร้างไฟล์ /usr/local/bin/cell-up.sh ด้วยเนื้อหาเชื่อมต่อผ่าน mmcli -m 0 --simple-connect="apn=internet" พร้อมการตรวจสอบสถานะ ทำให้ไฟล์สามารถดำเนินงานได้: sudo chmod +x /usr/local/bin/cell-up.sh.
- สร้างยูนิต /etc/systemd/system/cell-up.service ที่มีบรรทัด: [Unit] Description=Cellular bring-up After=ModemManager.service network-online.target Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/cell-up.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target. นำไปใช้: sudo systemctl daemon-reload && sudo systemctl enable --now cell-up.
- สคริปต์การหมุน IP. สร้าง /usr/local/bin/cell-rotate.sh. ตัวเลือก 1 สำหรับ QMI/MBIM/Quectel: ปิด, รอ, เปิด: mmcli -m 0 --disconnect; จากนั้น mmcli -m 0 --set-power-state=low, หยุด 3-5 วินาที, จากนั้น mmcli -m 0 --set-power-state=on และ --simple-connect ใหม่ หากมีการสนับสนุน AT สามารถส่ง AT+CFUN=1,1 ไปยังพอร์ต /dev/ttyUSB2 เพื่อรีเซ็ตโมเด็ม สำหรับ HiLink ให้ใช้งาน HTTP API ของโมเด็มสำหรับการตัด/เชื่อมต่อ (ถ้ามี). เพิ่มบันทึกและตั้งเวลาหมายถึง 10–30 วินาที สำหรับการลงทะเบียน
- ตรวจสอบให้แน่ใจว่าการหมุนกำลังทำงานอย่างถูกต้อง เรียกใช้ sudo /usr/local/bin/cell-rotate.sh และเปรียบเทียบ curl -4 ifconfig.me ก่อนและหลัง ทำการกำหนดงาน cron ตามที่ต้องการ แต่โปรดอย่าหมุนบ่อยเกินไป เนื่องจากอาจฝ่าฝืนข้อกำหนดของผู้ให้บริการ
- จัดทำ Watchdog โมเด็ม สร้าง /usr/local/bin/cell-watchdog.sh ที่พิงที่อยู่ที่เชื่อถือได้ทุก ๆ 60 วินาที (เช่น 1.1.1.1) และเมื่อมี 3 ความล้มเหลวติดต่อกันให้ทำการเรียกใช้ cell-rotate.sh. ตั้งยูนิต systemd ด้วยประเภท simple และ Restart=always.
- ตรวจสอบบันทึก. เปิดการหมุนบันทึก 3proxy ที่ได้กล่าวถึงไว้ล่วงหน้าโดยเป็นพารามิเตอร์ rotate 10. สำหรับบันทึกระบบให้ตรวจสอบให้แน่ใจว่า journald มีการตั้งค่าการเก็บรักษาเป็นค่าเริ่มต้น
- ปรับตั้ง UFW. เปิดเพียงพอร์ตที่จำเป็นเท่านั้น หากเข้าถึงจากอินเทอร์เน็ตให้ตั้งค่าการส่งพอร์ตบนเราเตอร์และการจำกัด IP ที่ระดับ 3proxy หรือ UFW
จุดสำคัญ
- เวลาหมุน ไม่ควรเร็วเกินไป ซึ่งอาจส่งผลต่อเสถียรภาพและอาจขัดแย้งกับนโยบายของผู้ให้บริการ
- ความปลอดภัย: ในการเข้าถึงระยะไกลควรใช้เฉพาะ IP ที่ปิดและรหัสผ่านที่เชื่อถือได้
- บันทึกและเมตริก: ควรเก็บบันทึกให้อยู่ในขอบเขตไม่ให้ไดรฟ์ microSD เต็มจนเกินไป
เคล็ดลับ: หากคุณมีโมเด็มหลายตัว ให้ตั้งชื่อให้กับอินเทอร์เฟซและอุปกรณ์ผ่าน udev rules เพื่อลดความสับสนในระหว่างการรีบูต ตัวอย่างเช่น สร้าง symlink โดยใช้หมายเลขประจำเครื่อง
เคล็ดลับ: สำหรับโมเด็ม 5G อย่าประหยัดค่าใช้จ่ายสำหรับ active USB hub และไฟฟ้า นี่คือกุญแจสู่การทำงานอย่างมีกำลังภายใต้แรงกดดัน
ผลลัพธ์ที่คาดหวัง
ระบบจะเริ่มการเชื่อมต่อมือถือและโปร็กซี่โดยอัตโนมัติเมื่อเริ่มต้น และเมื่อเกิดปัญหาจะรีเซ็ตการเชื่อมต่อและนำบริการกลับสถานะแรงงาน
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: การหมุนไม่ได้เปลี่ยน IP สาเหตุ: ผู้ให้บริการส่งที่อยู่เดิมกลับ วิธีการแก้ไข: เพิ่มเวลารอระหว่างการตัด/เชื่อมต่อเป็น 30-60 วินาที; ทำการลงทะเบียนอย่างเต็มรูปแบบ;
- ปัญหา: Watchdog รีสตาร์ทช้าเกินไป วิธีการแก้ไข: เพิ่มเกณฑ์การทำงาน (เช่น 5-7 ความล้มเหลว) และระยะห่างระหว่างการตรวจสอบ
✅ การตรวจสอบ: ทำการรีบูต mini-PC และตรวจสอบว่าใน 1-2 นาที 3proxy สามารถเข้าถึงได้, ระบบอินเทอร์เน็ตมือถือทำงานได้สำเร็จ, และสคริปต์การหมุนจริง ๆ เปลี่ยน IP
ขั้นตอนที่ 6: ทดสอบ ตรวจสอบ และบันทึก
เป้าหมายของขั้นตอน
ตรวจสอบการกำหนดค่าที่เสร็จสมบูรณ์, วัดประสิทธิภาพพื้นฐาน, และตั้งค่าการเฝ้าติดตามสถานะของโนด
คู่มือการปฏิบัติที่ละเอียด
- ตรวจสอบการเข้าถึงพอร์ต จากลูกค้าให้ทำ: เปิดเบราว์เซอร์ที่ตั้งค่าโปร็กซี่และไปยังเว็บไซต์ใด ๆ หรือใช้ยูทิลิตี้: curl -x http://user:strongpassword@IP:3128 http://example.com. สำหรับ SOCKS5: curl --socks5 user:strongpassword@IP:1080 http://example.com.
- ตรวจสอบการเปลี่ยน IP เปรียบเทียบผลลัพธ์ curl -4 ifconfig.me ก่อนและหลัง cell-rotate.sh.
- ประเมินความเร็ว ใช้ speedtest-cli (ติดตั้ง: sudo apt install -y speedtest-cli) ผ่านโปร็กซี่จากลูกค้าหรือโดยตรงบนบอร์ด โปรดทราบว่าความเร็วขึ้นอยู่กับผู้ให้บริการและสัญญาณ
- ตรวจสอบบันทึก 3proxy: tail -f /var/log/3proxy/3proxy.log. ต้องเห็นบรรทัดเกี่ยวกับการเชื่อมต่อ ผู้ใช้และการรับส่งข้อมูล
- ตรวจสอบบันทึกระบบ: journalctl -u ModemManager -e, journalctl -u 3proxy -e. ตรวจสอบว่าไม่มีข้อผิดพลาด
- เปิดใช้งานโทรมากพื้นฐาน สามารถตั้งค่ารวบรวมเมตริกระดับสัญญาณผ่าน AT-command (เช่น AT+CSQ) และบันทึกไฟล์เพื่อวิเคราะห์การเคลื่อนไหวของสัญญาณ
จุดสำคัญ
- คาดการณ์ความเป็นจริง: ช่องทางมือถือมีการเปลี่ยนแปลง หากวางแผนให้มีการสำรองข้อมูล
- การบันทึกข้อมูล สามารถช่วยในการวิเคราะห์สถานการณ์ที่ไม่คาดคิดและช่วยในการปรับแต่งการกำหนดค่า
เคล็ดลับ: หากใช้โปร็กซี่หลายตัวในบอร์ดเดียวกัน ควรวางพอร์ต ผู้ใช้งาน และระบุลงในชื่อบันทึกเพื่อไม่ให้สับสน
ผลลัพธ์ที่คาดหวัง
การเชื่อมต่อผ่านโปร็กซี่สามารถทำงานได้, IP ถูกกำหนดว่าเป็นมือถือ, การหมุนทำงานอยู่, บันทึกและบันทึกสถานการณ์
ปัญหาที่อาจเกิดขึ้นและวิธีแก้ไข
- ปัญหา: ความเร็วต่ำ สาเหตุ: สัญญาณอ่อนหรือเครือข่ายหนาแน่น วิธีการแก้ไข: เปลี่ยนตำแหน่งโมเด็ม ใช้เสาอากาศภายนอก และลองผู้ให้บริการคนอื่น
- ปัญหา: ความไม่เสถียรเมื่อมีการใช้งานภายใต้แรงกดดัน สาเหตุ: สายไฟ วิธีการแก้ไข: เปลี่ยน PSU ให้มีพลังมากขึ้น ฮับที่มีพลัง สายคุณภาพดี และเปิดใช้งานการระบายความร้อน
✅ การตรวจสอบ: ได้ IP มือถือผ่านโปร็กซี่และมั่นใจได้ว่าเว็บไซต์ที่ง่ายเปิดได้เร็ว ตรวจสอบความเร็วและเปรียบเทียบกับความคาดหวัง
การตรวจสอบผลลัพธ์
เช็คลิสต์
- การเข้าถึง SSH ไปยัง mini-PC ใช้งานได้
- ModemManager มองเห็นโมเด็ม, การเชื่อมต่อเกิดขึ้นโดยอัตโนมัติ
- 3proxy ทำงานเป็นบริการ กำลังฟังพอร์ตที่กำหนดไว้
- การเข้าถึงโปร็กซี่ถูกจำกัดด้วยรหัสผ่านและไฟร์วอลล์
- การหมุน IP ทำให้เปลี่ยนที่อยู่สาธารณะอย่างน้อยบางส่วน
- บันทึกรายละเอียดฉบับถูกบันทึก ระบบไม่ร้อนเกินไปและไม่มีการสูญเสียพลังงาน
วิธีการทดสอบ
- เปิด 2–3 เว็บไซต์เพื่อทำการตรวจสอบ IP ผ่านโปร็กซี่ เปรียบเทียบที่อยู่ก่อนและหลังการเปลี่ยนแปลง
- ทำชุดการร้องขอสั้น ๆ ผ่านโปร็กซี่และประเมินความหน่วง: curl -w "%{time_connect} %{time_starttransfer}\n" -o /dev/null -s http://example.com.
- ทำการรีบูตอุปกรณ์ให้แน่ใจว่าบริการเริ่มทำงานด้วยตัวเอง
ตัวชี้วัดความสำเร็จ
- เวลาฟื้นตัวจากการรีบูตไปสู่สภาวะที่ทำงานได้อย่างเต็มรูปแบบน้อยกว่า 2 นาที
- อัตราการหมุนที่ประสบความสำเร็จซึ่งเปลี่ยน IP ไม่ต่ำกว่า 50–70% (ขึ้นอยู่กับผู้ให้บริการ)
- ความเสถียรภายใต้ความกดดัน 1–2 Mbps โดยไม่มีตกลงมาหลายชั่วโมง
ข้อผิดพลาดทั่วไปและวิธีแก้ไข
- ปัญหา: โปร็กซี่เข้าถึงได้จากอินเทอร์เน็ตโดยไม่มีรหัสผ่าน สาเหตุ: ตั้งค่าการทำงานและ UFW ข้ามไว้ วิธีการแก้ไข: เปิดใช้งาน auth strong และ users ใน 3proxy, จำกัด การเข้าถึง UFW และตาม IP.
- ปัญหา: โมเด็มตกเป็นครั้งคราว สาเหตุ: พลังงานไม่เพียงพอหรือความร้อนเกิน วิธีการแก้ไข: ใช้ active USB hub, PSU ที่ดีกว่า, การระบายความร้อน, watchdog กับสคริปต์จัดการการรีสตาร์ท.
- ปัญหา: mmcli ไม่พบโมเด็มหลังการรีบูต สาเหตุ: ลำดับการเริ่มต้น วิธีการแก้ไข: เพิ่มการพึ่งพา After=ModemManager.service และให้หน่วงเวลาใน cell-up.service, ตรวจสอบ udev rules.
- ปัญหา: การหมุนไม่สร้าง IP ใหม่ สาเหตุ: นโยบายของผู้ให้บริการ วิธีการแก้ไข: เพิ่มเวลารอระหว่าง disconnect/connect, เปลี่ยนจุดเชื่อมต่อ (Band) หรือสถานที่
- ปัญหา: บันทึกเกินขนาด microSD สาเหตุ: การบันทึกที่ละเอียดเกิน วิธีการแก้ไข: ลดรายละเอียดเปิดการหมุนและการทำความสะอาดอัตโนมัติ เคลื่อนย้ายบันทึกไปที่ /var/log ด้วยการหมุน
- ปัญหา: ความเร็วต่ำบนโมเด็ม 5G สาเหตุ: การใช้ USB 2.0 หรือสายที่อ่อนแอ วิธีการแก้ไข: เชื่อมต่อกับ USB 3.0 ใช้สายที่หุ้มดี ฮับที่มีพลังหรืออัปเดตเฟิร์มแวร์โมเด็มหากมี
- ปัญหา: การชนพอร์ต สาเหตุ: บริการอื่นจListeningอยู่ก่อนในพอร์ตเหล่านี้ วิธีการแก้ไข: เปลี่ยนพอร์ตใน 3proxy และ UFW, ตรวจสอบ ss -tulpen.
การตั้งค่าขั้นสูง
การปรับแต่งขั้นสูง
- การกำหนดค่าหลายโมเด็ม เชื่อมต่อ 2–4 โมเด็มผ่านฮับที่มีพลัง สร้างอินสแตนซ์ 3proxy แยกต่างหากด้วยพอร์ตและการลงทะเบียนที่เป็นเอกลักษณ์สำหรับแต่ละโมเด็มเชื่อมโยงกับการเดินทางออกผ่าน ip rule และ ip route (การกำหนดเส้นทางแบบนโยบาย) หากต้องการแบ่งแปลงการรับข้อมูลอย่างชัดเจน
- API สำหรับการหมุน เริ่มบริการ HTTP เบา ๆ ผ่าน socat หรือ tiny web server ที่เรียก cell-rotate.sh ตามการร้องขอ GET เพิ่มการรับรองตัวตนพื้นฐานและการจำกัด IP.
- แนบกับอินเทอร์เฟซ ในกำหนดค่า 3proxy ใช้ตัวเลือก -e สำหรับ IP/อินเทอร์เฟซที่ออก หากคุณมีช่องทางที่ใช้งานอยู่หลายช่องและต้องการบังคับให้มีการออกผ่านโมเด็มที่ต้องการ
การปรับปรุง
- การเสถียรภาพของระบบไฟล์ เปิดใช้ zram หรือย้ายบันทึกที่มีการเข้าถึงสูงไปที่ /tmp หรือ SSD ภายนอกหากมีภาระสูง
- ลดความหน่วง ให้วางโมเด็มใกล้หน้าต่าง ใช้เสาอากาศที่มีคุณภาพดี และปิดการไม่ใช้งานซอฟต์แวร์ที่ไม่สำคัญในระบบ
- การอัปเดตเฟิร์มแวร์ หากจำเป็นให้ทำการอัปเดตโมเด็มเป็นเวอร์ชันล่าสุดผ่านซอฟต์แวร์ที่เป็นทางการของผู้ผลิต จำไว้ว่าควรทำสำรองข้อมูลอย่างสม่ำเสมอและไม่ขัดจังหวะการอัปเดต
สิ่งที่คุณทำได้เพิ่มเติม
- การรวม UI ที่จัดการ สร้างหน้า HTML ที่ง่ายพร้อมปุ่ม "เชื่อมต่อ", "ตัดการเชื่อมต่อ", "หมุน" และแสดงสถานะ
- การแบกรับลูกค้า หากมีโมเด็มหลายตัวสามารถแบ๊กซึ่งผู้ใช้ไปยังพอร์ตต่าง ๆ ของอินสแตนซ์ 3proxy เพื่อกระจายความรับผิดชอบ
- การเปรียบเทียบกับทางเลือกที่เสร็จสมบูรณ์ หากคุณต้องการความยืดหยุ่นในการใช้งานอัตโนมัติการออกใบแจ้งหนี้ API ที่ปรับแต่งง่าย ให้มองไปที่บริการเฉพาะเช่น mobileproxy.space เพื่อทำความเข้าใจในฟังก์ชันการทำงานที่คุณสามารถปรับปรุงในโซลูชันของคุณเอง เพื่อให้คุณเข้าใจการเคลื่อนที่ในอนาคต
เคล็ดลับ: เก็บบันทึกทั้งหมดใน /usr/local/bin และกำหนดหมายเลขเวอร์ชันและวันที่ไว้ สิ่งนี้จะช่วยในการสนับสนุน
เคล็ดลับ: เพิ่มรายการที่เกี่ยวข้องในคู่มือของคุณเองและเอกสารของคุณ เช่น "ดู ขั้นตอนที่ 4 สำหรับการกำหนดค่า 3proxy".
คำถามที่พบบ่อย (FAQ)
- สามารถเชื่อมต่อโมเด็มจำนวนกี่ตัวกับ Mini-PC เดียว? ขึ้นอยู่กับไฟฟ้าและฮับ — โดยทั่วไป 2-4 โดยไม่มีปัญหา ตรวจสอบให้แน่ใจว่าโมเด็มแต่ละตัวมีรอบการใช้ไฟที่เพียงพอและใช้ฮับที่มีพลัง
- สามารถใช้งานได้โดยไม่ต้องใช้ Ethernet ต้องใช้เพียง Wi-Fi? ใช่ เชื่อมต่อ Mini-PC กับ Wi-Fi และตรวจสอบว่าเราเตอร์มองเห็นอุปกรณ์ โปร็กซี่จะสามารถเข้าถึงได้ด้วย IP ของ Wi-Fi
- สามารถใช้เฉพาะ SOCKS5 ได้หรือไม่? ใช่ เพียงเก็บเฉพาะสตริง SOCKS ใน 3proxy และลบ HTTP-proxy นั้นออก สิ่งนี้จะทำให้การกำหนดค่าทำได้ง่ายขึ้น
- จำเป็นต้องใช้ IP สถิตสีขาวในพอร์ตหรือไม่? ไม่ ถ้าเชื่อมต่อเพียงเครือข่ายท้องถิ่นของคุณ หากต้องการให้เข้าถึงจากอินเทอร์เน็ตให้กำหนดการส่งพอร์ตบนเราเตอร์และจำกัดการเข้าถึง IP และรหัสผ่าน คำนึงถึงนโยบายของผู้ให้บริการ
- การหมุน IP สามารถทำบ่อยแค่ไหน? อย่างปลอดภัยไม่ควรบ่อยกว่าไม่กี่ครั้งต่อชั่วโมง การหมุนที่เกินขอบเขตสามารถลดเสถียรภาพและอาจทำให้การปฏิบัติตามนโยบายของผู้ให้บริการถูกฝ่าฝืน
- สามารถติดตั้งบน Raspberry Pi 2 เก่าได้หรือไม่? ทางเทคนิคได้ แต่ประสิทธิภาพจะถูกจำกัด แนะนำ Pi 3B+ หรือใหม่กว่า
- จะทำอย่างไรหาก 3proxy ขาดใน repo? ใช้การสร้างจากซอร์สหรือแทนที่ tinyproxy (HTTP) และ dante-server (SOCKS) ซึ่งการกำหนดการนั้นจะคล้ายกัน
- จะรู้ระดับสัญญาณได้อย่างไร? สำหรับ Quectel: ส่งคำสั่ง AT+CSQ ที่พอร์ตหลักของโมเด็ม การแปล: 15–20 ขึ้นอยู่กับระดับปานกลาง, 20+ ดี สำหรับ HiLink—ตรวจสอบสถานะในเว็ปอินเตอร์เฟซโมเด็ม
- จะป้องกันความร้อนเกินได้อย่างไร? ติดตั้งฮีทซิงค์และพัดลม ตรวจสอบอุณหภูมิ vcgencmd measure_temp บน Raspberry Pi ให้อยู่ต่ำกว่า 70–75°C ภายใต้ภาระงาน
- ใช้สคริปต์ซ้ำได้หรือไม่บนบอร์ดอื่น? ใช่ ย้ายไฟล์จาก /usr/local/bin และยูนิต systemd ควรปรับเส้นทางที่โมเด็มและ APN.
บทสรุป
คุณได้สร้างน็อดโปร็กซี่มือถือที่ทำงานอย่างสมบูรณ์บน Raspberry Pi หรือ Orange Pi: เลือกบอร์ด โมเด็ม และแหล่งพลังงาน ติดตั้งระบบผู้ให้บริการ เปิดใช้งาน ModemManager ตั้งการเชื่อมต่อ ประกันความปลอดภัยตั้งค่า 3proxy ด้วยการรับรองตัวตนและไฟร์วอลล์ ตั้งค่าอัตโนมัติหมุน IP และบันทึกพื้นฐาน ตอนนี้คุณมีประสบการณ์ที่ปฏิบัติได้จริงและใช้ได้จริงสำหรับการทดสอบการเข้าถึงข้อมูลมือถือการรวมกับระบบภายใน และวัตถุประสงค์การศึกษา ในด้านหน้าคุณสามารถปรับปรุงโซลูชัน: เพิ่มโมเด็มเพิ่มเติม ตั้งพาทวิชร интеграция ที่ง่าย API การหมุนและปรับแต่งเหตุการณ์ด้วยการคิดคำนวณในข้อมูลที่ปลอดภัยและการจัดการปัญหา เพื่อให้ได้ประโยชน์จากประสิทธิภาพที่ดีที่สุดและฟังก์ชันที่พร้อมใช้งาน.
⚠️ คำเตือน: ปฏิบัติตามกฎหมายและสัญญากับผู้ให้บริการของคุณเสมอ อย่าใช้โปร็กซี่ในกิจกรรมผิดกฎหมายหรือพยายามหลีกเลี่ยงข้อจำกัด เก็บอุปกรณ์ให้อยู่ในสภาพดีและตรวจสอบพลังงานและอุณหภูมิ.
เคล็ดลับ: บันทึกสำรองหน่วย microSD หลังการตั้งค่าอย่างเต็มที่. นี้จะช่วยให้คุณฟื้นฟูได้อย่างรวดเร็วหากเกิดความล้มเหลวในอุปกรณ์หรือการเปลี่ยนแปลงที่ไม่ได้ทดลอง