Come prevenire il routing asimmetrico con più router eBGP?

Ho 2 router annunciando una substring a / 22 a diversi provider (un provider si connette a ciascuno dei due router). Ho diviso il / 22 in due / 23 per annunciare uno / 23 su ciascuno dei router più il / 22 (i provider prenderanno il path più specifico). Questo mi permette di fallire e di mantenere il traffico all'interno del / 23 dentro e fuori dello stesso fornitore.

Quali sono altri modi in cui posso annunciare solo il / 22 con entrambi i router e avere pacchetti da server sulla networking dietro i router tornare indietro lo stesso router da cui sono venuti?

  • TCP funziona per un po ', quindi non riesce, perché?
  • Perché alcuni interruttori di networking smettono di funzionare, altri sono bene?
  • Reti, sottoreti, routing e NAT
  • Ottenere linux per cambiare il path predefinito se un path scende?
  • Aggiungere il secondo firewall alla connessione ISP con più sottoreti?
  • Configurazione VPN di instradamento e accesso remoto
  • EDIT:

    Il problema principale che incontro, che gli utenti finali e i clienti si lamentano di più, è che il path minimo di salvataggio a volte non è il path "ottimale". Nel mio caso, so che il provider B può avere una latenza migliore alla nazione X. Ma quando i pacchetti arrivano dal provider B, possono uscire Provider A o provider B. Il reverse è anche vero. Se spedisco un pacchetto al fornitore X di nazione X, anche se potrebbe avere più rest, il pacchetto probabilmente verrà da Provider B (che potrebbe avere latenza maggiore, perdita di pacchetti, ecc. A questa nazione)

  • Affittare un block di indirizzo IPv4
  • Amazon CloudFront e EC2: Global Load Balancing
  • I router Cisco Multi-Homed BGP configurano per la resistenza, ma separano il peso in entrata
  • Rendere le applicazioni ospitanti resilienti ai guasti BGP
  • È solo io o è il mio nodo giù?
  • Router semplice Quagga BGP
  • 3 Solutions collect form web for “Come prevenire il routing asimmetrico con più router eBGP?”

    In termini rigorosi, il controllo completo dei routes di routing in entrata viene annullato quando si annuncia il prefisso a più provider perché ci sono decisioni di routing indipendenti fatte a valle per il traffico di return a te. Inoltre, i vostri annunci potranno essere modificati anche dai fornitori a valle dopo averli inviati.

    Esempio

    Questo è un esempio di ciò che può succedere. Supponi di avere AS 777, che possiede 2.2.0.0/22. Avete servizi che un'azienda con il router A deve accedere … Supponiamo anche che AS 100 non abbia un buon collegamento a te (forse è intermittentemente corrotto il traffico a causa di problemi a livello fisico che non sono stati in grado di risolvere ). Quindi pensi a te stesso, "riprenderò tutti i miei annunci all'AS100 con un gran numero di ASN in modo che nessuno preferisca il collegamento AS100 finché non posso risolvere questo problema" .

    bgp asimmetrico

    Il problema è che hai solo il controllo completo delle tue decisioni di instradamento in output . Non ottieni il controllo completo in arrivo … quindi supponiamo che l'amministratore del router A non conosca il tuo collegamento con AS100 è cattivo. Sono AS200 e AS100, ma AS100 offre un transito molto più economico, per-Mbps; quindi l'ingegnere del router A prende le rotte complete da AS100 e utilizza solo AS200 come un backup (prendendo solo un predefinito da essi).

    Come amministratore di AS 777, è ansible forzare il traffico verso il router da A a AS 200, ma il traffico dal router A alla 2.2.0.0/22 ​​continuerebbe ad assumere AS 100 (perché il path migliore è tramite AS 100, al Router A).

    Possibili soluzioni

    I routes asimmetrici di solito riguardano un carico di bilanciatore o un firewall che riceve il traffico. Alcune soluzioni possibili:

    • Per i servizi offerti in altri ASN , è ansible generare NAT tutto il traffico in output ad un indirizzo locale a un collegamento che va ad una specifica AS (ciò non funziona bene anche per i provider di servizi)
    • Per i servizi offerti nel tuo ASN , puoi generare NAT tutto il traffico in ingresso a un indirizzo localizzato in una substring del router peering BGP in questione (questo non funziona bene per i provider di servizi)
    • Potresti impostare un DMZ che riceve il traffico da tutti i vari ASN e offre un singolo punto di entrata / output per il traffico dai tuoi upstream. In alcune circostanze, puoi anche sincronizzare la tabella di stato nei dispositivi DMZ. (questo non funziona bene per i fornitori di servizi però)
    • Se si desidera utilizzare le funzionalità come BGP Conditional Advertisement , a volte è ansible lavorare in questo tipo di problemi al costo di non utilizzare altri carrier per il traffico in entrata a 2.2.0.0/22.

    Se si forniscono ulteriori dettagli sulla natura dei servizi e dei problemi, potremmo essere in grado di offrire consigli più specifici.

    Quali sono altri modi in cui posso annunciare solo il / 22 con entrambi i router e avere pacchetti da server sulla networking dietro i router tornare indietro lo stesso router da cui sono venuti?

    Perché vuoi questo? O più accuratamente, perché vuoi forzare questo comportmento (dal momento che in genere questo è ciò che accadrà grazie alla magia del routing)?


    L'integer punto di BGP e la gerarchia di routing distribuita che costituiscono l'internet moderno è che i vostri pacchetti avranno il miglior path disponibile alla loro destinazione. Se un pacchetto è arrivato sopra la Route A ma la Route B è una scelta migliore per la risposta per qualche motivo, allora perché non volete submit la tua risposta sul path ottimale?

    L'unica ragione che vedo per questo è voler pregiudicare il vostro traffico da un vector più costoso (in questo caso esistono methods migliori).

    Il modo per get la simmetria qui è in realtà non tanto una function del BGP quanto sarebbe NAT. Supponiamo che tu continui con lo schema di pubblicità / 22 di entrambi i router e di uno / 23 di ciascuno. Impostare il NAT in output in modo tale che il traffico che lascia un determinato router di frontiera abbia un indirizzo di origine nel / 23 del router. Per eseguire la simmetria per il traffico in entrata, è anche necessario che la fonte NAT traduca le connessioni provenienti da fonti globali per separare pool assegnati a ciascun router di frontiera.

    Perdenetworking la visibilità a livello di server in cui verranno effettivamente le connessioni, ma queste informazioni possono essere recuperate dal router tramite Netflow o meccanismi simili.

    C'è un significativo grado di complessità potenziale che viene introdotto qui che tradurrà anche (non pun intended) a where e come si imposta i gateway predefiniti per i server. Ciò potrebbe richiedere un livello intermedio di router parlanti BGP con politiche appropriate per mantenere il traffico locale originato andando nella giusta direzione. In generale, però, non esiste un modo elegante per assicurare il routing simmetrico quando si sta pubblicizzando routes identici con metriche identiche da più router e, in modo sincero, al di fuori di requisiti specifici per i dispositivi sensibili allo stato come alcuni firewall o bilancieri di carico. non è qualcosa che è in genere un objective di progettazione per la maggior parte delle reti.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.