Non uso openbgpd da anni, quindi ti darò qualche teoria che puoi applicare alla tua configurazione.
Un provider può inviarti percorsi. In genere invieranno "predefinito", "clienti" o "completo". Un percorso predefinito è proprio questo, 0.0.0.0/0 ti viene annunciato e sai che raggiungerà 0.0.0.0/0 (qualsiasi IP) attraverso di essi. La tua situazione sembra che entrambi i provider ti stiano offrendo un percorso predefinito e, molto probabilmente, quello con ASN inferiore sta ricevendo tutto il traffico (ASN è il tiebreaker quando un pacchetto può andare verso più destinazioni e i percorsi AS sono uguali lunghezza, ecc.).
Un feed "clienti" vorrebbe che annunciasse ogni percorso direttamente collegato a loro. Se hai un provider come Level3, probabilmente vedresti metà Internet attraverso questo feed. Se il tuo altro provider ha un ASN inferiore, otterrebbe tutto il traffico che non è stato direttamente collegato al peer che annuncia i percorsi dei clienti verso di te.
Un feed "completo" avrà annunci di instradamento per ogni sito a cui un provider sa come arrivare, non solo quelli direttamente collegati.
Dovresti essere in grado di fare qualcosa del tipo:
mostra riepilogo bgp ip (comando IOS)
che dovrebbe elencare il numero di prefissi ricevuti da qualche parte.
Se entrambi i provider esistenti ti stanno inviando una route predefinita, la tua connessione è attualmente impostata per il failover. Il provider A scende, quindi instraderai al provider B. Se prendi i feed dei clienti da entrambi insieme al percorso predefinito, il traffico fluirà al provider che ha l'ASpath più breve per raggiungere un determinato indirizzo e tornerebbe al valore predefinito percorso se non è stato possibile trovare l'indirizzo. Se hai ricevuto un feed completo da entrambi, a seconda della sovrapposizione tra i provider, invierai il traffico verso il percorso "migliore" per ciascuno.
Su uno dei nostri router di confine, mostro 310540 rotte attive, mi assicuro di avere abbastanza RAM e di aver configurato la macchina per gestire le rotte da entrambi i provider se prendi rotte complete. Potresti provare a seguire i percorsi dei clienti da entrambi fino a quando ti sentirai più a tuo agio. Oppure prendi le rotte dei clienti dal fornitore più piccolo dei due e guarda come cambiano le cose.
Questo comunque non "bilancia il carico" o divide il traffico in modo uniforme e in base al traffico. Potresti scoprire che un fornitore ottiene ancora la quota del traffico del leone. A questo punto, dovresti fare alcune mappe di prefisso / percorso per regolare il traffico in modo da preferire un peer o l'altro.
Dopo aver impostato le mappe del percorso o una corrispondenza ASN per spostare il traffico, se il sito di destinazione scende e il loro percorso viene rimosso da quel provider, il router invierà comunque il traffico dall'altra connessione. La BGP è in qualche modo autorigenerante.
Quello che abbiamo fatto è che sono state definite alcune mappe che corrispondono in base all'ASN.
PROVIDER_A_TO PROVIDER_A_THROUGH PROVIDER_B_TO PROVIDER_B_THROUGH
Juniper rende tutto più semplice rispetto all'utilizzo delle community, tuttavia, puoi farlo anche tu.
Le nostre liste di prefissi vedono se la destinazione è un ASN particolare e, se lo è, passa attraverso la mappa _TO. Se l'ASN è elencato in _THROUGH, preferirà quel provider. Poiché uno dei nostri provider ha una connessione diretta con AT&T, PROVIDER_B_THROUGH corrisponde a 7018 | 7019 (e alcuni altri ASN) in modo che il traffico AT&T sia impostato automaticamente sul provider B. Anche se AT&T è raggiungibile da entrambi, preferiamo inviarlo anche se il provider B .
Sono sicuro che openbgpd ha metodi simili.