วิธีตั้งค่า MikroTik RouterOS v7 สำหรับการทำ BGP ECMP Load Balancing เชื่อมต่อ Multi-ISP
สภาพแวดล้อมและปัญหาหน้างานจริง
ในโครงการหนึ่งที่ผมต้องออกแบบระบบเครือข่ายสำหรับองค์กรที่มีการเชื่อมต่อ Multi-ISP เพื่อเพิ่มความเสถียรภาพและรองรับการใช้งาน Bandwidth สูง มีความต้องการใช้ BGP ECMP (Equal-Cost Multi-Path) เพื่อกระจายโหลดระหว่างเส้นทางที่เชื่อมต่อกับ ISP หลายเจ้าโดยไม่พึ่งพา SD-WAN Appliance ซึ่งมักมีค่าใช้จ่ายสูง
หลังจากทดลองตั้งค่าบน MikroTik CCR2004 ที่ใช้ RouterOS v7.14+ พบว่าสามารถทำ ECMP Load Balancing ผ่าน BGP ได้อย่างมีประสิทธิภาพเมื่อปรับแต่งค่าพารามิเตอร์ที่เหมาะสม
สเปกฮาร์ดแวร์และสถาปัตยกรรม
- Router: MikroTik CCR2004-1G-12S+2XS
- CPU: ARM64 Cortex-A72
- Interface: 12 x SFP+ (10G), 2 x SFP28 (25G)
- RouterOS Version: v7.14+
- Topology: เชื่อมต่อ ISP 2 เจ้า ด้วย Link 10G SFP+ แต่ละเส้น
ตารางพารามิเตอร์เชิงวิศวกรรม
| พารามิเตอร์ | ค่าแนะนำ | คำอธิบาย |
|---|---|---|
| BGP AS Number | Private (65001-65535) | ใช้ AS Private สำหรับองค์กรที่ไม่มี Public ASN |
| Max Paths | 2 | กำหนดจำนวนเส้นทางที่ ECMP จะใช้ |
| Route Filter | Accept specific prefixes | กรอง Prefix ที่เหมาะสมจาก ISP |
คำสั่ง Terminal / CLI
/routing bgp instance add name=default as=65001 router-id=192.168.1.1
/routing bgp peer add name=ISP1 remote-address=203.0.113.1 remote-as=65002
/routing bgp peer add name=ISP2 remote-address=198.51.100.1 remote-as=65003
/routing table add name=ECMP1 fib
/routing table add name=ECMP2 fib
/ip route rule add action=lookup-only-in-table table=ECMP1 src-address=192.168.10.0/24
/ip route rule add action=lookup-only-in-table table=ECMP2 src-address=192.168.20.0/24
/ip route add dst-address=0.0.0.0/0 gateway=203.0.113.1 routing-table=ECMP1
/ip route add dst-address=0.0.0.0/0 gateway=198.51.100.1 routing-table=ECMP2
คำอธิบายพารามิเตอร์:
as: ระบุ AS Number ขององค์กรremote-address: IP Address ของ BGP Peer (ISP)routing-table: ชื่อ Table ที่ใช้สำหรับ ECMP
ขั้นตอนการตรวจสอบสถานะและแก้ปัญหา
- ใช้คำสั่ง
/routing bgp peer printเพื่อตรวจสอบสถานะของ Peering - ใช้
/tool tracerouteเพื่อตรวจสอบเส้นทางการส่งข้อมูล - ตรวจสอบ
/logเพื่อหา Error ที่เกิดขึ้น - หาก ECMP ไม่ทำงาน ให้ตรวจสอบ
/ip route ruleและ/routing tableว่ามีการตั้งค่าครบถ้วนหรือไม่
คำถามเชิงลึกที่พบบ่อย
- Q: BGP ECMP ใช้กับ ISP ที่มีความเร็วไม่เท่ากันได้หรือไม่?
A: ได้ แต่ต้องปรับ Weight หรือ Preference ของเส้นทางให้เหมาะสม - Q: จำเป็นต้องมี Public ASN หรือไม่?
A: ไม่จำเป็น หากใช้กับ Private Network - Q: หาก ISP ไม่รองรับ BGP จะทำ Load Balancing ได้หรือไม่?
A: ทำได้โดยใช้ Policy-based Routing หรือ PCC
หากคุณต้องการความช่วยเหลือเพิ่มเติมในการตั้งค่า สามารถติดต่อทีมวิศวกรของเราได้ที่ บริการรับวางระบบ Network องค์กร หรือ บริการจัดเก็บ Log ตาม พ.ร.บ. คอมพิวเตอร์ โทร 095-254-4519 หรือ LINE: @vrnetwork
อุปกรณ์ Network & PoE Switch แนะนำสำหรับโซลูชันองค์กร
ดูอุปกรณ์ทั้งหมด →คำถามที่พบบ่อยเกี่ยวกับบทความนี้ (FAQ)
Q: BGP ECMP ใช้กับ ISP ที่มีความเร็วไม่เท่ากันได้หรือไม่?
ได้ แต่ต้องปรับ Weight หรือ Preference ของเส้นทางให้เหมาะสม
Q: จำเป็นต้องมี Public ASN หรือไม่?
ไม่จำเป็น หากใช้ใน Private Network
Q: หาก ISP ไม่รองรับ BGP จะทำ Load Balancing ได้หรือไม่?
ทำได้โดยใช้ Policy-based Routing หรือ PCC แทน
บทความที่น่าสนใจในหมวดเดียวกัน
ดูทั้งหมดในหมวดนี้ →วิธีตั้งค่า MikroTik RouterOS v7 สำหรับ BGP Community Filtering และ Traffic Engineering
เรียนรู้การตั้งค่า MikroTik BGP Community Filtering และ Traffic Engineering เพื่อปรับแต่งเส้นทางและควบคุมการรับส่งข้อมูลในองค์กรของคุณ
ตั้งค่า MikroTik BGP v7 สำหรับ Multi-Homing Peering และ Failover อย่างมืออาชีพ
เรียนรู้วิธีตั้งค่า MikroTik BGP v7 เพื่อทำ Multi-Homing Peering เชื่อมต่อหลาย ISP พร้อมเพิ่มความเสถียรด้วย Failover
ตั้งค่า MikroTik RouterOS v7 สำหรับ Network Segmentation ด้วย Layer 2 Isolation และ 802.1X Security
เรียนรู้วิธีตั้งค่า MikroTik RouterOS v7 เพื่อแยกเครือข่าย (Network Segmentation) ด้วย Layer 2 Isolation และเพิ่มความปลอดภัยด้วย 802.1X Port Security
ต้องการความช่วยเหลือหรือจ้างวางระบบ Network?
ทีมวิศวกร SIAM-LOGIN ยินดีให้คำปรึกษา ออกแบบระบบ และจัดส่งทีมเข้าติดตั้งหน้างาน