บทนำ

ในคู่มือทีละขั้นตอนนี้คุณจะสามารถสร้างฟาร์มพรอกซีที่ทำงานได้จริงบนเราเตอร์ที่ใช้ OpenWRT และ USB โมเด็ม หลังจากทำเสร็จแล้วคุณจะมี HTTP(S) พรอกซีหนึ่งหรือหลายตัวที่ใช้มือถือช่องทางจากโมเด็มแต่ละตัว คุณจะได้เรียนรู้วิธีการเลือกอุปกรณ์ ที่จะติดตั้ง OpenWRT และตั้งค่าการเชื่อมต่อกับเครือข่ายมือถือในโหมด QMI หรือ MBIM รวมถึงการเปิดใช้งาน raw-IP ตามที่จำเป็น ติดตั้ง 3proxy ผูกพรอกซีแต่ละตัวเข้ากับอินเทอร์เฟซของตัวเองและตรวจสอบผลลัพธ์ตามมาตรฐาน นอกจากนี้ยังจะได้เรียนรู้วิธีขยายการกำหนดค่า อัตโนมัติการเริ่มใหม่ของโมเด็มและติดตามความเสถียร

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

ก่อนเริ่มการทำงาน ควรทราบสิ่งพื้นฐาน: วิธีเข้าถึงเว็บอินเตอร์เฟซของเราเตอร์ (LuCI) วิธีเปิด SSH-client และป้อนคำสั่ง วิธีเปลี่ยนเฟิร์มแวร์ และวิธีอ่านบันทึกระบบ เราจะอธิบายคำสั่งที่สำคัญและชี้แจงว่าสิ่งใดที่ต้องคลิกในอินเทอร์เฟซ ทั้งหมดนี้จะใช้เวลาประมาณ 3–6 ชั่วโมง: อาจนานกว่านั้นถ้าคุณเป็นครั้งแรกที่แฟลชอุปกรณ์และสร้างฟาร์มที่มีหลายโมเด็ม หรือใช้เวลาน้อยกว่าหากคุณมี OpenWRT และโมเด็มหนึ่งเครื่องอยู่แล้ว

คำแนะนำ: หากคุณต้องการตรวจสอบแนวคิดอย่างรวดเร็ว เริ่มจากโมเด็มหนึ่งเครื่องและพอร์ตพรอกซีหนึ่งพอร์ต เมื่อทุกอย่างทำงานได้แล้วให้ขยายไปที่ 2–8 โมเด็ม

⚠️ ข้อควรระวัง: ใช้พรอกซีภายในกรอบของกฎหมายประเทศของคุณและเงื่อนไขของผู้ให้บริการเครือข่าย คู่มือนี้ไม่ได้รวมถึงหรือส่งเสริมวิธีการที่จะหลีกเลี่ยงการบล็อก การปฏิบัติที่ไม่ถูกกฎหมาย หรือการโจมตีเข้าสู่วงจรของบุคคลที่สาม

✅ การตรวจสอบ: เมื่อสิ้นสุดคู่มือนี้ คุณจะมีรายชื่อพรอกซีที่พร้อมใช้งานในรูปแบบ: โฮสต์:พอร์ต พร้อมชื่อผู้ใช้และรหัสผ่านที่ตรวจสอบผ่านเบราว์เซอร์หรือ curl แต่ละพรอกซีจะเชื่อมต่อกับอินเทอร์เน็ตผ่านช่องทางมือถือของตัวเองและจะมีที่อยู่ IP สาธารณะแยกจากผู้ให้บริการ

การเตรียมการเบื้องต้น

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

เครื่องมือและการเข้าถึงที่จำเป็น

  • คอมพิวเตอร์หรือแล็ปท็อปพร้อมพอร์ต Ethernet หรือ USB-Ethernet-อะแดปเตอร์
  • การเข้าถึงเราเตอร์ผ่านสาย Ethernet (ดีที่สุดคือโดยตรงที่ LAN-port)
  • SSH-client เพื่อเชื่อมต่อกับ OpenWRT ที่อยู่ 192.168.1.1 (เช่น terminal ที่มีอยู่ใน Linux หรือ Windows Terminal) ในเว็บอินเตอร์เฟซจะใช้เบราว์เซอร์
  • สิทธิ์ผู้ดูแลระบบบนเราเตอร์ (root ใน OpenWRT)

ข้อกำหนดทางระบบและความเข้ากันได้

  • เราเตอร์ที่รองรับ OpenWRT และ USB 2.0 หรือ 3.0 สำหรับเชื่อมต่อโมเด็ม สำหรับ 2–8 โมเด็มให้ใช้ USB hub ที่มีพลังงานภายนอก
  • พื้นที่แฟลชในเราเตอร์อย่างน้อย 16 MB และ RAM ตั้งแต่ 128 MB (สำหรับโมเด็มหลายตัวและ 3proxy — ควรเป็น 256–512 MB)
  • SIM-card หนึ่งหรือหลายใบที่มี тарифข้อมูลที่ใช้งานอยู่ สอบถาม APN กับผู้ให้บริการ
  • USB โมเด็มที่รองรับ QMI/MBIM/NCM หรือโหมด HiLink ตัวเลือกที่นิยม ได้แก่ Quectel EC25/EP06/EM12, Huawei E3372 (Stick และ HiLink), ZTE, Sierra Wireless สำหรับฟาร์มที่เสถียรควรเป็นโมเด็ม QMI/MBIM

สิ่งที่ต้องดาวน์โหลดและติดตั้งล่วงหน้า

  • ภาพเฟิร์มแวร์ OpenWRT สำหรับโมเดลเราเตอร์ของคุณ (ส่วน Firmware Download บนเว็บไซต์ทางการของ OpenWRT) เลือกการสร้าง factory สำหรับการอัปโหลดจากเฟิร์มแวร์เดิมและ sysupgrade สำหรับการอัปเดตจาก OpenWRT
  • รายชื่อแพ็คเกจ: luci, luci-proto-qmi, luci-proto-mbim, luci-proto-ncm, uqmi, umbim, comgt-ncm, kmod-usb-net, kmod-usb-net-qmi-wwan, kmod-usb-net-cdc-mbim, kmod-usb-net-cdc-ncm, kmod-usb-serial-option, usb-modeswitch, 3proxy เราจะแสดงวิธีการติดตั้งผ่าน opkg
  • ข้อความแก้ไขสำหรับการเปลี่ยนแปลง config เช่น vi ที่ฝังอยู่ใน OpenWRT หรือ editor ท้องถิ่นโดยการคัดลอกผ่าน SSH

การสำรองข้อมูลและแผนการย้อนกลับ

  1. เชื่อมต่อคอมพิวเตอร์กับเราเตอร์ผ่านสาย Ethernet
  2. เปิดเบราว์เซอร์และไปที่ 192.168.1.1 หาก OpenWRT ได้ถูกติดตั้งแล้ว ให้ใส่รหัสผ่านและไปที่ System → Backup/Flash Firmware
  3. คลิก Generate archive เพื่อดาวน์โหลดสำรองข้อมูลจากการกำหนดค่าปัจจุบัน
  4. บันทึก archive บนคอมพิวเตอร์ด้วยชื่อที่เข้าใจได้และวันที่ ซึ่งจะช่วยให้กลับไปสู่สภาพการทำงานได้อย่างรวดเร็ว

⚠️ ข้อควรระวัง: ก่อนการแฟลช ให้ตรวจสอบว่าคุณมีสิทธิ์ในการเข้าถึงการกู้คืนของเราเตอร์ (เช่น โหมดการกู้คืน หรือ TFTP) ซึ่งจะช่วยรักษาอุปกรณ์เมื่อการแฟลชไม่สำเร็จ

✅ การตรวจสอบ: ตรวจสอบให้แน่ใจว่าไฟล์สำรองดาวน์โหลดและเปิดเป็น tar-archive ซึ่งภายในควรมองเห็นการตั้งค่าต่างๆ ตรวจสอบว่าคุณรู้วิธีเข้าสู่ Recovery ของเราเตอร์ตามคู่มือของผู้ผลิต

แนวคิดพื้นฐาน

คำศัพท์หลักในภาษาง่าย

  • OpenWRT — เฟิร์มแวร์เปิดสำหรับเราเตอร์ที่ให้การควบคุมเต็มรูปแบบเกี่ยวกับเครือข่าย, แพ็กเกจ, และอินเทอร์เฟซ
  • โมเด็มมือถือ — อุปกรณ์ USB ที่เชื่อมต่อเราเตอร์กับเครือข่ายมือถือ (3G/4G/5G) และให้ IP-address
  • QMI/MBIM/NCM — โปรโตคอลที่โมเด็มใช้สื่อสารกับเราเตอร์ QMI และ MBIM ปกติจะเสถียรและเร็วกว่าในการใช้งาน LTE, NCM มักใช้กับ Huawei/ZTE บางรุ่น
  • raw-IP — โหมดที่การส่งข้อมูลจะถูกส่งโดยไม่มี Ethernet-header สำหรับโมเด็ม QMI หลายๆ ตัวคือสิ่งจำเป็น; การเปิดใช้งานจะช่วยเพิ่มความเข้ากันได้
  • HiLink — โหมดบางรุ่นของโมเด็มที่โมเด็มตนเองทำ NAT และให้ที่อยู่ IP ภายในแก่เราเตอร์เหมือนการ์ดเน็ตเวิร์กปกติ เริ่มต้นได้ง่าย แต่ความยืดหยุ่นน้อยลง
  • พรอกซี — โปรแกรมที่รับคำขอบนเราเตอร์และส่งไปยังอินเทอร์เน็ต เราจะตั้งค่า HTTP(S) พรอกซีที่มีการรับรองความถูกต้อง

มันทำงานอย่างไร

เราเตอร์ที่ใช้ OpenWRT จะเห็นโมเด็ม USB หนึ่งหรือหลายตัวเป็นอินเทอร์เฟซเครือข่ายแยกต่างหาก สำหรับแต่ละอินเทอร์เฟซนั่นจะมาที่อยู่ IP มือถือจากผู้ให้บริการ เซิร์ฟเวอร์พรอกซีจะทำงานบนเราเตอร์และตั้งค่าให้การถ่ายโอนข้อมูลออกจากพอร์ตหนึ่งๆ ผ่านโมเด็มที่เกี่ยวข้อง ผลลัพธ์คือคุณจะมีที่อยู่ในรูปแบบโฮสต์:พอร์ต ซึ่งแต่ละพอร์ตจะตรงกับ IP มือถือของตนเอง

สิ่งที่ต้องเข้าใจก่อนเริ่ม

  • โมเด็มแต่ละตัวจะมีอินเทอร์เฟซของตนเอง (เช่น wwan0, wwan1 เป็นต้น) ชื่อและหมายเลขของพวกมันอาจแตกต่างกันขึ้นอยู่กับลำดับการเชื่อมต่อ
  • สำหรับโมเด็ม QMI/MBIM มักต้องการให้ตั้งค่า raw-IP; หากไม่มี ก็สามารถเชื่อมต่อได้ แต่ไม่มีการถ่ายโอนข้อมูล
  • ในโหมด HiLink โมเด็มจะทำ NAT ด้วยตัวเอง มันจะง่ายกว่า แต่จะยากในการเชื่อมต่อพอร์ตพรอกซีเข้ากับ SIM ตัวเฉพาะเมื่อมีโมเด็มหลายตัว
  • ต้องตั้งค่า firewall-zone และ routing table ให้ถูกต้องเพื่อแบ่งแยกข้อมูลของแต่ละพรอกซี

คำแนะนำ: หากคุณวางแผนที่จะใช้มากกว่า 3-4 โมเด็ม ควรเตรียม USB hub ที่มีพลังงานภายนอก 5 วัตต์ 3–5 แอมป์ล่วงหน้า สิ่งนี้จะช่วยแก้ปัญหา 90% เกี่ยวกับความเสถียรและการ overload ทางพลังงาน

ขั้นตอน 1: ทำไมใช้ OpenWRT สำหรับพรอกซีมือถือ

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

  1. กำหนดภารกิจของคุณ ตัวอย่าง: ต้องการพรอกซี HTTP(S) มือถือที่เป็นอิสระ 2–6 ตัวสำหรับการทดสอบ การวิเคราะห์ การรวมเข้ากับบริการของคุณ
  2. เปรียบเทียบความสามารถของ OpenWRT: การroutingที่ยืดหยุ่น การรองรับ QMI/MBIM firewall แพ็คเกจ สคริปต์ cron และการจัดการผู้ดูแลระบบที่ง่ายดายผ่าน LuCI และ SSH
  3. ประเมินข้อดีเมื่อเปรียบเทียบกับการสร้าง PC: การใช้พลังงานน้อยลง ความกะทัดรัด ความน่าเชื่อถือ การเริ่มต้นอัตโนมัติ และต้นทุนในการขยายตัวที่ต่ำ
  4. เข้าใจข้อจำกัด: CPU ที่อ่อนแอกว่า x86; RAM และแฟลชน้อยลง; ต้องมีการใส่ใจในการจัดการ logs และการตรวจสอบ

จุดสำคัญ: OpenWRT ทำงานได้อย่างเสถียรเป็นระยะเวลาหลายเดือนโดยไม่ต้องรีบูตเมื่อได้ถูกตั้งค่าอย่างถูกต้อง มันยังง่ายต่อการทำซ้ำและอัปเดต โมเด็มมือถือหลายตัวจะถูกทดสอบกับ OpenWRT

✅ การตรวจสอบ: หากเป้าหมายของคุณคือการมี HTTP(S) พรอกซีมือถือที่เสถียรพร้อมการควบคุม Routing แล้ว OpenWRT ก็เหมาะสม หากคุณต้องการการทำงานที่ซับซ้อน L7 หรือการวิเคราะห์ DPI แบบเรียลไทม์ ให้พิจารณา CPU ของเราเตอร์หรือพิจารณาที่จะใช้ x86

ขั้นตอน 2: สิ่งที่ต้องการ (เราเตอร์ที่เข้ากันได้ โมเด็ม)

วัตถุประสงค์ของขั้นตอน: เพื่อกำหนดและเตรียมเราเตอร์ที่เข้ากันได้ USB โมเด็ม ฮับ SIM-cards และพลังงานเพื่อสร้างฟาร์มที่ไม่มีจุดบอด

การเลือกเราเตอร์

  1. ตรวจสอบว่าเราเตอร์ของคุณรองรับ OpenWRT ในเวอร์ชันล่าสุดหรือไม่ (สาขาที่เสถียร 23.05.x หรือใหม่กว่า) ข้อแนะนำ: โมเดลที่ใช้ชิพ Mediatek หรือ Qualcomm ที่มี RAM 128–256 MB และพอร์ต USB
  2. หากคุณวางแผนที่จะใช้โมเด็ม 4+ เครื่อง ให้มองหาผลิตภัณฑ์ที่มี USB 3.0 และ Gigabit Ethernet ความสามารถของ CPU มีความสำคัญสำหรับ 3proxy และ NAT
  3. ให้แน่ใจว่าเราเตอร์มีวิธีการกู้คืนที่เข้าถึงได้ (Recovery, TFTP) สิ่งนี้สำคัญต่อการแฟลชที่ปลอดภัย

การเลือกโมเด็ม

  1. สำหรับ LTE โมเด็มที่มี QMI/MBIM เป็นที่ชื่นชอบ: Quectel EC25/EP06/EM12, Sierra Wireless, และบางรุ่นของ ZTE
  2. Huawei E3372 มักมีในแบบ Stick และ HiLink สำหรับการควบคุม Routing Stick จะเหมาะสมกว่า แต่อาจจะใช้งานง่ายกว่าใน HiLink
  3. สอบถามผู้ให้บริการเกี่ยวกับการสนับสนุนย่าน LTE/NR ที่จำเป็น สำหรับความเสถียรแนะนำให้มีเสาอากาศและระดับสัญญาณที่ดี

SIM-cards และ APN

  1. เปิดใช้งาน SIM-cards ล่วงหน้าและปิดใช้งาน PIN ในการตั้งค่าครั้งแรกเพื่อลดการบล็อกการเชื่อมต่อ
  2. สอบถาม APN กับผู้ให้บริการ: ตัวอย่าง apn.example หากต้องการชื่อผู้ใช้และรหัสผ่าน APN ให้เตรียมทั้งสองไว้

พลังงานและฮับ

  1. ใช้ USB hub ที่มีพลังงานภายนอกสำหรับโมเด็ม 2+ ตัว
  2. ตรวจสอบสายเคเบิล: หาสาย USB ที่มีคุณภาพดีซึ่งจะทำให้ลดการสูญเสียและการรบกวน

คำแนะนำ: ติดป้ายแต่ละโมเด็มและพอร์ตที่เกี่ยวข้องในฮับ เพื่อให้คุณเชื่อมต่ออินเทอร์เฟซ wwan0, wwan1 เข้ากับ SIM ที่แท้จริงได้เร็วขึ้น

✅ การตรวจสอบ: คุณต้องมีเราเตอร์ที่มี USB, โมเด็มที่เข้ากันได้, ฮับที่ดีพลังงาน, SIM-cards ที่มี APN ที่ทราบและพลังงานที่เสถียร ทุกอย่างพร้อมสำหรับการแฟลชและการตั้งค่า

ขั้นตอน 3: การติดตั้ง OpenWRT

วัตถุประสงค์ของขั้นตอน: ติดตั้งหรืออัปเดต OpenWRT บนเราเตอร์และให้การเข้าถึงเว็บอินเตอร์เฟซ LuCI และ SSH

การแฟลชจาก OS เริ่มต้น

  1. เชื่อมต่อ PC เข้ากับ LAN-port ของเราเตอร์ผ่านสาย
  2. เปิดเบราว์เซอร์ไปที่แอดมินของเฟิร์มแวร์เริ่มต้นของเราเตอร์
  3. หาส่วนการอัปเดตเฟิร์มแวร์ เลือกภาพ factory ของ OpenWRT สำหรับโมเดลของคุณ
  4. เริ่มกระบวนการแฟลช อย่าแยกการเชื่อมต่อและรอการรีบูต

การเข้าสู่ OpenWRT ครั้งแรก

  1. เปิด 192.168.1.1 ในเบราว์เซอร์ ตั้งรหัสผ่านสำหรับ root เมื่อเข้าสู่ LuCI ครั้งแรก
  2. ไปที่ System → Backup/Flash Firmware และตรวจสอบเวอร์ชัน OpenWRT และส่วนที่สามารถเข้าถึงได้
  3. เชื่อมต่อผ่าน SSH: ป้อนคำสั่งในเทอร์มินัล ssh root@192.168.1.1 ยืนยันกุญแจเซิร์ฟเวอร์และป้อนรหัสผ่าน

การอัปเดตแพ็คเกจ

  1. ใช้คำสั่ง: opkg update
  2. ติดตั้ง LuCI และโปรโตคอลที่จำเป็น (ถ้าหากไม่มี): opkg install luci luci-proto-qmi luci-proto-mbim luci-proto-ncm
  3. ติดตั้งไดรเวอร์และเครื่องมือ: opkg install kmod-usb-net kmod-usb-net-qmi-wwan kmod-usb-net-cdc-mbim kmod-usb-net-cdc-ncm kmod-usb-serial-option usb-modeswitch uqmi umbim comgt-ncm

⚠️ ข้อควรระวัง: หลังติดตั้งเทียบเคียงโมเด็ม ให้รีบูตเราเตอร์ด้วยคำสั่ง reboot ซึ่งจะรับประกันให้ USB ในการเปิดใช้งานและการกำหนดค่าเริ่มทำงานได้อย่างถูกต้อง

✅ การตรวจสอบ: ใน LuCI คุณสามารถเห็น System → Software ที่มีการติดตั้งแพ็คเกจ ใน SSH คำสั่ง dmesg จะแสดง USB-subsystem ที่พร้อมใช้งาน เวอร์ชัน OpenWRT ที่ถูกต้องและการเข้าถึง 192.168.1.1 มีเสถียรภาพ

ขั้นตอน 4: การตั้งค่าโมเด็มและการเชื่อมต่อเครือข่าย

วัตถุประสงค์ของขั้นตอน: เชื่อมต่อ USB โมเด็ม ตรวจจับมันในระบบอย่างถูกต้อง สร้างอินเทอร์เฟซสำหรับการเชื่อมต่ออินเทอร์เน็ตและตรวจสอบว่าข้อมูลเดินผ่าน

การเชื่อมต่อโมเด็มตัวแรก

  1. ใส่ SIM-kids เข้าไปในโมเด็ม สำหรับการตั้งค่าครั้งแรกให้ใช้ SIM ที่ไม่มี PIN
  2. เชื่อมต่อโมเด็มเข้ากับพอร์ต USB ของเราเตอร์หรือกับ USB-hub ที่เปิดให้พอร์ต USB เชื่อมต่อเราเตอร์
  3. รอประมาณ 10–30 วินาที เรียกใช้คำสั่งใน SSH: dmesg | tail — คุณควรจะเห็นบรรทัดเกี่ยวกับอุปกรณ์ USB ใหม่และเครือข่ายอินเทอร์เฟซ (เช่น wwan0 หรือ cdc-wdm0)

การสร้างอินเทอร์เฟซ QMI/MBIM/NCM ใน LuCI

  1. เปิด LuCI และไปที่ Network → Interfaces → Add new interface
  2. ป้อนชื่อเช่น LTE1
  3. ในช่อง Protocol เลือก QMI Cellular (หรือ MBIM Cellular, หรือ NCM ขึ้นอยู่กับโมเด็ม)
  4. กด Submit ระบุอุปกรณ์: สำหรับ QMI จะเป็น /dev/cdc-wdm0 สำหรับ MBIM — cdc-wdm0 เช่นเดียวกัน สำหรับ NCM — จะเป็นอะแดปเตอร์เครือข่ายแบบ wwan0 หรือ usb0
  5. ป้อน APN เช่น apn.example หากต้องการผู้ใช้/รหัสผ่าน APN ให้ป้อนในช่อง username/password
  6. ปิด PIN ที่จัดให้ในระหว่างการเริ่มต้นครั้งแรก หาก PIN เป็นสิ่งจำเป็นให้กรอกในช่องที่เกี่ยวข้อง
  7. บันทึกและใช้งานการตั้งค่า (Save & Apply)

การตรวจสอบการเชื่อมต่อ

  1. เปิด Status → Overview ค้นหาอินเทอร์เฟซใหม่ของคุณ LTE1 และสถานะ ควรได้รับ IP-address จากผู้ให้บริการ
  2. เรียกใช้ใน SSH: uqmi -d /dev/cdc-wdm0 --get-data-status สำหรับ QMI หรือ mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration สำหรับ MBIM ควรแสดงว่าเชื่อมต่อและ IP
  3. ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต: opkg update — หากเสร็จสิ้นด้วยความสำเร็จ การเชื่อมต่อคือเสถียร

คำแนะนำ: หาก IP ไม่ถูกมอบหมาย ลองรีสตาร์ทอินเทอร์เฟซที่ปุ่ม Restart ใน Network → Interfaces ข้างๆ LTE1 จากนั้นตรวจสอบ System → System Log สำหรับข้อความเกี่ยวกับข้อผิดพลาดของ APN หรือการลงทะเบียนในเครือข่าย

✅ การตรวจสอบ: อินเทอร์เฟซ LTE1 มี IP-address, ping 8.8.8.8 หรือคำสั่ง opkg ทำงานได้ แสดงว่าโมเด็มและเครือข่ายถูกตั้งค่าอย่างถูกต้อง

ขั้นตอน 5: โหมด raw-IP หรือ Bridge

วัตถุประสงค์ของขั้นตอน: เปิดใช้งาน raw-IP สำหรับ QMI หรือ NCM โมเด็มบางตัว หรือเลือกโหมด Bridge/HiLink ที่ง่ายกว่าแต่สามารถเข้าใจถึงการแลกเปลี่ยนข้อดีข้อเสีย

เมื่อไหร่ที่ต้องการ raw-IP

  • โมเด็ม QMI หลายตัวจะส่งผ่านข้อมูลได้อย่างถูกต้องเฉพาะเมื่ออยู่ในโหมด raw-IP มิฉะนั้นจะสามารถเชื่อมต่อได้ แต่ข้อมูลจะไม่ถูกส่ง
  • ใน OpenWRT การตั้งค่า raw-IP สำหรับ QMI จะระบุในการตั้งค่าอินเทอร์เฟซหรืออุปกรณ์

วิธีเปิดใช้งาน raw-IP

  1. ใน LuCI ให้เปิด Network → Interfaces → LTE1 → Edit → Advanced
  2. ทำเครื่องหมายหรือกำหนดค่าพารามิเตอร์ raw IP mode (ถ้ามี) ในเวอร์ชัน LuCI ที่ต่างกันอาจเปลี่ยนการจัดรูปแบบ
  3. บันทึกการตั้งค่าและใช้งาน รีสตาร์ทอินเทอร์เฟซ LTE1 หากพารามิเตอร์ไม่สามารถใช้งานได้ ให้ใช้ UCI: uci set network.LTE1.raw_ip='1'; uci commit network; /etc/init.d/network restart

โหมด Bridge (HiLink)

  • หากโมเด็ม HiLink มันทำการเชื่อมต่อเองและให้ช่วง IP ผ่าน DHCP บนอุปกรณ์ที่เหมือน eth1 หรือ usb0
  • สร้างอินเทอร์เฟซแบบ DHCP Client แทนที่จะเป็น QMI/MBIM ระบุอุปกรณ์ที่เกี่ยวข้องและแอปพลิเคชั่นการกำหนดค่า

จุดสำคัญ: ใน HiLink จะเริ่มต้นง่ายกว่า แต่ยากที่จะมีการเชื่อมโยงพอร์ตพรอกซีไปยังโมเด็มที่แน่นอนเมื่อใช้หลายอุปกรณ์ QMI/MBIM จะให้การควบคุม Routing และการทำงานที่ดีกว่า

คำแนะนำ: สำหรับฟาร์มที่มีโมเด็ม 3+ ตัว QMI/MBIM กับ raw-IP จึงเป็นทางเลือกที่สำคัญ ในการเริ่มใช้งานโมเด็มตัวเดียวกลับใช้ HiLink ได้ จากนั้นค่อยเปลี่ยนไปใช้ QMI/MBIM

✅ การตรวจสอบ: เมื่อเปิดใช้งาน raw-IP การ ping และการดาวน์โหลดรายชื่อแพ็คเกจทำงานได้อย่างราบรื่น ระบบ Log ไม่มีข้อผิดพลาดเกี่ยวกับการเรียงรูปแบบหรือการหมดเวลา

ขั้นตอน 6: การเชื่อมต่อซอฟต์แวร์พรอกซี

วัตถุประสงค์ของขั้นตอน: ติดตั้งและตั้งค่า 3proxy ให้แต่ละพอร์ตพรอกซีใช้อินเทอร์เฟซมือถือที่ต้องการ ตั้งค่าการอนุญาตและความปลอดภัยพื้นฐาน

การติดตั้ง 3proxy

  1. ผ่าน SSH ให้ทำการอัปเดตดัชนีแพ็คเกจ: opkg update
  2. ติดตั้ง 3proxy: opkg install 3proxy
  3. ตรวจสอบให้แน่ใจว่าบันทึกไบนารีถูกติดตั้ง: which 3proxy ควรส่งคืนเส้นทาง เช่น /usr/bin/3proxy

การกำหนดค่าพื้นฐานสำหรับพรอกซีหนึ่งตัว

  1. สร้างไฟล์ /etc/3proxy/3proxy.cfg หากไฟล์ไม่มีอยู่ 3proxy จะสร้างขึ้นเมื่อเริ่มใช้งานครั้งแรกแนะนำให้สร้างด้วยตนเอง
  2. เพิ่มข้อมูลผู้ใช้: users user1:CL:pass1 นี่คือบรรทัดสำหรับการอนุญาตเบื้องต้นของ HTTP
  3. จำกัดการเข้าถึง: allow user1 กฎนี้จะอนุญาตให้ผู้อื่นที่เป็นผู้ใช้ user1
  4. กำหนดที่อยู่ภายในในการฟัง: internal 0.0.0.0 เพื่อให้รับการเชื่อมต่อจากทุกอินเทอร์เฟซใน LAN
  5. กำหนดอินเทอร์เฟซภายนอก: external wwan0 เปลี่ยนเป็นอินเทอร์เฟซของโมเด็มของคุณ เช่น wwan0 สำหรับ LTE1
  6. เริ่มการทำงาน HTTP-proxy ที่พอร์ตเช่น 3128: proxy -p3128 -a คำสั่ง -a เปิดการรองรับการอนุญาต
  7. บันทึกไฟล์และเริ่มบริการ: /etc/init.d/3proxy enable; /etc/init.d/3proxy start

การตั้งค่าพรอกซีหลายตัวสำหรับโมเด็มหลายตัว

  1. เชื่อมต่อโมเด็มที่สองและปรับแต่งอินเทอร์เฟซที่สอง (เช่น LTE2 ด้วยอุปกรณ์ /dev/cdc-wdm1 และชื่อ wwan1)
  2. เพิ่มบัญชีสำหรับพรอกซีที่สอง: users user1:CL:pass1, user2:CL:pass2
  3. สร้างบล็อกแยกสำหรับพอร์ตที่สอง: allow user2; external wwan1; proxy -p3129 -a ดังนั้นพอร์ต 3129 จะออกผ่าน wwan1
  4. รีสตาร์ท 3proxy: /etc/init.d/3proxy restart

Firewall และการเชื่อมต่อ Routing

  1. ตรวจสอบว่าอินเทอร์เฟซ LTE1, LTE2 อยู่ในโซน wan หรือในโซนแยกที่มีการทำ NAT ที่เกี่ยวข้อง (NAT) ใน LuCI: Network → Firewall → Zones
  2. หากคุณใช้ท่อภายนอกของ 3proxy การตั้งค่าการ Routing ที่เพิ่มไม่จำเป็น แต่อาจแนะนำเพื่อความแน่ใจ ให้ใช้ policy-based routing บนพื้นฐานของที่อยู่ออก 3proxy หรือ fwmark
  3. สำหรับ OpenWRT แพ็คเกจ mwan3 ที่สะดวกในการบริหารจัดการหลายอินเทอร์เฟส wan อย่างไรก็ตาม สำหรับฟาร์มที่ต้องการการเชื่อมต่อพอร์ตเครือข่ายเข้ากับอินเทอร์เฟซอย่างเข้มงวด แนะนำให้ใช้ external ใน 3proxy และกฎ ip rule ที่คงที่

คำแนะนำ: เพื่อความง่าย เริ่มต้นด้วยกลไก external ใน 3proxy หากในอนาคตคุณต้องการRouting TCP/UDP อย่างละเอียดยิ่งขึ้น ให้เพิ่มกฎ mangle ของ iptables และกฎ ip rule

✅ การตรวจสอบ: เชื่อมต่อกับพรอกซีที่พอร์ต 3128 โดยใช้ชื่อผู้ใช้ user1 และรหัสผ่าน pass1 เรียกใช้ curl -x http://user1:pass1@ROUTER_LAN_IP:3128 https://ifconfig.me และตรวจสอบว่าที่อยู่ IP สาธารณะเข้ากับอินเทอร์เฟซ LTE1 จากนั้นตรวจสอบพอร์ต 3129 และเปรียบเทียบ IP สำหรับ LTE2

การตรวจสอบผลลัพธ์

วัตถุประสงค์ของขั้นตอน: ตรวจสอบว่าองค์ประกอบทั้งหมดทำงานได้จริง แต่ละพรอกซีออกไปยังอินเทอร์เน็ตผ่านโมเด็มของตนเอง และประสิทธิภาพและความเสถียรตรงตามความคาดหวัง

รายการตรวจสอบ

  • สามารถเข้าถึง LuCI และ SSH ที่ 192.168.1.1 ได้
  • อินเทอร์เฟซ LTE1, LTE2 และอื่น ๆ ถูกเปิดขึ้นและได้รับ IP จากผู้ให้บริการ
  • 3proxy กำลังทำงานและฟังพอร์ต (เช่น 3128, 3129)
  • การอนุญาตเข้าสู่พรอกซีได้รับการร้องขอและผ่าน
  • IP สาธารณะในแต่ละพอร์ตจะแตกต่างกัน (สำหรับ SIM ที่แตกต่าง) หรือตรงกับโมเด็มที่ต้องการ

วิธีทดสอบ

  1. ตรวจสอบพอร์ต: จาก PC ให้เรียกใช้ telnet ROUTER_LAN_IP 3128 การเชื่อมต่อ TCP ควรเกิดขึ้น
  2. ตรวจสอบ IP สาธารณะ: curl -x http://user1:pass1@ROUTER_LAN_IP:3128 https://ifconfig.me และในลักษณะเดียวกันสำหรับ 3129 กับ user2
  3. ตรวจสอบความเร็ว: ใช้ curl ดาวน์โหลดไฟล์ทดสอบและประเมินแบนด์วิธ หรือใช้งาน speedtest-cli ผ่านพรอกซี (ถ้าเป็นไปได้)
  4. ตรวจสอบการคงสภา: เปิดการเชื่อมต่อยาวผ่านพรอกซีแล้วตรวจสอบว่าการเชื่อมต่อนั้นไม่ถูกตัดในระยะเวลาหลายชั่วโมง

คำแนะนำ: ถ้าไม่มีการเข้าถึงจากภายนอก ควรจำกัดการเข้าถึงพรอกซีเฉพาะภายใน เครือข่ายใน 3proxy สามารถให้ฟังภายใน 192.168.1.1 และเปิดเฉพาะพอร์ตที่ต้องการใน LAN

✅ การตรวจสอบ: IP สาธารณะถูกระบุและแตกต่างกันระหว่างพอร์ต คำสั่ง opkg และ ping เสถียร Logs ของ 3proxy ไม่มีข้อผิดพลาดเกี่ยวกับการเชื่อมต่ออย่างต่อเนื่อง

ข้อผิดพลาดทั่วไปและการแก้ไข

  1. ปัญหา: อินเทอร์เฟซ LTE1 เปิดขึ้น แต่ไม่มีอินเทอร์เน็ต สาเหตุ: raw-IP ไม่ถูกเปิดใช้งานสำหรับ QMI หรือ APN ที่ไม่ถูกต้อง การแก้ไข: เปิดใช้งาน raw-IP ในการตั้งค่าอินเทอร์เฟซ ตรวจสอบ APN และรีสตาร์ทเครือข่าย
  2. ปัญหา: 3proxy ทำงานอยู่ แต่การส่งข้อมูลผ่านโมเด็มที่ไม่ถูกต้อง สาเหตุ: ไม่มีการระบุ external สำหรับอินเทอร์เฟซที่ต้องการหรือมีการปะทะกันกับกฎการเชื่อมต่อ การแก้ไข: ระบุ external wwanX รีสตาร์ท 3proxy ถ้าต้องการให้เพิ่มกฎ ip ตาม fwmark
  3. ปัญหา: เมื่อใช้โมเด็มสองตัวหรือมากกว่านั้น บางครั้งการส่งข้อมูลหาย สาเหตุ: การขาดพลังงานจาก USB-hub, โมเด็มได้รับความร้อนเกินไป หรือสัญญาณอ่อน การแก้ไข: ใช้ฮับที่มีพลังงานที่ดี สายที่มีคุณภาพสูง แนะนำให้ใช้เสาอากาศ ลดจำนวนโมเด็มลงสำหรับแต่ละฮับ
  4. ปัญหา: ไม่สามารถเข้าสู่ LuCI หลังการแฟลช สาเหตุ: เบราว์เซอร์เก็บข้อมูลเก่าไว้หรือเราเตอร์ไม่ตั้งค่าที่อยู่ การแก้ไข: เปิดในโหมดไม่ระบุตัวตน ตรวจสอบการตั้งค่าเครือข่าย PC ของคุณ หากจำเป็นให้รีเซ็ตเราเตอร์ด้วยปุ่ม Reset ตามคู่มือของผู้ผลิต
  5. ปัญหา: พรอกซีไม่สามารถเข้าถึงได้จากเครือข่ายของคุณ สาเหตุ: Firewall ปิดพอร์ตหรือ 3proxy ฟังไม่ถูกที่อยู่ การแก้ไข: ตรวจสอบ internal ใน 3proxy.cfg, เปิดพอร์ตใน Zone LAN, รีสตาร์ทบริการ
  6. ปัญหา: ผู้ให้บริการเปลี่ยน IP บ่อยเกินไปหรือไม่สามารถแนบ IP สาเหตุ: เงื่อนไขของแพ็กเกจ, CGNAT, นโยบายของผู้ประกอบการ การแก้ไข: รีสตาร์ทอินเทอร์เฟซหรือโมเด็มตามตาราง เวลาไม่มีการสนับสนุนการเปลี่ยน IMSI ควรตรวจสอบแพ็กเกจที่ใช้ SIM ที่แตกต่างกัน
  7. ปัญหา: opkg ไม่ติดตั้งแพ็กเกจ สาเหตุ: ไม่มี DNS/เส้นทางหรือการเข้าถึงรีพอซิทอรีถูกบล็อก การแก้ไข: ตรวจสอบ DNS ที่ Network → Interfaces → LAN เพิ่ม 8.8.8.8 เป็น DNS-server ชั่วคราว ตรวจสอบว่าการเชื่อมต่อกับอินเทอร์เน็ตทำงานได้

คำแนะนำ: ในการวินิจฉัยปัญหาเครือข่ายให้ใช้ tcpdump บน wwan0 ติดตั้ง tcpdump: opkg install tcpdump จากนั้น tcpdump -i wwan0 host 8.8.8.8 เพื่อตรวจสอบว่าข้อมูลถูกส่งออกไปหรือไม่

ฟีเจอร์เพิ่มเติม

การขยายตัวไปยังโมเด็ม 3-8 ตัว

  1. ให้ชื่อสำหรับอินเทอร์เฟซ: กำหนดชื่อ LTE1, LTE2, LTE3 ใน LuCI และติดตามว่าโมเด็มไหนเชื่อมต่อกับอุปกรณ์ /dev/cdc-wdmX
  2. สร้างใน 3proxy บล็อกแยก สำหรับแต่ละโมเด็ม: ผู้ใช้ของตัวเอง พอร์ตของตัวเอง และ external ของตัวเอง
  3. แก้ไข firewall: แต่ละ WAN-zone ต้องอนุญาตให้มีข้อมูลออกและการทำ NAT หากใช้โซนแยก ตรวจสอบการส่งต่อจาก LAN ไปยังแต่ละโซน

การเชื่อมต่ออัตโนมัติและการกำหนดเวลาทำงาน

  1. สร้างสคริปต์ที่ตรวจสอบการเชื่อมต่อภายนอกทุก N นาทีผ่านอินเทอร์เฟซที่เฉพาะเจาะจง หากไม่มีการตอบสนอง ให้ทำการ ifdown LTE1; sleep 5; ifup LTE1
  2. เพิ่มงานใน cron: ใน LuCI System → Scheduled Tasks ให้เพิ่มบรรทัดในรูปแบบ */15 * * * * /usr/bin/สคริปต์ของคุณ.sh
  3. บันทึกกิจกรรมไปยัง /var/log/proxy-rotate.log เพื่อดูประวัติการเชื่อมต่อใหม่

การตรวจสอบและบันทึก

  • เปิดใช้งานการบันทึกใน 3proxy ในไฟล์แยกกัน จำกัดการหมุนเวียนของ logs เพื่อไม่ให้เต็มพื้นที่แฟลช
  • ใช้ netdata หรือ collectd เพื่อติดตาม CPU, RAM, อินเทอร์เฟซ ตรวจสอบการติดตั้งแพคเกจอย่างรอบคอบตามขีดจำกัดทางความจำ

การเพิ่มประสิทธิภาพ

  • ปิดบริการที่ไม่จำเป็นออกไปเพื่อให้มี RAM ว่าง
  • เมื่อมีโหลดสูง เปิดใช้งาน offloading ตามที่สามารถทำได้และปลอดภัย
  • ใช้สาย USB ที่สั้นและมีคุณภาพ ตรวจสอบว่าโมเด็มไม่ทำการ throttling ด้วยความร้อน หากจำเป็นให้เพิ่มพัดลม

การเข้าถึงจากภายนอกและความปลอดภัย

  • หากต้องการเชื่อมต่อพรอกซีจากเครือข่ายภายนอก ให้ตั้งค่าการส่งต่อพอร์ตในเราเตอร์ภายนอก หรือทำให้แน่ใจว่าคุณมี IP สาธารณะใน WAN
  • เพิ่มการรับรองความถูกต้องใน 3proxy จำกัดการเข้าถึงให้เฉพาะ IP ที่ได้รับอนุญาตเท่านั้น ทำงานภายใต้กรอบกฎหมายเท่านั้น

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

หากคุณต้องการกลับไปยังรายละเอียดการติดตั้ง 3proxy โปรดดูในส่วน “ขั้นตอน 6: การเชื่อมต่อซอฟต์แวร์พรอกซี” หากมีคำถามเกี่ยวกับการเลือกโหมดการเข้าถึงเครือข่ายโมเด็ม ให้ตรวจสอบใน “ขั้นตอน 5: โหมด raw-IP หรือ Bridge”

คำถามที่พบบ่อย

  1. สามารถเชื่อมต่อโมเด็มได้กี่ตัวที่เราเตอร์เดียว? ขึ้นอยู่กับพลังงานของ USB-subsystem และแหล่งจ่ายไฟ โดยทั่วไปสามารถเชื่อมต่อได้ 2–4 โมเด็มอย่างไม่มีปัญหา และ 6–8 โมเด็มกับฮับที่มีพลังงานและสามารถใช้งานได้อย่างเชื่อถือได้
  2. วิธีการทราบว่าอินเทอร์เฟซใดเชื่อมต่อกับโมเด็มตัวไหน? เชื่อมต่อโมเด็มทีละตัวและตรวจสอบ dmesg จากนั้นเปลี่ยนชื่ออินเทอร์เฟซใน LuCI ผ่าน System → Network Devices ตามที่เป็นไปได้ การกำหนดสายเคเบิลก็มีประโยชน์เช่นกัน
  3. ต้องการ raw-IP หรือไม่? สำหรับโมเด็ม QMI หลายตัว เป็นสิ่งที่จำเป็น ถ้าเชื่อมต่อแล้วแต่ไม่มีข้อมูลให้เปิดใช้ raw-IP
  4. จะทำให้แต่ละพอร์ตพรอกซีใช้โมเด็มเดิมอย่างไร? ใน 3proxy ให้ระบุ external wwanX สำหรับแต่ละบล็อกและหลีกเลี่ยงการจัดเรียงโมเด็มตามพอร์ต USB สร้างให้โมเด็มแน่น
  5. สามารถใช้พรอกซีเซิร์ฟเวอร์อื่นแทน 3proxy ได้หรือไม่? ใช่ tinyproxy หรือ mitmproxy แต่ 3proxy จะมีความเบาและให้ความสบายที่สุดในการเชื่อมโยง external
  6. จะเปลี่ยน IP ของผู้ให้บริการอัตโนมัติได้อย่างไร? ไม่มีการยืนยันขึ้นอยู่กับผู้ให้บริการ คุณอาจรีสตาร์ทอินเทอร์เฟซหรือโมเด็มตามตาราง เวลา โดยไม่คำนึงถึงการปฏิบัติทุกอย่างอยู่ภายใต้ข้อตกลงของผู้ให้บริการ
  7. จะตรวจสอบความเสถียรได้อย่างไร? ping node ภายนอก และคำขอ curl Periodic ผ่านพรอกซีแต่ละตัว การตรวจสอบ logs และการแจ้งเตือนเมื่อไม่สามารถเข้าถึงได้
  8. ถ้าด้วยที่ว่างในแฟลชไม่เพียงพอจะทำอย่างไร? ลบแพ็คเกจที่ไม่จำเป็น โอนบันทึกไปยัง tmp หรือที่เก็บภายนอก ใช้ OpenWRT ที่มีการจัดการแบบจัดลด
  9. สามารถใช้ IPv6 ได้หรือไม่? ใช่ หากผู้ให้บริการให้บริการ IPv6 conferring คุณต้องตั้งค่าโปรโตคอลที่พร้อมใช้งานในอินเทอร์เฟซและตรวจสอบว่า 3proxy จัดการ IPv6 เมื่อจำเป็น
  10. เหมาะสำหรับการรวมเข้ากับบริการวิเคราะห์และการ parser หรือไม่? ใช่ หากทำตามกฎทางกฎหมาย เช่นเดียวกับเว็บไซต์ของคุณและ API ระมัดระวังในการควบคุมวิธีการของผู้ให้บริการและความเร็วของสาย

คำแนะนำ: ก่อนใช้งานจริงทดสอบให้นาน: 2–4 ชั่วโมง ในการร้องขออย่างต่อเนื่องผ่านพอร์ตพรอกซีแต่ละตัวลงบันทึกใน logs และวิเคราะห์ข้อผิดพลาดและการแฝง

บทสรุป

คุณได้ผ่านมาอย่างครบถ้วน: เตรียมอุปกรณ์ติดตั้ง OpenWRT ตั้งค่าโมเด็มมือถือในโหมด QMI/MBIM/NCM ถ้าจำเป็นเปิดใช้งาน raw-IP ติดตั้ง 3proxy และทำให้แน่ใจว่าพอร์ตพรอกซีแต่ละพอร์ตวิ่งผ่านอินเทอร์เฟซของตนเอง คุณได้เรียนรู้วิธีตรวจสอบผลลัพธ์ผ่าน curl และ log และจัดการกับข้อผิดพลาดทั่วไป และรู้วิธีขยายฟาร์มไปยังโมเด็มหลายตัวพร้อมการเริ่มใหม่โดยอัตโนมัติ การตรวจสอบ และการรักษาความปลอดภัย ตอนนี้คุณสามารถใช้งานฟาร์มพรอกซีของคุณสำหรับงานอัตโนมัติที่ถูกต้องตามกฎหมาย งานทดสอบ และการรวมเข้ากับบริการต่างๆ และยังสามารถพัฒนาสิ่งนี้ไปอีก — เพิ่มโมเด็มใหม่ ปรับปรุงการจัดการเส้นทางและตรรกะของการสำรองข้อมูล ตั้งค่าโปรแกรมกำหนดเวลาและการตรวจสอบ

หากคุณต้องการแผงควบคุมที่เป็นสากลและเครื่องมือการกำจัดที่พร้อมใช้งาน เพื่อการขยายตัวที่รวดเร็ว ให้ศึกษาความสามารถของทางเลือกเชิงพาณิชย์และบริการ เช่น MobileProxy.space แต่ในตอนนี้คุณมีการทำงานด้วยตนเองที่สร้างขึ้นบน OpenWRT ซึ่งมีการควบคุมและความเข้าใจในแต่ละส่วนถึงที่สุด ขอให้โชคดีในการใช้งานและการขยาย!