วันนี้จะมาแชร์การตั้งค่า Failover บนอุปกรณ์ Mikrotik ที่ผมใช้งานอยู่จริงกันครับ
เนื่องด้วยปัจจุบัน แพ็กเกจอินเทอร์เน็ตระดับ 1 Gbps มีราคาไม่ถึง 1 พันบาท ผมเลยเปลี่ยนการใช้งาน จากเมื่อก่อนที่ทำเป็น load balance (มาทำ Load Balance โดยใช้ Mikrotik กัน) มาใช้เป็น Failover แทน ซึ่งการทำ Failover ก็คือ การนำอินเทอร์เน็ต ตั้งแต่ 2 เส้นขึ้นไปมาเชื่อมต่อเข้ากับอุปกรณ์ และเลือกเส้นใดเส้นหนึ่งเป็นเส้นหลัก และอีกเส้นหนึ่งเป็นเส้นสำรอง การตั้งค่าการใช้งานต่างๆง่ายกกว่าการทำ load balance มาก และลดการทำงานของ CPU ของ mikrotik ได้อีกด้วย
ในวันนี้ผมจะแนะนำการตั้งค่า Failover กับ PPPoE 2 เส้นด้วยกัน โดยมี 3BB 1000/500 Mbps เป็นเส้นหลัก และ True 300/300 Mbps เป็นเส้นสำรอง
โดยในบทความนี้ผมจะไม่ได้แนะนำการตั้งค่าตั้งแต่เริ่มต้น เช่น การเชื่อมต่ออินเทอร์เน็ตด้วย PPPoE ก่อนจะมาทำตามบทความนี้ จะต้องตั้งค่า PPPoE ทั้ง 2 เส้น และสามารถออกอินเทอร์เน็ตได้แล้ว โดยการตั้งค่า Failover เบื้องต้น สามารถหาได้ตามอินเทอร์เน็ตครับ
แต่การตั้งค่าเบื้องต้นในการทำ Failover ทั่วไป จะแนะนำให้ตั้งค่า Default Route Distance ในส่วนของการตั้งค่า PPPoE โดยให้เส้นหลักให้มีค่าน้อยกว่าเส้นสำรอง ซึ่งการตั้งค่าเพียงเท่านี้ก็สามารถใช้งานได้แล้วครับ เมื่อเส้นหลักหลุด เส้นสำรองก็จะทำงานอัตโนมัติ แต่จะเกิดปัญหา กรณีที่ เส้นหลักไม่หลุด แต่ไม่สามารถออกอินเทอร์เน็ตได้ จะด้วยสาเหตุอะไรก็ตาม ทำให้การตั้งค่าแบบเบื้องต้น ตัว mikrotik จะไม่สลับไปเส้นสำรอง
วันนี้ผมเลยจะมาแนะนำการแก้ปัญหาในจุดนี้กันครับ
- ให้ไปที่การตั้งค่า PPPoE โดยให้ไปติ๊กเอา add Default Route ออกดังรูป โดยให้แก้ไขทั้ง 2 WAN
2. จากนั้นไปสร้าง Route โดยไปที่ IP -> Routes ในตัวอย่างนี้มีเน็ต 2 เส้น ก็เพิ่มเข้าไปทั้ง 2 เส้น
โดยเส้นหลักให้ตั้ง Distance เป็น 1 และเลือก Gateway ของ WAN 1 หรือเส้นหลัก และที่สำคัญ ให้กดที่ Comment ตั้งชื่อด้วย (ตรงนี้สำคัญ)
ใน Comment ตั้งชื่อว่าอะไร ให้จำเอาไว้ด้วยนะครับ เนื่องจากต้องใช้ชื่อดังกล่าวในการเขียน Script
เส้นสำรอง ให้ตั้ง Distance เป็น 20 หรือเท่าไรก็ได้ที่มากกว่าเส้นหลัก และเลือก Gateway เป็น WAN 2 หรือเส้นสำรอง และให้ตั้ง Comment เช่นเดียวกับ WAN 1 โดยให้ตั้งชื่อให้แตกต่างกัน เช่น WAN2 ดังรูป
3. จากนั้นให้สร้าง Route เพิ่มอีก 2 ตัว เพื่อใช้ในการตรวจสอบว่า สามารถออกอินเทอร์เน็ตได้หรือไม่ โดยเราจะบังคับให้ออกตามเส้นทางที่เรากำหนด โดย IP ที่ใช้ในการตรวจสอบ ต้องมั่นใจว่า จะไม่ล่ม โดยในตัวอย่างนี้ผมเอา IP DNS ของ ISP ที่ผมใช้งานอยู่
โดย WAN 1 หรือเส้นหลัก ผมได้ใส่ ip dns ของ 3BB ลงไป และตั้งค่า Gateway ให้ออก WAN1
WAN 2 หรือเส้นสำรอง ก็ทำเช่นเดียวกันครับ แต่เปลี่ยน ip dns เป็นของอีกค่าย คือ True ลงไป เลือก Gateway ให้ออก WAN2
3. เราจะใช้ Netwatch ในการตรวจสอบกัน โดยไปที่ Tools -> Netwatch
กดเครื่องหมาย + และเพิ่มค่าดังนี้ครับ
WAN 1 (เส้นหลัก)
Host : ใส่หมายเลข ip dns ของ isp หลัก โดยจะเป็น ip เดียวกับที่เราได้เพิ่มเข้าไปใน route ก่อนหน้า
Interval : ให้เป็น 00:00:10 เพื่อให้ทำการตรวจสอบทุก 10 วินาที
Timeout: ใส่สัก 200 ms ก็น่าจะพอครับ
ใน Tab UP ให้ใส่ code ด้านล่างนี้ลงไป
/ip route set [find comment="WAN1"] distance=1
Tab Down ใส่ code นี้ครับ
/ip route set [find comment="WAN1"] distance=200
คำอธิบาย : เมื่อ up ให้ตั้งค่า route โดยการหาจาก comment ตามชื่อที่เราตั้งเอาไว้ และให้กำหนดค่า distance เป็น 1 และเมื่อ down ให้กำหนดค่า distance เป็น 200
WAN 2 (เส้นสำรอง)
Host : ใส่หมายเลข ip dns ของ isp สำรอง โดยจะเป็น ip เดียวกับที่เราได้เพิ่มเข้าไปใน route ก่อนหน้า
Interval : ให้เป็น 00:00:10 เพื่อให้ทำการตรวจสอบทุก 10 วินาที
Timeout: ใส่สัก 200 ms ก็น่าจะพอครับ
ใน Tab UP ให้ใส่ code ด้านล่างนี้ลงไป
/ip route set [find comment="WAN2"] distance=20
Tab Down ใส่ code นี้ครับ
/ip route set [find comment="WAN2"] distance=255
คำอธิบาย : เมื่อ up ให้ตั้งค่า route โดนการหาจาก comment ตามชื่อที่เราได้ตั้งเอาไว้ และให้กำหนดค่า distance เป็น 20 ในส่วนของเส้นสำรองนี้ จะต้องตั้งค่าให้มากกว่าเส้นหลัก และเมื่อ Down ให้กำหนดค่า distance เป็น 255 ซึ่งเป็นค่าสูงสุดที่ใส่ได้ครับ
เพียงเท่านี้ก็เป็นอันเรียบร้อยครับ โดยวิธีนี้ผมได้ใช้งานมาประมาณ 6 เดือน ทุกอย่างทำงานได้ปกติครับ หวังว่าบทความนี้จะมีประโยชน์กับทุกๆท่าน และหากผิดพลาดอะไรไปก็ขออภัยด้วยครับ
ผมลองเอาไปใช้กับ การรับ DHCP 2เส้นครับ ต่อหลังเร้าเตอร์ 3BB ตัวหลัก , TOT เส้นรอง
ทำไม่ได้ครับ หรือ ใช้ไม่ได้กับ DHCP ครับ เพราะ
ถ้ายกเลิก default route distance เน็ตก็จะออกกันไม่ได้เลยครับ
ตรง Netwatch status DOWN ครับ
ต้องแก้ไขตรงไหนครับ กับการรับ DHCP มาทำ failover