บทความ

บทนำ: คุณจะได้อะไรจากบทความนี้

บทความนี้เป็นคู่มือปฏิบัติทีละขั้นตอนสำหรับการตั้งค่าพร็อกซี่บน MikroTik เราจะทำงานกับ RouterOS ซึ่งเป็นระบบปฏิบัติการมาตรฐานของเราเตอร์ MikroTik เท่านั้น เรื่อง Keenetic, OpenWrt และแพลตฟอร์มอื่นๆ มีบทความแยกต่างหากในบล็อก เราจะไม่พูดถึงในที่นี้

เมื่อจบคู่มือนี้ คุณจะมีรูปแบบการทำงานที่ใช้งานได้จริง ซึ่งเราเตอร์จะตัดสินใจเองว่าอุปกรณ์ใดในออฟฟิศหรือที่บ้านออกอินเทอร์เน็ตโดยตรง และอุปกรณ์ใดออกผ่านพร็อกซี่มือถือ คุณจะตั้งค่า Web Proxy ในตัวของ RouterOS พร้อมพร็อกซี่แม่ข่าย เรียนรู้การทำเครื่องหมายทราฟฟิกในส่วน mangle และสร้าง policy-based routing นั่นคือการกำหนดเส้นทางตามกฎ ไม่ใช่แค่ตามที่อยู่ปลายทาง

สิ่งที่คุณจะได้具體:

  • รายการอุปกรณ์ที่ทราฟฟิกออกผ่านพร็อกซี่ ส่วนที่เหลือทำงานเหมือนเดิม
  • Web Proxy บน MikroTik ที่ตั้งค่าแล้ว ซึ่งส่งต่อคำขอของไคลเอนต์ไปยังพร็อกซี่มือถือภายนอก
  • กฎ mangle ที่ทำเครื่องหมายการเชื่อมต่อและเส้นทางที่ต้องการ
  • ตารางเส้นทางแยกต่างหากสำหรับทราฟฟิกที่ทำเครื่องหมายไว้ เพื่อนำไปผ่านอินเทอร์เฟซที่ต้องการ เช่น WAN ตัวที่สองหรือโมเด็ม LTE
  • การป้องกันรูปแบบด้วยไฟร์วอลล์ เพื่อไม่ให้ใครจากภายนอกใช้พร็อกซี่ของคุณ
  • ชุดการตรวจสอบและวิธีแก้ปัญหาที่พบบ่อย

คู่มือนี้เหมาะกับใคร

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

ระดับ - สำหรับผู้เริ่มต้น เราไม่ถือว่าคุณเคยตั้งค่า RouterOS มาก่อน ทุกขั้นตอนแสดงทั้งผ่านอินเทอร์เฟซกราฟิก WinBox และในรูปแบบคำสั่งสำหรับเทอร์มินัล ตอนท้ายมีส่วนแยกสำหรับผู้advanced: คอนเทนเนอร์, การแจกการตั้งค่าพร็อกซี่ให้ไคลเอนต์อัตโนมัติ, สคริปต์สลับ

สิ่งที่ควรรู้ล่วงหน้า

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

ใช้เวลานานเท่าไร

การตั้งค่าจริงใช้เวลาประมาณ 40-60 นาที เมื่อรวมการอ่าน การสำรองข้อมูล การอัปเดตเฟิร์มแวร์ และการทดสอบ ควรเผื่อไว้ 1.5-2 ชั่วโมง หากคุณมีช่องสัญญาณอินเทอร์เน็ตสองช่องและจะตั้งค่า policy-based routing ระหว่างกัน ให้เพิ่มอีก 30 นาทีสำหรับการตรวจสอบ

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

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

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

  • เราเตอร์ MikroTik ที่มี RouterOS เวอร์ชัน 7.x รุ่นยอดนิยมอย่าง hAP ac2, hAP ac3, hAP ax2, hAP ax3, RB4011, RB5009 รวมถึง CCR ใดก็ได้ รุ่นที่มีพอร์ต USB หรือโมดูล LTE ในตัวจะให้ความสามารถเพิ่มเติม แต่ไม่จำเป็น
  • โปรแกรม WinBox เวอร์ชันล่าสุด (ในปี 2026 คือ WinBox 4 มีบิลด์สำหรับ Windows, macOS และ Linux) ทางเลือกคือเว็บอินเทอร์เฟซ WebFig ที่ที่อยู่เราเตอร์ในเบราว์เซอร์ ซึ่งมีเมนูเดียวกัน
  • สิทธิ์ผู้ดูแลระบบ ในการเข้าเราเตอร์: ชื่อผู้ใช้และรหัสผ่านของผู้ใช้ที่มีสิทธิ์เต็ม
  • ข้อมูลพร็อกซี่มือถือ: ที่อยู่เซิร์ฟเวอร์ (IP หรือชื่อโดเมน), พอร์ต HTTP proxy และวิธีการยืนยันตัวตน สำหรับรูปแบบที่มี Web Proxy บน MikroTik จำเป็นต้องยืนยันตัวตนด้วย IP address เพราะพร็อกซี่ในตัวของ RouterOS ไม่สามารถส่งชื่อผู้ใช้และรหัสผ่านไปยังพร็อกซี่แม่ข่ายได้ ผู้ให้บริการพร็อกซี่มือถือเกือบทั้งหมดอนุญาตให้เปิดการยืนยันตัวตนด้วย IP ได้ในหน้าจัดการบัญชี
  • IP address ภายนอกของเราเตอร์ จำเป็นต้องเพิ่มลงในไวท์ลิสต์ของผู้ให้บริการพร็อกซี่ เราจะแสดงวิธีดูในขั้นตอนแรก
  • คอมพิวเตอร์ในเครือข่ายท้องถิ่น ที่คุณจะใช้ทดสอบผลลัพธ์

ข้อกำหนดของระบบ

รูปแบบที่มี Web Proxy และ mangle ทำงานได้บนอุปกรณ์ใดก็ได้ที่มี RouterOS 7 หน่วยความจำ 128 MB เพียงพอสำหรับไคลเอนต์ที่ใช้งานพร้อมกันสิบราย หากปิดการแคช สำหรับส่วนขั้นสูงที่มีคอนเทนเนอร์ จะต้องใช้รุ่นที่มีสถาปัตยกรรม ARM, ARM64 หรือ x86 และมีหน่วยความจำขั้นต่ำ 256 MB ที่ดีคือ 1 GB และมีที่จัดเก็บภายนอก

ตรวจสอบเวอร์ชัน RouterOS: ใน WinBox เปิดเมนู System แล้วเลือก Resources ในฟิลด์ Version ต้องเป็น 7.x หากคุณมี 6.x คำสั่งบางส่วนเกี่ยวกับการกำหนดเส้นทางจะแตกต่างกัน ควรอัปเดตก่อน

สิ่งที่ต้องเตรียมล่วงหน้า

  1. ติดตั้ง WinBox และตรวจสอบว่ามองเห็นเราเตอร์ในแท็บ Neighbors
  2. เข้าสู่หน้าจัดการบัญชีของผู้ให้บริการพร็อกซี่มือถือ และหาส่วนที่มีพารามิเตอร์การเชื่อมต่อ จดที่อยู่ พอร์ต HTTP และเปิดโหมดยืนยันตัวตนด้วย IP
  3. จัดทำรายการอุปกรณ์ที่ต้องทำงานผ่านพร็อกซี่ จดชื่อและ MAC address หรือ IP ปัจจุบัน
  4. ตัดสินใจว่าคุณจะมีช่องสัญญาณอินเทอร์เน็ตที่สองหรือไม่ หากในเราเตอร์มีโมดูล LTE หรือเชื่อมต่อโมเด็ม USB ที่มี SIM จดชื่ออินเทอร์เฟซ ซึ่งโดยปกติคือ lte1

การสำรองข้อมูล

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

แนวคิดพื้นฐาน: พร็อกซี่, mangle และการกำหนดเส้นทางแบบง่ายๆ

หัวข้อนี้ดูซับซ้อนเพราะศัพท์ มาแยกกันโดยไม่ทฤษฎีเกินไป เอาเฉพาะสิ่งที่จะใช้ในขั้นตอนต่างๆ

พร็อกซี่และพร็อกซี่มือถือ

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

เราเตอร์กับพร็อกซี่เป็นคนละเรื่อง

สิ่งสำคัญที่ต้องเข้าใจ: เราเตอร์ไม่สามารถห่อทราฟฟิกทั้งหมดเข้า HTTP หรือ SOCKS proxy ได้ด้วยตัวเอง เราเตอร์ทำงานในระดับ IP packet ส่วนพร็อกซี่ทำงานในระดับแอปพลิเคชัน แพ็กเก็ตสามารถนำไปผ่านอินเทอร์เฟซนั้นหรือนี้ได้ แต่เพื่อให้แอปพลิเคชันพูดผ่านพร็อกซี่ ต้องมีใครสักคนสร้างการเชื่อมต่อกับพร็อกซี่เซิร์ฟเวอร์ตามโปรโตคอลของมัน ใน RouterOS มี Web Proxy ในตัว - HTTP proxy เต็มรูปแบบภายในเราเตอร์ที่สามารถส่งต่อคำขอไปยังพร็อกซี่ที่อยู่เหนือขึ้นไป เรียกว่า parent proxy (พร็อกซี่แม่ข่าย) นี่แหละที่จะเป็นสะพานระหว่างเครือข่ายท้องถิ่นของคุณกับพร็อกซี่มือถือ

Address list

Address list ใน RouterOS คือรายการ IP address หรือซับเน็ตที่มีชื่อ แทนที่จะเขียนกฎห้าข้อสำหรับคอมพิวเตอร์ห้าเครื่อง คุณใส่ที่อยู่ของมันลงในรายการ proxy-clients และอ้างอิงในกฎเดียว เพิ่มคอมพิวเตอร์เครื่องที่หกในรายการ กฎก็ทำงานกับมันด้วย

Firewall: filter, NAT และ mangle

ไฟร์วอลล์ของ RouterOS ประกอบด้วยหลายตาราง Filter ตัดสินใจว่าจะปล่อยแพ็กเก็ตหรือทิ้ง NAT แทนที่ที่อยู่และพอร์ต เช่น ห่อการเชื่อมต่อจากพอร์ต 80 ไปยังพอร์ตพร็อกซี่ภายใน 8080 Mangle ไม่บล็อกและไม่แทนที่อะไร แต่จะติด ป้าย บนแพ็กเก็ตหรือการเชื่อมต่อ ป้ายนี้อยู่ภายในเราเตอร์เท่านั้น และต่อมาถูกใช้โดยระบบย่อยอื่น โดยเฉพาะการกำหนดเส้นทาง

ใน mangle มีป้ายสองแบบที่เราสนใจ Connection mark ติดบนการเชื่อมต่อทั้งหมด: ทำเครื่องหมายแพ็กเก็ตแรก แพ็กเก็ตต่อมาทั้งหมดของการเชื่อมต่อนั้นถือว่าถูกทำเครื่องหมายโดยอัตโนมัติ Routing mark บอกเราเตอร์ว่า: สำหรับแพ็กเก็ตนี้ ให้ใช้ไม่ใช่ตารางเส้นทางหลัก แต่ให้ใช้ตารางนี้

ตารางเส้นทางและ policy-based routing

เราเตอร์ทั่วไปตัดสินใจว่าจะส่งแพ็กเก็ตไปที่ไหน โดยดูแค่ที่อยู่ปลายทาง นี่คือ ตาราง main Policy-based routing (PBR, การกำหนดเส้นทางตามนโยบาย) เพิ่มเกณฑ์ที่สอง: แพ็กเก็ตมาจากไหน เป็นประเภทใด มีป้ายอะไร ตัวอย่างเช่น: แพ็กเก็ตจากคอมพิวเตอร์ในรายการ proxy-clients ส่งผ่านโมเด็ม LTE ส่วนที่เหลือผ่านผู้ให้บริการสาย ใน RouterOS 7 จะสร้าง routing table แยกต่างหาก เพิ่มเส้นทางเริ่มต้นของตัวเองลงไป และ mangle ติด routing mark ที่มีชื่อของตารางนั้นบนทราฟฟิกที่ต้องการ

เชน prerouting, output และ forward

กฎไฟร์วอลล์ผูกกับเชน Prerouting ประมวลผลแพ็กเก็ตที่เพิ่งเข้ามาในเราเตอร์ ก่อนการตัดสินใจเส้นทาง ที่นี่สะดวกในการทำเครื่องหมายทราฟฟิกจากไคลเอนต์ในเครือข่ายท้องถิ่น Output - แพ็กเก็ตที่เราเตอร์สร้างเอง เช่น การเรียกของ Web Proxy ไปยังพร็อกซี่มือถือแม่ข่าย Forward - แพ็กเก็ตที่ผ่านจากเครือข่ายท้องถิ่นไปอินเทอร์เน็ต การเข้าใจความแตกต่างนี้จะช่วยลดข้อผิดพลาดได้ครึ่งหนึ่งเมื่อตั้งค่าพร็อกซี่บน MikroTik

ทั้งหมดนี้จะประกอบกันอย่างไร

รูปแบบที่เราจะสร้างมีดังนี้ คอมพิวเตอร์ในรายการ proxy-clients เข้าถึง Web Proxy บนเราเตอร์ พอร์ต 8080 Web Proxy ส่งต่อคำขอไปยังพร็อกซี่มือถือของผู้ให้บริการ ซึ่งยืนยันตัวตนเราเตอร์ด้วย IP ภายนอกของมัน การเรียกของเราเตอร์ไปยังพร็อกซี่มือถือถูกทำเครื่องหมายใน mangle และส่งผ่านอินเทอร์เฟซ WAN ที่ต้องการ อุปกรณ์อื่นทำงานตามปกติและไม่รู้สึกอะไร

ขั้นตอนที่ 1: สำรองข้อมูลและเตรียม RouterOS

เป้าหมายของขั้นนี้: ได้สำเนาการตั้งค่าปัจจุบันที่บันทึกไว้, RouterOS เวอร์ชันล่าสุด และรู้ IP ภายนอกของเราเตอร์สำหรับไวท์ลิสต์ของผู้ให้บริการพร็อกซี่

สร้างการสำรองข้อมูล

  1. เปิด WinBox ในรายการ Neighbors เลือกเราเตอร์ของคุณ กรอกชื่อผู้ใช้และรหัสผ่าน กด Connect
  2. ในเมนูซ้าย กด Files จะเปิดหน้าต่างที่มีรายการไฟล์บนเราเตอร์
  3. กดปุ่ม Backup ที่ด้านบนของหน้าต่าง ในกล่องโต้ตอบที่ปรากฏ ในฟิลด์ Name กรอกชื่อที่เข้าใจได้ เช่น before-proxy ในฟิลด์ Password สามารถตั้งรหัสผ่านสำหรับไฟล์เก็บได้ หรือเว้นว่างไว้ก็ได้ เอาติ๊กถูกออกจาก Don't Encrypt หากต้องการการเข้ารหัส หรือเก็บไว้ - สำหรับใช้ที่บ้านไม่สำคัญ
  4. กด Backup ในรายการจะมีไฟล์ before-proxy.backup ปรากฏ
  5. ลากไฟล์นี้ด้วยเมาส์จากหน้าต่าง Files ไปยังเดสก์ท็อปของคอมพิวเตอร์ ไฟล์จะถูกดาวน์โหลดไปยังพีซีของคุณ สำเนาบนเราเตอร์เองไม่ช่วย หากต้องรีเซ็ตเราเตอร์ ดังนั้นเก็บไว้กับตัวเอง
  6. เพิ่มเติมให้ทำการส่งออกเป็นข้อความ เปิด New Terminal ในเมนูซ้าย และป้อนคำสั่ง:
/export file=before-proxy

ใน Files จะมีไฟล์ before-proxy.rsc ปรากฏขึ้น นี่คือข้อความธรรมดาที่มีคำสั่งทั้งหมดของการตั้งค่าของคุณ สะดวกในการเปิดในNotepadและเปรียบเทียบว่าเปลี่ยนแปลงอะไร ดาวน์โหลดมันด้วย

อัปเดต RouterOS

  1. ในเมนูซ้าย เปิด System แล้ว Packages
  2. กด Check For Updates ในฟิลด์ Channel เลือก stable
  3. หากมีเวอร์ชันใหม่ ให้กด Download&Install เราเตอร์จะดาวน์โหลดแพ็กเกจและรีบูต ใช้เวลา 2-5 นาที การเชื่อมต่อกับ WinBox จะขาด - เป็นเรื่องปกติ
  4. หลังรีบูต เชื่อมต่ออีกครั้ง เปิด System แล้ว RouterBOARD และกด Upgrade เพื่ออัปเดต bootloader จากนั้นรีบูตเราเตอร์ผ่าน System, Reboot

ข้อควรระวัง: อย่าอัปเดตเราเตอร์จากระยะไกล หากคุณไม่มีการเข้าถึงทางกายภาพหรือช่องทางควบคุมสำรอง หากการอัปเดตล้มเหลว คุณอาจสูญเสียการเชื่อมต่อกับอุปกรณ์

ดู IP ภายนอกของเราเตอร์

  1. เปิด New Terminal
  2. ป้อนคำสั่ง:
/tool fetch url=https://ifconfig.me/ip mode=https output=user

ในคำตอบ บรรทัด data จะเป็น IPv4 address ภายนอกของคุณ ทางเลือกอื่น - เปิด IP แล้ว Cloud และเปิด DDNS Enabled: ในฟิลด์ Public Address จะแสดงที่อยู่ปัจจุบัน จดไว้

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

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

ตรวจสอบ: บนคอมพิวเตอร์มีไฟล์ before-proxy.backup และ before-proxy.rsc ใน System, Resources ระบุเวอร์ชัน RouterOS 7 ล่าสุด ในหน้าจัดการบัญชีของผู้ให้บริการพร็อกซี่ได้เพิ่ม IP ภายนอกของเราเตอร์แล้ว

ปัญหาที่อาจเกิดขึ้น

  • คำสั่ง fetch ส่งคืนข้อผิดพลาด ตรวจสอบว่าเราเตอร์มีการเข้าถึงอินเทอร์เน็ตและตั้งค่า DNS แล้ว: IP, DNS ฟิลด์ Servers ไม่ว่าง มีติ๊กถูกที่ Allow Remote Requests
  • WinBox มองไม่เห็นเราเตอร์ เชื่อมต่อด้วยสายตรงไปยังพอร์ต ether2 และลองแท็บ Neighbors อีกครั้ง หรือกรอกที่อยู่เราเตอร์ด้วยตนเอง โดยค่าเริ่มต้น 192.168.88.1

ขั้นตอนที่ 2: กำหนดว่าทราฟฟิกของใครจะผ่านพร็อกซี่

เป้าหมายของขั้นนี้: สร้างรายการที่อยู่ proxy-clients และกำหนด IP ถาวรให้อุปกรณ์ที่ต้องการ เพื่อให้กฎไม่พังหลังการเชื่อมต่อใหม่

กำหนด IP address ให้อุปกรณ์

โดยค่าเริ่มต้น DHCP server ของเราเตอร์อาจให้ที่อยู่คอมพิวเตอร์ต่างออกไปพรุ่งนี้ เพื่อให้กฎทำงานอย่างเสถียร เราจะผูกที่อยู่กับ MAC

  1. เปิด IP แล้ว DHCP Server แท็บ Leases คุณจะเห็นรายการสัญญาเช่าปัจจุบัน: IP address, MAC address, ชื่อโฮสต์
  2. ค้นหาคอมพิวเตอร์ที่ต้องการตามชื่อโฮสต์หรือ MAC ดับเบิลคลิกที่บรรทัด
  3. ในหน้าต่างที่เปิดขึ้น กดปุ่ม Make Static สถานะสัญญาเช่าจะเปลี่ยนจาก D (dynamic) เป็นว่าง ที่อยู่จะถูกผูกไว้
  4. หากต้องการ เปลี่ยนฟิลด์ Address เป็นที่จดจำง่ายกว่า เช่น 192.168.88.101 และกด OK อุปกรณ์จะได้รับที่อยู่ใหม่หลังเชื่อมต่อเครือข่ายใหม่
  5. ทำซ้ำสำหรับอุปกรณ์ทั้งหมดที่ต้องทำงานผ่านพร็อกซี่

คำสั่งสำหรับเทอร์มินัล หากคุณรู้ MAC ล่วงหน้า:

/ip dhcp-server lease add address=192.168.88.101 mac-address=AA:BB:CC:DD:EE:01 server=defconf comment="PC-marketing-1"

ชื่อเซิร์ฟเวอร์ defconf คือชื่อ DHCP server โดยค่าเริ่มต้น ดูได้ในแท็บ DHCP ของหน้าต่างเดียวกัน

สร้าง address list

  1. เปิด IP, Firewall แท็บ Address Lists
  2. กดเครื่องหมายบวกสีน้ำเงิน
  3. ในฟิลด์ Name กรอก proxy-clients ในฟิลด์ Address กรอก 192.168.88.101 กด OK
  4. ทำซ้ำสำหรับแต่ละที่อยู่ โดยเลือกชื่อ proxy-clients เดิมจากดรอปดาวน์ทุกครั้ง

ในเทอร์มินัล:

/ip firewall address-list add list=proxy-clients address=192.168.88.101 comment="PC-marketing-1"
/ip firewall address-list add list=proxy-clients address=192.168.88.102 comment="PC-marketing-2"

หากทั้งซับเน็ตต้องทำงานผ่านพร็อกซี่ ให้เพิ่มเป็นรายการเดียว เช่น 192.168.88.128/25

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

ตรวจสอบ: ในแท็บ Address Lists มีรายการชื่อ proxy-clients ใน DHCP Leases อุปกรณ์เหล่านี้ไม่มีธง D รันคำสั่ง ipconfig บน Windows หรือ ip addr บน Linux และตรวจสอบว่าที่อยู่ตรงกับที่ผูกไว้

ปัญหาที่อาจเกิดขึ้น

  • หลัง Make Static คอมพิวเตอร์ยังคงที่อยู่เดิม ถอดและเสียบสายเครือข่ายใหม่หรือ Wi-Fi หรือรัน ipconfig /release และ ipconfig /renew
  • อุปกรณ์ไม่อยู่ใน Leases แสดงว่ามีที่อยู่แบบ static ที่กรอกด้วยมือ เพียงเพิ่มที่อยู่นี้ใน address list

ขั้นตอนที่ 3: ตั้งค่า Web Proxy และพร็อกซี่มือถือแม่ข่าย

เป้าหมายของขั้นนี้: เปิด HTTP proxy ในตัวของ RouterOS ระบุพร็อกซี่มือถือเป็นพร็อกซี่แม่ข่าย และจำกัดการเข้าถึงเฉพาะเครือข่ายท้องถิ่น

เปิด Web Proxy

  1. เปิด IP แล้ว Web Proxy จะปรากฏหน้าต่าง Web Proxy Settings
  2. ติ๊กถูกที่ Enabled
  3. ในฟิลด์ Src. Address เว้น 0.0.0.0 หรือระบุที่อยู่เราเตอร์ในเครือข่ายท้องถิ่น เช่น 192.168.88.1 ตัวเลือกที่สองน่าเชื่อถือกว่า: พร็อกซี่จะรับฟังเฉพาะบนอินเทอร์เฟซท้องถิ่น
  4. ในฟิลด์ Port ระบุ 8080 นี่คือพอร์ตที่ไคลเอนต์จะเชื่อมต่อ
  5. ในฟิลด์ Parent Proxy กรอก IP address ของพร็อกซี่มือถือจากหน้าจัดการบัญชีของผู้ให้บริการ หากผู้ให้บริการให้ชื่อโดเมน อันดับแรกให้ดู IP ผ่านคำสั่งเทอร์มินัล :put [:resolve ชื่อ] และกรอกที่อยู่ที่ได้ ฟิลด์รับเฉพาะ IP
  6. ในฟิลด์ Parent Proxy Port กรอกพอร์ต HTTP proxy เช่น 8000 หรือตามที่ระบุในหน้าจัดการ
  7. ฟิลด์ Cache Administrator สามารถกรอกอีเมลของคุณหรือเว้นไว้ตามเดิม
  8. เอาติ๊กถูกออกจาก Cache On Disk เราไม่จำเป็นต้องใช้แคช มันแค่ใช้ทรัพยากรและอาจให้หน้าเก่า
  9. ในฟิลด์ Max. Cache Size เลือก none ในฟิลด์ Max. Cache Object Size ก็เว้นค่าเริ่มต้นไว้ได้ เมื่อปิดแคชมันไม่ทำงาน
  10. ติ๊กถูกที่ Anonymous แล้วพร็อกซี่จะไม่เพิ่มส่วนหัว Via และ X-Forwarded-For พร้อมที่อยู่ของเครือข่ายท้องถิ่นของคุณ สำหรับการทำงานกับบัญชีโฆษณา สิ่งนี้สำคัญ
  11. กด Apply แล้ว OK

ในเทอร์มินัลทำทั้งหมดนี้ด้วยคำสั่งเดียว:

/ip proxy set enabled=yes src-address=192.168.88.1 port=8080 parent-proxy=203.0.113.10 parent-proxy-port=8000 cache-on-disk=no max-cache-size=none anonymous=yes

แทนที่ 203.0.113.10 และ 8000 ด้วยข้อมูลจริงของพร็อกซี่มือถือของคุณ

จำกัดการเข้าถึงพร็อกซี่

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

  1. ในหน้าต่าง Web Proxy Settings กดปุ่ม Access จะเปิดรายการกฎ Web Proxy Access
  2. กดบวก ในฟิลด์ Src. Address กรอก 192.168.88.0/24 - นี่คือซับเน็ตท้องถิ่นของคุณ ตรวจสอบใน IP, Addresses ในฟิลด์ Action เลือก allow กด OK
  3. กดบวกอีกครั้ง เว้นทุกฟิลด์ว่าง ใน Action เลือก deny กด OK กฎนี้จะห้ามทุกสิ่งที่ไม่ได้รับอนุญาตข้างบน
  4. ตรวจสอบว่ากฎ allow อยู่เหนือกฎ deny ลำดับสามารถเปลี่ยนได้โดยการลาก

ในเทอร์มินัล:

/ip proxy access add src-address=192.168.88.0/24 action=allow comment="LAN allow"
/ip proxy access add action=deny comment="deny all others"

หากต้องการอนุญาตพร็อกซี่เฉพาะอุปกรณ์ในรายการ proxy-clients ไม่ใช่ทั้งซับเน็ต ให้เพิ่มบรรทัดแยกสำหรับแต่ละที่อยู่แทนกฎแรก: ฟิลด์ Src. Address ใน Web Proxy Access ไม่รองรับ address list โดยตรง เราจะทำการจำกัดที่ยืดหยุ่นกว่าด้วยไฟร์วอลล์ในขั้นตอนที่ 7

ข้อควรระวัง: อย่าปล่อย Web Proxy ไว้โดยไม่มีกฎการเข้าถึงและไม่บล็อกพอร์ต 8080 จากด้าน WAN เด็ดขาด พร็อกซี่แบบเปิดบน MikroTik จะถูกสแกนเนอร์พบภายในหนึ่งวัน

การตรวจสอบครั้งแรกจากเทอร์มินัล

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

/tool fetch url=http://ifconfig.me/ip http-method=get output=user

คำสั่งนี้ไปตรงและจะแสดง IP ภายนอกปกติ ตอนนี้เปิดบนคอมพิวเตอร์ในรายการ proxy-clients เปิดเบราว์เซอร์ กรอกพร็อกซี่ 192.168.88.1 พอร์ต 8080 ในการตั้งค่าเครือข่าย (ใน Windows: การตั้งค่า, เครือข่ายและอินเทอร์เน็ต, พร็อกซี่เซิร์ฟเวอร์, ใช้พร็อกซี่เซิร์ฟเวอร์ด้วยตนเอง) และเข้าเว็บไซต์ตรวจสอบ IP ใดก็ได้ คุณควรเห็นที่อยู่ของผู้ให้บริการโทรศัพท์เคลื่อนที่ ไม่ใช่ของผู้ให้บริการของคุณ

ตรวจสอบ: ใน IP, Web Proxy ปุ่ม Status แสดง Running ตัวนับการเชื่อมต่อเพิ่มขึ้นเมื่อเปิดเว็บไซต์จากไคลเอนต์ และเว็บไซต์ตรวจสอบ IP แสดงที่อยู่ของพร็อกซี่มือถือ

ปัญหาที่อาจเกิดขึ้น

  • เว็บไซต์ไม่เปิด เบราว์เซอร์แจ้งข้อผิดพลาดพร็อกซี่ เปิด Log ในเมนูซ้าย: บรรทัดที่มีหัวข้อ web-proxy จะบอกว่าเกิดอะไรขึ้น ข้อผิดพลาด connection refused หรือ timeout ไปยังพร็อกซี่แม่ข่ายหมายความว่า IP ของเราเตอร์ไม่ได้ถูกเพิ่มในไวท์ลิสต์หรือพอร์ตผิด
  • เปิดได้แต่ IP ยังเป็นเดิม เป็นไปได้ว่าฟิลด์ Parent Proxy ว่างหรือติ๊กถูก Enabled ไม่ถูกบันทึก เปิดการตั้งค่าอีกครั้ง
  • เว็บไซต์ HTTPS ไม่เปิด HTTP ใช้งานได้ ตรวจสอบว่าในการตั้งค่าเบราว์เซอร์ระบุพร็อกซี่สำหรับ HTTPS ด้วย ไม่ใช่แค่ HTTP Web Proxy ของ RouterOS จัดการเมธอด CONNECT และส่งต่อไปยังพร็อกซี่แม่ข่าย

ขั้นตอนที่ 4: นำทราฟฟิกของไคลเอนต์เข้าพร็อกซี่

เป้าหมายของขั้นนี้: ทำให้ไคลเอนต์ในรายการ proxy-clients เข้าถึง Web Proxy ส่วนที่เหลือไม่ มาแยกสองวิธี: การเปลี่ยนเส้นทางโปร่งใสผ่าน NAT และการตั้งค่าไคลเอนต์อย่างชัดเจน

วิธี A: การเปลี่ยนเส้นทาง HTTP โปร่งใสผ่าน dst-nat

โหมดโปร่งใสหมายความว่าไคลเอนต์ไม่ต้องตั้งค่าอะไร: เราเตอร์ดักการเชื่อมต่อที่พอร์ต 80 และห่อเข้าในพร็อกซี่ของตัวเอง วิธีนี้มี ข้อจำกัดเชิงหลักการ: ใช้ได้เฉพาะ HTTP ที่ไม่เข้ารหัส ทราฟฟิก HTTPS ซึ่งวันนี้เป็นเกือบทั้งอินเทอร์เน็ต ไม่สามารถห่อผ่าน Web Proxy ได้อย่างโปร่งใส เพราะเราเตอร์ไม่สามารถถอดรหัสการเชื่อมต่อและรู้ว่าจะส่งไปที่ไหน ดังนั้นวิธี A เราใช้เป็นตัวช่วย และวิธี B เป็นวิธีหลัก

  1. เปิด IP, Firewall แท็บ NAT กดบวก
  2. แท็บ General: Chain - dstnat, Protocol - 6 (tcp), Dst. Port - 80
  3. แท็บ Advanced: Src. Address List - proxy-clients นี่คือเงื่อนไขสำคัญ: กฎจะทำงานเฉพาะอุปกรณ์ในรายการ
  4. แท็บ Action: Action - redirect, To Ports - 8080
  5. ในแท็บ General ในฟิลด์ Comment เขียน Redirect HTTP to proxy กด OK
  6. ลากกฎขึ้นด้านบน เหนือกฎ masquerade หากอยู่ต่ำกว่า กฎ NAT ทำงานจากบนลงล่าง และลำดับสำคัญ

ในเทอร์มินัล:

/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 src-address-list=proxy-clients action=redirect to-ports=8080 comment="Redirect HTTP to proxy" place-before=0

พารามิเตอร์ place-before=0 วางกฎเป็นอันดับแรกในรายการ

วิธี B: การตั้งค่าพร็อกซี่อย่างชัดเจนบนไคลเอนต์

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

  1. บนคอมพิวเตอร์ Windows เปิด การตั้งค่า, เครือข่ายและอินเทอร์เน็ต, พร็อกซี่เซิร์ฟเวอร์ ในส่วนการตั้งค่าพร็อกซี่ด้วยตนเอง เปิดสวิตช์ใช้พร็อกซี่เซิร์ฟเวอร์
  2. ในฟิลด์ที่อยู่ กรอก 192.168.88.1 ในฟิลด์พอร์ต - 8080
  3. ในฟิลด์ข้อยกเว้นเพิ่ม 192.168.*.* เพื่อให้การเรียกทรัพยากรท้องถิ่นไม่ผ่านพร็อกซี่ กดบันทึก
  4. บน macOS: การตั้งค่าระบบ, เครือข่าย, เลือกการเชื่อมต่อ, ปุ่มรายละเอียด, ส่วนพร็อกซี่, เปิดเว็บพร็อกซี่ (HTTP) และพร็อกซี่เว็บปลอดภัย (HTTPS) ระบุที่อยู่และพอร์ตเดียวกัน
  5. ในเบราว์เซอร์ต้านการตรวจจับเมื่อสร้างโปรไฟล์ เลือกประเภทพร็อกซี่ HTTP, ที่อยู่ 192.168.88.1, พอร์ต 8080 เว้นฟิลด์ชื่อผู้ใช้และรหัสผ่านว่าง: เราเตอร์ยืนยันตัวตนด้วย IP

คำแนะนำ: เพื่อไม่ต้องตั้งค่าคอมพิวเตอร์แต่ละเครื่องด้วยมือ สามารถแจกพารามิเตอร์พร็อกซี่อัตโนมัติผ่าน DHCP เรื่องนี้กล่าวในส่วนสำหรับผู้advanced ที่นั่นยังอธิบายไฟล์ WPAD

ทำไมต้องใช้ทั้งสองวิธี

กฎ NAT โปร่งใสช่วยป้องกันสถานการณ์ที่บนคอมพิวเตอร์ในรายการ proxy-clients มีคนลืมตั้งค่าพร็อกซี่: อย่างน้อยทราฟฟิก HTTP จะผ่านพร็อกซี่มือถือ ไม่ใช่ออกตรง การตั้งค่าอย่างชัดเจนทำให้ HTTPS ทำงานได้ สำหรับสถานการณ์ที่เข้มงวด ในขั้นตอนที่ 7 เราจะปิดการออกอินเทอร์เน็ตโดยตรงสำหรับ proxy-clients ด้วยไฟร์วอลล์เพิ่มเติม เพื่อให้ทราฟฟิกอ้อมพร็อกซี่เป็นไปไม่ได้

ตรวจสอบ: บนคอมพิวเตอร์ในรายการ เปิดเว็บไซต์ตรวจสอบ IP ผ่าน HTTPS ด้วยพร็อกซี่ที่ตั้งค่าแล้ว - จะเห็นที่อยู่ของผู้ให้บริการโทรศัพท์เคลื่อนที่ เปิด IP, Firewall, NAT: ตัวนับ Packets ของกฎ Redirect HTTP to proxy เพิ่มขึ้นเมื่อคุณเข้าเว็บไซต์ HTTP จากคอมพิวเตอร์ที่ไม่อยู่ในรายการ IP ยังคงเป็นปกติ

ปัญหาที่อาจเกิดขึ้น

  • กฎ NAT ไม่ทำงาน ตัวนับเป็นศูนย์ ตรวจสอบว่าที่อยู่คอมพิวเตอร์อยู่ในรายการ proxy-clients จริง และกฎอยู่เหนือ masquerade
  • หลังเปิดรีไดเรกต์ เว็บอินเทอร์เฟซของเราเตอร์เปิดไม่ได้ เพิ่มเงื่อนไข Dst. Address Type - !local ในแท็บ Advanced ของกฎ redirect เพื่อให้การเรียกไปยังเราเตอร์เองไม่ถูกดัก

ขั้นตอนที่ 5: Mangle - ทำเครื่องหมายทราฟฟิกสำหรับ policy-based routing

เป้าหมายของขั้นนี้: ทำเครื่องหมายการเชื่อมต่อเพื่อให้เราเตอร์เข้าใจว่าทราฟฟิกใดต้องออกผ่านอินเทอร์เฟซทางเลือก นี่คือแก่นของ policy-based routing บน MikroTik

เมื่อขั้นนี้จำเป็น

หากคุณมีผู้ให้บริการรายเดียวและเพียงต้องการให้อุปกรณ์บางส่วนทำงานผ่านพร็อกซี่มือถือภายนอก ขั้นตอนที่ 3 และ 4 อาจเพียงพอ แต่ mangle และ PBR แก้ปัญหาสำคัญหลายประการ:

  • คุณมีสองช่องสัญญาณ เช่น ผู้ให้บริการสายและโมเด็ม LTE ที่มี SIM และต้องการส่งการเรียกไปยังผู้ให้บริการพร็อกซี่หรือทราฟฟิกของอุปกรณ์บางตัวอย่างเคร่งครัดผ่านหนึ่งในนั้น
  • คุณต้องการให้อุปกรณ์ในรายการ proxy-clients ออกอินเทอร์เน็ตผ่านอินเทอร์เฟซ LTE ของเราเตอร์ ได้รับ IP มือถือโดยตรง โดยไม่ต้องใช้พร็อกซี่ภายนอก - นี่ก็เป็นสถานการณ์การทำงานกับที่อยู่มือถือเช่นกัน
  • คุณต้องแยกทราฟฟิกอย่างเคร่งครัด เพื่อให้แม้การเชื่อมต่อที่บังเอิญอ้อมพร็อกซี่ก็ไม่ออกผ่านช่องทางหลัก

ต่อไปนี้ถือว่าช่องทางหลักคืออินเทอร์เฟซ ether1 กับผู้ให้บริการ และทางเลือกคือ lte1 หากคุณไม่มีช่องทางที่สอง ก็อ่านส่วนนี้ไว้: กฎ mangle จากส่วนนี้จะมีประโยชน์ในการแก้ไขข้อบกพร่องและในสถานการณ์ขั้นสูง

สร้างตารางเส้นทางล่วงหน้า

ใน RouterOS 7 ไม่สามารถกำหนด routing mark ได้จนกว่าจะมีตารางที่มีชื่อนั้นอยู่ ดังนั้นสร้างตารางก่อน แล้วจึงสร้างกฎ mangle

  1. เปิด Routing แล้ว Tables กดบวก
  2. ในฟิลด์ Name กรอก via-lte ติ๊กถูกที่ FIB กด OK
/routing table add name=via-lte fib

กฎที่ 1: ทำเครื่องหมายการเชื่อมต่อของไคลเอนต์

  1. เปิด IP, Firewall แท็บ Mangle กดบวก
  2. แท็บ General: Chain - prerouting, In. Interface - bridge (อินเทอร์เฟซท้องถิ่นของคุณ ในการตั้งค่าเริ่มต้นเรียกว่า bridge), Connection Mark - no-mark เพื่อไม่ทำเครื่องหมายซ้ำการเชื่อมต่อที่ทำเครื่องหมายแล้ว
  3. แท็บ Advanced: Src. Address List - proxy-clients, Dst. Address Type - !local เครื่องหมายอัศเจรีย์หมายถึงการปฏิเสธ: กฎไม่ควรทำงานกับทราฟฟิกไปยังเราเตอร์เอง มิฉะนั้นไคลเอนต์จะสูญเสียการเข้าถึงเว็บอินเทอร์เฟซและ DNS
  4. แท็บ Action: Action - mark connection, New Connection Mark - กรอก conn-lte ติ๊กถูก Passthrough เปิดไว้: แพ็กเก็ตจะไปตามกฎต่อไปและจะได้รับ routing mark ด้วย
  5. Comment: Mark connections from proxy clients กด OK

กฎที่ 2: ทำเครื่องหมายเส้นทางตามเครื่องหมายการเชื่อมต่อ

  1. กดบวกอีกครั้ง Chain - prerouting, In. Interface - bridge, Connection Mark - conn-lte
  2. แท็บ Action: Action - mark routing, New Routing Mark - เลือก via-lte จากรายการ เอาติ๊ก Passthrough ออก: กำหนดเส้นทางแล้ว ไม่มีอะไรต้องประมวลผลต่อ
  3. Comment: Route marked connections via LTE กด OK

คำสั่งทั้งสองสำหรับเทอร์มินัล:

/ip firewall mangle add chain=prerouting in-interface=bridge src-address-list=proxy-clients dst-address-type=!local connection-mark=no-mark action=mark-connection new-connection-mark=conn-lte passthrough=yes comment="Mark connections from proxy clients"
/ip firewall mangle add chain=prerouting in-interface=bridge connection-mark=conn-lte action=mark-routing new-routing-mark=via-lte passthrough=no comment="Route marked connections via LTE"

กฎที่ 3: การเรียกของเราเตอร์เองไปยังพร็อกซี่มือถือ

Web Proxy ทำงานภายในเราเตอร์ ดังนั้นการเชื่อมต่อของมันกับพร็อกซี่แม่ข่ายจึงเกิดในเชน output ไม่ใช่ prerouting หากคุณต้องการให้เราเตอร์เรียกผู้ให้บริการพร็อกซี่ผ่านช่องทางที่กำหนด ให้เพิ่มกฎแยก

  1. บวก Chain - output, Protocol - tcp, Dst. Address - IP ของพร็อกซี่มือถือ เช่น 203.0.113.10, Dst. Port - พอร์ตพร็อกซี่ เช่น 8000
  2. Action - mark routing, New Routing Mark - via-lte หรือตารางอื่นที่ทราฟฟิกนี้ควรไป Passthrough - เอาออก
  3. Comment: Router to parent proxy OK
/ip firewall mangle add chain=output protocol=tcp dst-address=203.0.113.10 dst-port=8000 action=mark-routing new-routing-mark=via-lte passthrough=no comment="Router to parent proxy"

ข้อควรระวัง: ลำดับของกฎ mangle สำคัญ กฎ mark-connection ต้องอยู่เหนือ mark-routing หากคุณเพิ่มผ่านเทอร์มินัลตามลำดับ ลำดับจะถูกต้อง เมื่อเพิ่มผ่าน WinBox ตรวจสอบแท็บ Mangle และลากบรรทัดหากจำเป็น

คำแนะนำ: ใน mangle มีโหมดแก้ไขข้อบกพร่องโดยไม่มีผลกระทบ สร้างกฎด้วย Action - passthrough และเงื่อนไขที่ต้องการ แต่ไม่มีการทำเครื่องหมาย ตัวนับของมันจะแสดงว่ามีกี่แพ็กเก็ตเข้าเงื่อนไข และคุณจะเข้าใจว่าตั้งตัวกรองถูกต้องหรือไม่ โดยไม่ทำอะไรเสียหาย

ตรวจสอบ: ในแท็บ Mangle ตัวนับ Packets ของกฎทั้งสองเพิ่มขึ้นเมื่อไคลเอนต์ในรายการเปิดเว็บไซต์ เปิด IP, Firewall, Connections: การเชื่อมต่อจากที่อยู่ proxy-clients มีเครื่องหมาย conn-lte ในคอลัมน์ Connection Mark หากไม่เห็นคอลัมน์ คลิกขวาที่หัวตารางและเปิดมัน

ปัญหาที่อาจเกิดขึ้น

  • ในรายการ New Routing Mark ไม่มี via-lte คุณยังไม่ได้สร้างตารางเส้นทางหรือไม่ได้ติ๊กถูก FIB กลับไปที่ Routing, Tables
  • ไคลเอนต์สูญเสียการเข้าถึงเราเตอร์และ DNS คุณลืมเงื่อนไข Dst. Address Type - !local เพิ่มลงในกฎแรก
  • ตัวนับเป็นศูนย์ ตรวจสอบชื่ออินเทอร์เฟซท้องถิ่น: ใน Interfaces อาจไม่ชื่อ bridge แต่อาจเป็น bridge1 หรือ bridgeLocal

ขั้นตอนที่ 6: ตารางเส้นทางและเส้นทางสำหรับทราฟฟิกที่ทำเครื่องหมาย

เป้าหมายของขั้นนี้: อธิบายให้เราเตอร์รู้ว่าจะส่งแพ็กเก็ตที่มีเครื่องหมาย via-lte ไปที่ไหน และตั้งค่า NAT สำหรับอินเทอร์เฟซทางเลือก เพื่อให้ทราฟฟิกออกอินเทอร์เน็ตได้จริง

เพิ่มเส้นทางเริ่มต้นในตาราง via-lte

  1. เปิด IP แล้ว Routes กดบวก
  2. ในฟิลด์ Dst. Address กรอก 0.0.0.0/0 - หมายถึงปลายทางใดก็ได้
  3. ในฟิลด์ Gateway กรอกชื่ออินเทอร์เฟซ lte1 สำหรับอินเทอร์เฟซ LTE RouterOS รับชื่ออินเทอร์เฟซแทน IP ของเกตเวย์ หากช่องทางที่สองของคุณเป็นสาย ให้ระบุ IP ของเกตเวย์ผู้ให้บริการที่สอง เช่น 10.20.0.1
  4. ในฟิลด์ Routing Table เลือก via-lte
  5. ในฟิลด์ Check Gateway เลือก ping เราเตอร์จะตรวจสอบการเข้าถึงของเกตเวย์ และเมื่อมันล่ม เส้นทางจะไม่ใช้งาน
  6. Distance เว้นไว้ 1 Comment: Default via LTE for marked traffic กด OK
/ip route add dst-address=0.0.0.0/0 gateway=lte1 routing-table=via-lte check-gateway=ping distance=1 comment="Default via LTE for marked traffic"

หากคุณใช้ผู้ให้บริการที่สองแบบสายที่มีเกตเวย์ เมื่อกรอก IP ของเกตเวย์ RouterOS อาจขอให้ระบุอินเทอร์เฟซผ่านเครื่องหมายเปอร์เซ็นต์: 10.20.0.1%ether2 จำเป็นเมื่อมีซับเน็ตเดียวกันบนหลายอินเทอร์เฟซ

ตั้งค่า NAT สำหรับอินเทอร์เฟซที่สอง

แพ็กเก็ตของไคลเอนต์จะไปที่ lte1 โดยมีที่อยู่ส่วนตัว 192.168.88.x และผู้ให้บริการจะทิ้ง จำเป็นต้องแทนที่ที่อยู่ต้นทางด้วยที่อยู่ของอินเทอร์เฟซ นั่นคือ masquerade

  1. เปิด IP, Firewall, NAT ดูว่ามีกฎ masquerade ที่มี Out. Interface - lte1 หรือ Out. Interface List - WAN ซึ่งรวม lte1 หรือไม่
  2. หากในการตั้งค่าเริ่มต้นกฎใช้ Out. Interface List - WAN ให้เพิ่ม lte1 ในรายการ: Interfaces, แท็บ Interface List, บวก, List - WAN, Interface - lte1
  3. หากกฎผูกกับอินเทอร์เฟซเจาะจง ether1 ให้สร้างตัวที่สอง: บวก, Chain - srcnat, Out. Interface - lte1, Action - masquerade
/interface list member add list=WAN interface=lte1
/ip firewall nat add chain=srcnat out-interface=lte1 action=masquerade comment="NAT for LTE"

เส้นทางสำรองหาก LTE ไม่พร้อมใช้งาน

หาก lte1 ล่ม และเส้นทางในตาราง via-lte ไม่ใช้งาน แพ็กเก็ตที่ทำเครื่องหมายจะไม่มีเส้นทางและทราฟฟิกของไคลเอนต์จะหยุด ตัดสินใจว่าคุณต้องการอะไร: ให้หยุด (โหมดเข้มงวด ทราฟฟิกอ้อมช่องทางมือถือไม่ได้รับอนุญาต) หรือให้ออกผ่านช่องทางหลัก (โหมดผ่อนปรน) สำหรับโหมดผ่อนปรน ให้เพิ่มเส้นทางที่สองในตารางเดียวกันด้วย distance มากกว่า:

/ip route add dst-address=0.0.0.0/0 gateway=ether1 routing-table=via-lte distance=10 comment="Fallback via main WAN"

แทน ether1 ด้วย IP ของเกตเวย์ผู้ให้บริการหลัก หากอินเทอร์เฟซไม่รับชื่อเป็นเกตเวย์ สำหรับโหมดเข้มงวด ไม่ต้องเพิ่มเส้นทางสำรอง

คำแนะนำ: โหมดเข้มงวดเป็นทางเลือกที่ดีที่สุดสำหรับการทำงานกับบัญชีโฆษณา ปล่อยให้หน้าไม่เปิดยังดีกว่าบัญชีเห็น IP ที่บ้านของคุณ ในโหมดผ่อนปรน ต้องตั้งค่าการแจ้งเตือนเมื่อ LTE ล่มผ่าน Tools, Netwatch เพื่อหยุดงานทันเวลา

ตรวจสอบ: ใน IP, Routes เส้นทางในตาราง via-lte ใช้งานอยู่ ไม่มีธง X หรือสีน้ำเงินของการไม่ใช้งาน ในเทอร์มินัลรัน:

/ip route print where routing-table=via-lte
/tool traceroute 8.8.8.8 routing-table=via-lte

Traceroute ควรออกผ่านเกตเวย์ของผู้ให้บริการ LTE โหนดแรกๆ จะแตกต่างจาก traceroute โดยไม่มีพารามิเตอร์ routing-table จากไคลเอนต์ในรายการ proxy-clients เปิดเว็บไซต์ตรวจสอบ IP โดยไม่ตั้งค่าพร็อกซี่ - ควรแสดงที่อยู่ของผู้ให้บริการโทรศัพท์เคลื่อนที่ของ SIM ของคุณ

ปัญหาที่อาจเกิดขึ้น

  • เส้นทางไม่ใช้งาน อินเทอร์เฟซ lte1 ไม่ได้เปิดหรือไม่ได้รับที่อยู่ ตรวจสอบ Interfaces, LTE, สถานะและการตั้งค่า APN
  • เส้นทางใช้งานอยู่ แต่เว็บไซต์ไม่เปิด ไม่มี masquerade สำหรับ lte1 ตรวจสอบ NAT
  • เปิดได้ แต่ IP เป็นของผู้ให้บริการหลัก กฎ mangle ไม่ทำงาน - กลับไปขั้นตอนที่ 5 และตรวจสอบตัวนับ
  • DNS ไม่ทำงานบนไคลเอนต์ ไคลเอนต์ใช้เราเตอร์เป็น DNS และการเรียกไปยังเราเตอร์เราได้ยกเว้นด้วย !local ดังนั้นเป็นเรื่องปกติ หากไคลเอนต์ใช้ DNS ภายนอก เราเตอร์จะส่งคำขอ DNS ผ่าน LTE ซึ่งก็ยอมรับได้

ขั้นตอนที่ 7: ป้องกันการตั้งค่าด้วยไฟร์วอลล์และปิดการรั่วไหล

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

ปิดพอร์ตพร็อกซี่จากด้าน WAN

  1. เปิด IP, Firewall แท็บ Filter Rules
  2. หากฎเริ่มต้น ในการตั้งค่ามาตรฐานมีกฎที่มี Chain - input, In. Interface List - !LAN, Action - drop มันบล็อกทุกอย่างที่เข้ามาจากภายนอกอยู่แล้ว รวมถึงพอร์ต 8080 หากมีและเปิดอยู่ ก็เพียงพอ
  3. หากไม่มีกฎมาตรฐานหรือคุณแก้ไขไปแล้ว ให้เพิ่มอย่างชัดเจน: บวก, Chain - input, Protocol - tcp, Dst. Port - 8080, In. Interface List - WAN, Action - drop วางไว้เหนือกฎ accept ใดๆ สำหรับ input
/ip firewall filter add chain=input protocol=tcp dst-port=8080 in-interface-list=WAN action=drop comment="Block proxy from WAN" place-before=0

อนุญาตพร็อกซี่เฉพาะไคลเอนต์ในรายการ

เพิ่มเติม จำกัดการเข้าถึงพอร์ต 8080 ภายในเครือข่าย: ให้เฉพาะอุปกรณ์ใน proxy-clients เข้าพร็อกซี่ได้

/ip firewall filter add chain=input protocol=tcp dst-port=8080 in-interface=bridge src-address-list=!proxy-clients action=drop comment="Proxy only for listed clients"

ผ่าน WinBox: บวก, Chain - input, Protocol - tcp, Dst. Port - 8080, In. Interface - bridge, แท็บ Advanced: Src. Address List - proxy-clients โดยเปิดการปฏิเสธ (คลิกที่ช่องสี่เหลี่ยมเล็กๆ ด้านซ้ายของฟิลด์ จะมีเครื่องหมายอัศเจรีย์ปรากฏ), Action - drop

ห้ามการออกโดยตรงสำหรับ proxy-clients

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

  1. บวก Chain - forward แท็บ Advanced: Src. Address List - proxy-clients แท็บ General: Out. Interface List - WAN
  2. Action - reject, Reject With - icmp network unreachable Reject ดีกว่า drop: แอปพลิเคชันจะได้รับข้อผิดพลาดทันที ไม่ค้างรอ
  3. Comment: Block direct internet for proxy clients OK
/ip firewall filter add chain=forward src-address-list=proxy-clients out-interface-list=WAN action=reject reject-with=icmp-network-unreachable comment="Block direct internet for proxy clients"

โปรดสังเกต: หากคุณใช้สถานการณ์กับ LTE จากขั้นตอนที่ 5-6 ที่ไคลเอนต์ออกผ่าน lte1 โดยตรงโดยไม่ใช้ Web Proxy กฎนี้ต้องผ่อนปรน: เพิ่ม Out. Interface - ether1 แทนรายการ WAN เพื่อบล็อกเฉพาะช่องทางหลัก

ข้อควรระวัง: เพิ่มกฎบล็อกใน forward หลังจากตรวจสอบว่าพร็อกซี่ทำงานแล้วเท่านั้น มิฉะนั้นคุณจะบล็อกอินเทอร์เน็ตของตัวเองบนคอมพิวเตอร์ที่ทำงาน และคิดว่าพร็อกซี่พัง ทั้งที่ปัญหาเป็นลำดับการกระทำ

เรื่อง DNS

เมื่อทำงานผ่าน HTTP proxy ด้วยการตั้งค่าอย่างชัดเจน เบราว์เซอร์จะไม่รีโซลฟ์โดเมนเอง: มันส่งชื่อเว็บไซต์ไปยังพร็อกซี่ และพร็อกซี่มือถือจะรีโซลฟ์ชื่อนั้นที่ฝั่งของตน นี่ดี ไม่มีการรั่วไหลของ DNS แต่แอปพลิเคชันอื่นบนคอมพิวเตอร์ยังคงถาม DNS กับเราเตอร์ และเราเตอร์ไปยัง DNS server ของตัวเองผ่านช่องทางหลัก สำหรับสถานการณ์โฆษณา สิ่งนี้ไม่สำคัญ เพราะเว็บไซต์เห็นแค่ที่อยู่ของพร็อกซี่ หากคุณต้องการให้คำขอ DNS ของอุปกรณ์ในรายการผ่าน LTE ด้วย มันอยู่ในกฎ mangle ของขั้นตอนที่ 5 แล้วเมื่อใช้ DNS server ภายนอกบนไคลเอนต์

ตรวจสอบ: จากโทรศัพท์ผ่านอินเทอร์เน็ตมือถือ ลองเปิดที่อยู่แบบ http://IP-ภายนอกของคุณ:8080 - การเชื่อมต่อต้องไม่ถูกสร้าง จากคอมพิวเตอร์ที่ไม่อยู่ใน proxy-clients การพยายามกรอกพร็อกซี่ 192.168.88.1:8080 ต้องลงเอยด้วยข้อผิดพลาด จากคอมพิวเตอร์ในรายการ หากเปิดโหมดเข้มงวด โปรแกรมใดๆ ที่ไม่ตั้งค่าพร็อกซี่ต้องไม่ออกอินเทอร์เน็ต

วิธีย้อนการเปลี่ยนแปลง

หากมีอะไรผิดพลาด ทางที่เร็วที่สุดคือปิดกฎ ไม่ใช่ลบ ในแท็บไฟร์วอลล์ใดก็ได้ เลือกกฎและกดเครื่องหมายกากบาทสีแดง Disable วิธีนี้คุณจะได้การเข้าถึงคืน โดยเก็บการตั้งค่าไว้วิเคราะห์ การย้อนกลับทั้งหมด: Files, เลือก before-proxy.backup, กด Restore, ยืนยันการรีบูต ภายในสองนาทีเราเตอร์จะกลับสู่สถานะก่อนเริ่มคู่มือ

ตรวจสอบผลลัพธ์: เช็คลิสต์และการทดสอบ

ไล่ตามรายการทั้งหมด แต่ละข้อคือการตรวจสอบแยก ทำเครื่องหมายว่าทำแล้ว

เช็คลิสต์

  • ใน Files มีการสำรองข้อมูลที่คัดลอกไปยังคอมพิวเตอร์
  • ใน IP, Web Proxy สถานะ Running ระบุ Parent Proxy และ Parent Proxy Port ปิดแคช
  • ใน Web Proxy Access มีกฎ allow สำหรับซับเน็ตท้องถิ่นและ deny ปิดท้าย
  • ใน Address Lists มีรายการ proxy-clients พร้อมที่อยู่ของอุปกรณ์ที่ต้องการ ที่อยู่ผูกใน DHCP
  • ใน NAT มีกฎ redirect พอร์ต 80 ไป 8080 สำหรับ proxy-clients อยู่เหนือ masquerade
  • ใน Mangle มีกฎ mark-connection และ mark-routing ในลำดับที่ถูกต้อง ตัวนับเพิ่มขึ้น
  • ใน Routing, Tables มีตาราง via-lte ที่มี FIB ใน IP, Routes มีเส้นทาง 0.0.0.0/0 ที่ใช้งานอยู่ในตารางนั้น
  • ใน NAT มี masquerade สำหรับอินเทอร์เฟซที่สอง
  • ใน Filter Rules พอร์ต 8080 ถูกปิดจากด้าน WAN

วิธีทดสอบ

  1. บนคอมพิวเตอร์ในรายการ proxy-clients ที่ตั้งค่าพร็อกซี่แล้ว เปิดเว็บไซต์ตรวจสอบ IP สองสามแห่งผ่าน HTTPS ทั้งหมดควรแสดงที่อยู่ของผู้ให้บริการโทรศัพท์เคลื่อนที่เดียวกันและชื่อในฟิลด์ผู้ให้บริการ
  2. บนคอมพิวเตอร์เครื่องเดียวกัน เปิดเว็บไซต์ HTTP ใดก็ได้โดยไม่ตั้งค่าพร็อกซี่ มันควรเปิดผ่าน redirect และใน IP, Web Proxy, Connections จะมีรายการที่มีที่อยู่ต้นทางของคุณปรากฏ
  3. บนคอมพิวเตอร์ที่ไม่อยู่ในรายการ เปิดเว็บไซต์ตรวจสอบ IP ที่อยู่ควรเป็นของผู้ให้บริการปกติของคุณ
  4. ใน WinBox เปิด Tools, Torch, เลือกอินเทอร์เฟซ lte1 หรือ ether1 และกด Start คุณจะเห็นสตรีมทราฟฟิกสด: จากที่อยู่ใด ไปพอร์ตใด วิธีนี้เห็นได้ชัดว่าทราฟฟิกของแต่ละไคลเอนต์ออกผ่านอินเทอร์เฟซใด
  5. เปิด Log และเปิดตัวกรองตามหัวข้อ web-proxy ต้องไม่มีข้อผิดพลาดแบบ parent proxy connection failed
  6. รันการดาวน์โหลดไฟล์ขนาด 100-200 MB บนไคลเอนต์และดูความเร็ว มันจะถูกจำกัดด้วยความเร็วของพร็อกซี่มือถือ ไม่ใช่ช่องทางของคุณ - เป็นเรื่องที่คาดไว้

ตัวชี้วัดความสำเร็จ

  • เว็บไซต์ตรวจสอบแสดงที่อยู่ของผู้ให้บริการโทรศัพท์เคลื่อนที่อย่างเสถียรสำหรับอุปกรณ์ในรายการ
  • อุปกรณ์อื่นที่ไม่อยู่ในรายการไม่เปลี่ยนพฤติกรรม
  • เราเตอร์ไม่ตอบสนองที่พอร์ต 8080 จากภายนอก
  • การใช้ CPU ของเราเตอร์ขณะพร็อกซี่ทำงานไม่เกิน 30-50 เปอร์เซ็นต์ (System, Resources, ฟิลด์ CPU Load)
  • เมื่อปิดอินเทอร์เฟซที่สอง ทราฟฟิกที่ทำเครื่องหมายทำงานตามที่คุณตัดสินใจในขั้นตอนที่ 6: หยุดหรือเปลี่ยนไปเส้นทางสำรอง

ข้อผิดพลาดที่พบบ่อยและวิธีแก้

พร็อกซี่บน MikroTik เปิดอยู่ แต่ไคลเอนต์ได้รับข้อผิดพลาดการเชื่อมต่อ

สาเหตุ: เราเตอร์ไม่สามารถเชื่อมต่อกับพร็อกซี่แม่ข่ายได้ ส่วนใหญ่ IP ภายนอกของเราเตอร์ไม่ได้ถูกเพิ่มในไวท์ลิสต์ของผู้ให้บริการหรือเปลี่ยนหลังเชื่อมต่อใหม่ วิธีแก้: รัน /tool fetch url=https://ifconfig.me/ip mode=https output=user เปรียบเทียบที่อยู่กับที่อยู่ในหน้าจัดการของผู้ให้บริการ อัปเดตไวท์ลิสต์ ตรวจสอบพอร์ต Parent Proxy Port และว่าผู้ให้บริการให้พอร์ต HTTP ไม่ใช่ SOCKS

เว็บไซต์ HTTP ทำงาน HTTPS ไม่เปิด

สาเหตุ: พร็อกซี่บนไคลเอนต์ถูกตั้งค่าสำหรับ HTTP เท่านั้น หรือคุณคาดหวังการเปลี่ยนเส้นทางโปร่งใสของพอร์ต 443 วิธีแก้: ในการตั้งค่าระบบหรือเบราว์เซอร์ เปิดพร็อกซี่สำหรับ HTTPS ด้วย ไม่สามารถห่อ 443 ผ่าน Web Proxy ได้อย่างโปร่งใส อย่าพยายามเพิ่ม redirect สำหรับพอร์ต 443 - มันจะทำให้เว็บไซต์ที่เข้ารหัสทั้งหมดพัง

หลังเพิ่มกฎ mangle ไคลเอนต์สูญเสียการเข้าถึงเราเตอร์

สาเหตุ: ไม่มีเงื่อนไข Dst. Address Type - !local และการเรียกเว็บอินเทอร์เฟซ, DNS และ DHCP ของเราเตอร์ก็ได้รับเครื่องหมายและไปตารางอื่น วิธีแก้: เพิ่มเงื่อนไขในกฎ mark-connection การเชื่อมต่อที่ทำเครื่องหมายแล้ว ให้ล้าง: IP, Firewall, Connections, เลือกบรรทัดของไคลเอนต์, กด Remove

Routing mark ไม่ปรากฏในดรอปดาวน์

สาเหตุ: ใน RouterOS 7 ตารางถูกสร้างล่วงหน้าใน Routing, Tables วิธีแก้: สร้างตารางที่มีติ๊กถูก FIB แล้วกลับไปที่กฎ mangle

ทราฟฟิกถูกทำเครื่องหมาย เส้นทางใช้งานอยู่ แต่อินเทอร์เน็ตไม่มี

สาเหตุ: ไม่มี masquerade สำหรับอินเทอร์เฟซที่ทราฟฟิกที่ทำเครื่องหมายผ่าน วิธีแก้: เพิ่ม lte1 ใน Interface List WAN หรือสร้างกฎ srcnat แยกที่มี Out. Interface - lte1

เว็บไซต์เห็นที่อยู่ของพร็อกซี่มือถือ แต่บางครั้ง IP ที่บ้านก็หลุด

สาเหตุ: แอปพลิเคชันบางตัวหรือเบราว์เซอร์แยกบนคอมพิวเตอร์ไม่ใช้พร็อกซี่ และโหมดเข้มงวดของไฟร์วอลล์ไม่ได้เปิด วิธีแก้: เปิดกฎ reject ใน forward จากขั้นตอนที่ 7 สำหรับ proxy-clients ตรวจสอบว่าโปรไฟล์ต้านการตรวจจับใช้พร็อกซี่ 192.168.88.1:8080 ไม่ใช่การตั้งค่าระบบ

เราเตอร์อืด CPU 100 เปอร์เซ็นต์

สาเหตุ: เปิดการแคชบนดิสก์หรือมีไคลเอนต์มากเกินไปบนรุ่นอ่อน วิธีแก้: ปิด Cache On Disk ตั้ง Max. Cache Size - none ปิดการบันทึกใน Web Proxy Access หากเปิดไว้สำหรับแก้ไขข้อบกพร่อง สำหรับผู้ใช้พร้อมกันหลายสิบคน พิจารณารุ่นที่มีโปรเซสเซอร์ ARM64 เช่น hAP ax3 หรือ RB5009

ลำดับกฎ NAT ไม่ถูกต้อง

สาเหตุ: กฎ redirect อยู่ต่ำกว่า masquerade หรือต่ำกว่า dstnat อื่นที่ดักทราฟฟิกก่อน วิธีแก้: ลาก redirect ไปด้านบนสุดของรายการ จำไว้ว่าเชน srcnat และ dstnat ถูกประมวลผลแยกกัน แต่ภายใน dstnat ลำดับสำคัญ

หลังรีบูตทุกอย่างพัง

สาเหตุ: ใน mangle ระบุ IP ของพร็อกซี่มือถือ และผู้ให้บริการพร็อกซี่เปลี่ยนที่อยู่ หรืออินเทอร์เฟซ lte1 เปิดใช้เวลานานกว่า check-gateway จะทำงาน วิธีแก้: ตรวจสอบที่อยู่ในหน้าจัดการของผู้ให้บริการ อัปเดต Parent Proxy และกฎ output สำหรับ LTE ให้เพิ่มใน System, Scheduler งานที่รันตอนเริ่มต้น ซึ่งหลังจาก 60 วินาทีจะรีสตาร์ทอินเทอร์เฟซ lte1 ด้วยคำสั่ง /interface lte set lte1 disabled=yes; :delay 5; /interface lte set lte1 disabled=no

ความสามารถเพิ่มเติมสำหรับผู้advanced

การแจกการตั้งค่าพร็อกซี่อัตโนมัติผ่าน DHCP และ WPAD

เพื่อไม่ต้องตั้งค่าคอมพิวเตอร์แต่ละเครื่องด้วยมือ สามารถเผยแพร่ไฟล์กำหนดค่าอัตโนมัติ wpad.dat นี่คือสคริปต์ JavaScript ขนาดเล็กที่บอกเบราว์เซอร์ว่า: สำหรับที่อยู่แบบนี้ให้ใช้พร็อกซี่ สำหรับที่เหลือให้ไปตรง ไฟล์วางบนเว็บเซิร์ฟเวอร์ใดก็ได้ในเครือข่ายท้องถิ่น หรือบนเราเตอร์เองในส่วน Files และแจกจ่ายด้วยบริการ www ของ RouterOS จากนั้นใน IP, DHCP Server, Options สร้างอ็อปชันที่มีรหัส 252 และค่าเป็นที่อยู่ของไฟล์ และผูกอ็อปชันกับ DHCP network Windows และเบราว์เซอร์ส่วนใหญ่รับมันโดยอัตโนมัติเมื่อเปิดการตรวจจับพร็อกซี่อัตโนมัติ ข้อดี: แล็ปท็อปใหม่ได้รับการตั้งค่าตั้งแต่เชื่อมต่อ Wi-Fi ครั้งแรก

คอนเทนเนอร์: SOCKS5 และการยืนยันตัวตนด้วยชื่อผู้ใช้และรหัสผ่าน

Web Proxy ในตัวเข้าใจเฉพาะ HTTP parent และไม่ส่งชื่อผู้ใช้กับรหัสผ่าน หากพร็อกซี่มือถือของคุณเข้าถึงได้เฉพาะผ่าน SOCKS5 หรือเฉพาะด้วยการยืนยันตัวตนด้วยชื่อผู้ใช้ แพ็กเกจ Container สำหรับ RouterOS 7 จะช่วยได้ บนรุ่น ARM, ARM64 และ x86 สามารถรันคอนเทนเนอร์เบาๆ ด้วยโปรแกรมอย่าง redsocks หรือ gost ซึ่งรับทราฟฟิกที่เปลี่ยนเส้นทางโปร่งใสและห่อเป็น SOCKS5 พร้อมการยืนยันตัวตน รูปแบบเป็นดังนี้: คอนเทนเนอร์ได้รับที่อยู่ในเครือข่าย veth แยก กฎ dstnat เปลี่ยนเส้นทางทราฟฟิก TCP จาก proxy-clients ไปยังพอร์ตคอนเทนเนอร์ และคอนเทนเนอร์สื่อสารกับพร็อกซี่มือถือ การตั้งค่าต้องเปิดโหมดคอนเทนเนอร์ผ่านเทอร์มินัลด้วยการยืนยันทางกายภาพด้วยปุ่มบนอุปกรณ์ และใส่ใจหน่วยความจำ ดังนั้นเหมาะสำหรับผู้ที่ทำงานกับ RouterOS อย่างมั่นใจแล้ว

พร็อกซี่หลายตัวสำหรับกลุ่มอุปกรณ์ต่างๆ

Web Proxy ใน RouterOS มีเพียงหนึ่ง และพร็อกซี่แม่ข่ายก็มีเพียงหนึ่ง หากสถานีงานต่างๆ ต้องการพร็อกซี่มือถือต่างกัน ให้ใช้การผสมผสาน: ไคลเอนต์บางส่วนผ่าน Web Proxy ของเราเตอร์ และสำหรับกลุ่มอื่นสร้าง address list แยกและตารางเส้นทางแยกที่มีเส้นทางผ่านอินเทอร์เฟซต่างๆ - โมเด็ม LTE ตัวที่สอง ผู้ให้บริการที่สอง ใน mangle แต่ละกลุ่มได้รับเครื่องหมายการเชื่อมต่อและ routing mark ของตัวเอง วิธีนี้บนเราเตอร์เดียวสามารถแยกทางออกอิสระสามถึงสี่ทางได้

สคริปต์สลับพร็อกซี่แม่ข่ายตามกำหนดการ

หากผู้ให้บริการให้หลายที่อยู่ และคุณต้องเปลี่ยนเป็นระยะ ให้เขียนสคริปต์สั้นๆ ใน System, Scripts ที่เปลี่ยนพารามิเตอร์ parent-proxy ด้วยคำสั่ง /ip proxy set parent-proxy=ที่อยู่ใหม่ และผูกกับ System, Scheduler ด้วยช่วงเวลาที่ต้องการ อย่าลืมว่าที่อยู่พร็อกซี่ใหม่แต่ละแห่งต้องได้รับการยืนยันด้วย IP ของคุณในหน้าจัดการของผู้ให้บริการ และกฎ mangle ใน output ต้องคำนึงถึงที่อยู่ที่เป็นไปได้ทั้งหมด - สะดวกกว่าที่จะแทนที่ฟิลด์ Dst. Address ด้วย address list ที่มีที่อยู่พร็อกซี่

การตรวจสอบและการแจ้งเตือน

ใน Tools, Netwatch เพิ่มการตรวจสอบการเข้าถึงที่อยู่ของพร็อกซี่มือถือผ่าน TCP port ด้วยช่วงเวลา 30 วินาที ในฟิลด์ Down Script ระบุคำสั่งส่งข้อความผ่าน /tool e-mail send หรือบันทึกในล็อกพร้อมเครื่องหมายความรุนแรง วิธีนี้คุณจะรู้ปัญหาก่อนที่บัญชีโฆษณาจะสังเกตเห็น

การจำกัดความเร็วและลำดับความสำคัญ

พร็อกซี่มือถือมักช้ากว่าช่องทางสาย เพื่อไม่ให้ไคลเอนต์หนึ่งใช้ทรัพยากรทั้งหมด ให้สร้างใน Queues คิวแบบ Simple Queue บนซับเน็ต proxy-clients ด้วยขีดจำกัด เช่น 20 Mbps สำหรับทั้งรายการ หรือคิวแยกสำหรับแต่ละที่อยู่ วิธีนี้ parser บนคอมพิวเตอร์เครื่องหนึ่งจะไม่ทำให้ผู้จัดการบนเครื่องข้างๆ ขาดการเชื่อมต่อ

การบันทึกล็อกเพื่อการตรวจสอบ

ใน Web Proxy Access สามารถเปิดฟิลด์ Log ในกฎ allow แล้วใน System, Logging เมื่อตั้งหัวข้อ web-proxy จะบันทึกที่อยู่ไคลเอนต์และที่อยู่ของทรัพยากรที่ร้องขอ สำหรับการเก็บรักษาระยะยาว ให้ส่งล็อกไปยัง syslog server ระยะไกลผ่าน System, Logging, Actions ระวังภาระ: บนรุ่นอ่อน การบันทึกทุกคำขอใช้ CPU อย่างเห็นได้ชัด

FAQ: คำถามที่พบบ่อยเกี่ยวกับการตั้งค่า

สามารถห่อทราฟฟิกทั้งหมดของคอมพิวเตอร์เข้าในพร็อกซี่มือถือโดยไม่ตั้งค่าบนคอมพิวเตอร์ได้หรือไม่

สำหรับ HTTP - ได้ ผ่าน redirect ใน NAT สำหรับ HTTPS ด้วยเครื่องมือมาตรฐานของ RouterOS - ไม่ได้ เพราะ Web Proxy ไม่สามารถประมวลผลทราฟฟิกที่เข้ารหัสอย่างโปร่งใส รูปแบบโปร่งใสทั้งหมดเป็นไปได้ผ่านคอนเทนเนอร์ที่มี SOCKS5 ตัวแปลง ซึ่งอธิบายในส่วนสำหรับผู้advanced ในกรณีส่วนใหญ่ ง่ายกว่าที่จะตั้งค่าพร็อกซี่ 192.168.88.1:8080 บนไคลเอนต์ครั้งเดียว หรือแจกการตั้งค่าผ่าน WPAD

ทำไม Web Proxy ไม่รับชื่อผู้ใช้และรหัสผ่านสำหรับพร็อกซี่แม่ข่าย

ใน RouterOS ไม่มีฟิลด์ดังกล่าว ดังนั้นเงื่อนไขบังคับของรูปแบบคือการยืนยันตัวตนด้วย IP ฝั่งผู้ให้บริการพร็อกซี่ หากแพ็กเกจของคุณไม่อนุญาต ติดต่อฝ่ายสนับสนุนของผู้ให้บริการหรือใช้คอนเทนเนอร์

จำเป็นต้องตั้งค่า mangle และตารางเส้นทางหรือไม่หากฉันมีผู้ให้บริการรายเดียว

ไม่จำเป็น สำหรับช่องทางเดียว ขั้นตอนที่ 3, 4 และ 7 เพียงพอ Mangle และ PBR จำเป็นเมื่อมีอินเทอร์เฟซที่สองหรือต้องแยกเส้นทางทราฟฟิกอย่างเคร่งครัด แต่การเรียนรู้ก็มีประโยชน์: เป็นเครื่องมือสากลของ RouterOS ที่จะใช้ในงานอื่นด้วย

จะรู้ได้อย่างไรว่าทราฟฟิกของไคลเอนต์ออกผ่านอินเทอร์เฟซใดจริงๆ

เปิด Tools, Torch, เลือกอินเทอร์เฟซ WAN ที่ต้องการตรวจสอบ และเปิดตัวกรองตามที่อยู่ต้นทาง หากทราฟฟิกของไคลเอนต์เห็นบน lte1 และไม่เห็นบน ether1 - policy-based routing ทำงาน วิธีที่สอง - IP, Firewall, Connections: การเชื่อมต่อที่ต้องการต้องมีเครื่องหมาย conn-lte

จะเกิดอะไรขึ้นหาก IP ภายนอกของเราเตอร์เปลี่ยน

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

สามารถใช้ SOCKS server ที่มีในเมนู IP, SOCKS ได้หรือไม่

ส่วนนี้เป็น SOCKS server ไม่ใช่ไคลเอนต์ มันอนุญาตให้อุปกรณ์อื่นเชื่อมต่อกับเราเตอร์เป็น SOCKS proxy แต่ไม่สามารถส่งต่อทราฟฟิกไปยัง SOCKS proxy ภายนอกได้ สำหรับงานในคู่มือนี้มันไม่เหมาะ และควรปิดไว้

จะเพิ่มคอมพิวเตอร์ใหม่ในรูปแบบได้อย่างไร

ผูกที่อยู่ใน DHCP Leases ผ่าน Make Static เพิ่มที่อยู่ใน address list proxy-clients และตั้งค่าพร็อกซี่ 192.168.88.1:8080 บนคอมพิวเตอร์ ไม่ต้องเปลี่ยนอย่างอื่น - กฎทั้งหมดอ้างอิงรายการ

สามารถยกเว้นเว็บไซต์บางแห่งจากพร็อกซี่สำหรับไคลเอนต์ในรายการได้หรือไม่

เมื่อตั้งค่าอย่างชัดเจนบนไคลเอนต์ เพิ่มโดเมนในฟิลด์ข้อยกเว้นพร็อกซี่ในระบบหรือเบราว์เซอร์ ฝั่งเราเตอร์สำหรับ HTTP โปร่งใส สามารถเพิ่มกฎใน Web Proxy Access ด้วย Dst. Host และ Action - deny แต่มันจะบล็อกเว็บไซต์ ไม่ปล่อยตรง สำหรับการกำหนดเส้นทางผ่าน PBR เพิ่มที่อยู่เว็บไซต์ใน address list แยกและกฎ mangle เหนือกฎหลักด้วย Action - accept แล้วทราฟฟิกไปยังเว็บไซต์เหล่านั้นจะไม่ได้รับเครื่องหมาย

จะลบพร็อกซี่ทั้งหมดและคืนทุกอย่างกลับได้อย่างไร

วิธีเร็ว: ปิดกฎ redirect, mangle และ reject ผ่าน Disable เอาติ๊กถูก Enabled ใน Web Proxy ออก วิธีเต็ม: กู้คืนแบ็กอัป before-proxy ผ่าน Files, Restore

สิ่งนี้ถูกกฎหมายและปลอดภัยเพียงใด

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

สรุป

คุณได้ผ่านทุกเส้นทาง: สำรองข้อมูล อัปเดต RouterOS ผูกที่อยู่อุปกรณ์ เปิด Web Proxy ในตัวและเชื่อมกับพร็อกซี่มือถือของผู้ให้บริการ จากนั้นคุณนำทราฟฟิกของไคลเอนต์เข้าพร็อกซี่ผ่าน NAT และการตั้งค่าอย่างชัดเจน เรียนรู้การทำเครื่องหมายการเชื่อมต่อใน mangle สร้างตารางเส้นทางแยกและตั้งค่า policy-based routing ผ่านอินเทอร์เฟซที่สอง สุดท้าย คุณป้องกันรูปแบบด้วยไฟร์วอลล์และตรวจสอบว่าทุกอย่างทำงานตามเช็คลิสต์

ตอนนี้พร็อกซี่บน MikroTik อยู่ที่ระดับเครือข่าย ไม่ใช่บนคอมพิวเตอร์แต่ละเครื่อง พนักงานใหม่เชื่อมต่อ Wi-Fi เข้าสู่รายการ ได้รับการตั้งค่า - และทำงานกับ IP ที่ต้องการโดยไม่ต้องอธิบายเพิ่มเติม ในขณะเดียวกันส่วนที่เหลือของเครือข่ายไม่รู้สึกอะไร

ทำอะไรต่อไป

  • ตั้งค่าการแจกพารามิเตอร์พร็อกซี่อัตโนมัติผ่าน DHCP option 252 เพื่อให้อุปกรณ์ใหม่เชื่อมต่อโดยไม่ตั้งค่าด้วยมือ
  • เพิ่มการตรวจสอบการเข้าถึงพร็อกซี่ผ่าน Netwatch และการแจ้งเตือน
  • แบ่งอุปกรณ์เป็นหลายกลุ่มด้วย address list ต่างๆ และพัฒนา ตารางเส้นทางแยกสำหรับแต่ละกลุ่ม
  • หากคุณต้องการ SOCKS5 หรือการยืนยันตัวตนด้วยชื่อผู้ใช้ ศึกษาแพ็กเกจ Container และลองรูปแบบที่มีตัวแปลงบนเราเตอร์ทดสอบ

จะพัฒนาต่อไปที่ไหน

RouterOS เป็นระบบที่ลึก และ mangle กับการกำหนดเส้นทางตามนโยบายเป็นเพียงส่วนหนึ่ง หัวข้อต่อไปที่ควรศึกษา setelahคู่มือนี้: คิวและการจัดลำดับความสำคัญทราฟฟิก สคริปต์และตัวจัดกำหนดการสำหรับงานอัตโนมัติ การสำรองช่องสัญญาณพร้อมสลับอัตโนมัติ และการทำงานกับโมเด็ม LTE หลายตัวบนอุปกรณ์เดียว แต่ละหัวข้ออิงจากแนวคิดที่คุณเชี่ยวชาญแล้ว: address list, เครื่องหมาย, ตารางเส้นทาง กลับมาที่คู่มือนี้เป็นข้อมูลอ้างอิง ทดลองบนการตั้งค่าทดสอบ และอย่าลืมสำรองข้อมูลก่อนการเปลี่ยนแปลงครั้งสำคัญทุกครั้ง