คุณมีโซลูชัน Linux หลายตัวสำหรับการสำรองซ้ำซ้อนครั้งแรกจาก LAN ของคุณไปยังเราเตอร์สองตัว (Quagga เองไม่รองรับ VRRP แต่คุณสามารถใช้ Quagga ร่วมกับสิ่งเหล่านี้ได้โดยไม่มีปัญหา)
- keepalived (ตามที่คุณพูดถึงแล้ว)
- uCARP - พอร์ต Linux ของ CARP ของ OpenBSD (Common Address Redundancy Protocol)
- vrrpd - ภูต VRRP ที่จัดทำเอกสารอย่างกระจัดกระจายและยังไม่ทดลองส่วนใหญ่ แต่ตัวเลือกยังคง
โปรดทราบว่าสิ่งเหล่านี้ไม่มีอะไรเกี่ยวข้องกับความซ้ำซ้อนของ BGP ซึ่งฉันเชื่อว่าเป็นปัญหาจริงที่คุณพยายามแก้ไข อย่างไรก็ตามควรมีความเป็นไปได้ที่จะเรียกใช้ VRRP ในฝั่งผู้ให้บริการของโฮสต์ Quagga ทั้งสองของคุณและกำหนดค่า VRRP IP เสมือนเป็น "ฝั่งของคุณ" ของ ISP ที่ได้รับมอบหมาย / 30 ของคุณและใช้เพื่อตรวจสอบกับ ISP ของคุณ เวลา failover น่าจะใกล้เคียงกัน (ถ้าไม่ใช่แค่ผมเร็วกว่า) วิธีแก้ปัญหาด้วย Linux-HA ด้านล่าง จากที่กล่าวมาฉันเชื่อว่าโซลูชั่น Linux-HA จะสะอาดและเรียบง่ายขึ้น แต่สิ่งนี้อาจขึ้นอยู่กับโทโพโลยี
สำหรับตัวเลือกของคุณที่มี BGP จะมีร่าง IETF สำหรับ "multisesssion BGP"ที่แนะนำรหัสความสามารถ BGP ใหม่ซึ่งมีจุดมุ่งหมายเพื่อสนับสนุนเซสชัน BGP จำนวนมากที่มีเพียร์เดียวกันกับที่อยู่เดียวกัน แต่ร่างนี้ถือว่าทั้งสองเซสชันนั้น อยู่ในอุปกรณ์เดียวกันอย่างไรก็ตามร่างเป็นของใหม่และการสนับสนุนสำหรับสิ่งนี้ไม่น่าจะอยู่ในการแก้ไขปัจจุบันของ Quagga
อีกทางเลือกหนึ่งคือการใช้Linux-HAเพื่อตั้งค่าคลัสเตอร์ heartbeat ระหว่างสองกล่องของคุณและกำหนดค่าเพื่อให้ถ้าเราเตอร์หลักล้มเหลว Heartbeat จะรับรู้สิ่งนี้และเปิด Quagga / BGPd / etc ในเราเตอร์สแตนด์บาย เมื่อมันเกิดขึ้น