Freebsd o Linux? come router BGP oltre 100 Mbps


10

Sto costruendo un server che funga da router di frontiera BGP per il mio uplink da 100 Mbps in ISP.

Ho bisogno di queste funzionalità:

1) Peering / routing BGP dual stack (almeno 100 Mbps, forse più). 2) Potenziale feed BGP Internet completo. 3) Alcune funzionalità di base ACL.

L'hardware è ram L3426 / 8G. La scheda di rete sarà integrata Broadcom 5716 a doppia porta.

Ho lavorato con Linux ampiamente prima e sembra essere in grado di gestire 100 Mbps, ma ho sentito che FreeBSD è più veloce nelle cose di rete. Quale dovrei usare? E abbiamo alcuni numeri di riferimento delle prestazioni là fuori?

Saluti.


1
qualche motivo per cui non stai usando un router Cisco Cisco? Sfortunatamente la maggior parte degli isp che permettono ai clienti di eseguire bgp specificano questo requisito di "compatibilità"
The Unix Janitor

9
Em, la prima volta che ho sentito parlare di questa restrizione, e lavoro su una rete che è iniziata con Quagga / Debian su Dell PowerEdge, fino a Juniper e Cisco kit ora. Trattare anche con MOLTI diversi fornitori e scambi di transito. Se un ISP sta mettendo in atto tale restrizione, sostituiscilo con qualcuno competente.
Niall Donegan,

1
Nota a margine, in quanto si tratta di un router avrei altamente suggerisco di mettere una scheda di rete carta in là come backup. Se quello di bordo si guasta, stai sostituendo il mobo invece di sostituire una scheda PCIe veloce.
Chris S,

1
Stai sprecando soldi. Un box economico di Mikrotik (ad esempio RougerBoard 1100AH) potrebbe gestirlo a un prezzo inferiore ed è basato su Linux.
TomTom

Diverse persone hanno suggerito di utilizzare un nic dedicato e non quelli Broadcom di bordo. Il blog Serverfault ha un paio di post interessanti su questo.
ollybee,

Risposte:


11

Abbiamo fatto esattamente questo per l'infrastruttura critica per molti anni. Prendiamo tre feed BGP a monte completi attraverso Quagga bgpde utilizza 658 MB di RAM per far funzionare l'intero sistema. A tale scopo, Debian è molto più solido di altri sistemi operativi nella nostra esperienza (e ha anche bisogno di meno aggiornamenti di sicurezza con il suo footprint di installazione minimo, causando un numero di riavvii molto inferiore rispetto agli altri due sistemi operativi che abbiamo provato). Usiamo Ksplice quindi eseguiamo l'avvio solo per aggiornamenti di pacchetti critici. Non preoccuparti della compatibilità con altri fornitori del tuo ISP ... RIPE il RIR usa Quagga!

Sorprendentemente l'hardware non è così importante, è tutto sulle schede di rete. Le CPU veloci significano sostanzialmente che i prefissi si caricano più velocemente se si aggiornano le sessioni (supponendo che si disponga di un GB di RAM e che si caricino in memoria), quindi un Quad Core entry-level è enormemente sovradimensionato. Abbiamo trascorso molto tempo a provare diverse schede di rete e nella nostra esperienza le migliori sono le schede Intel che utilizzano il igbdriver (per circa £ 100 / NIC utilizziamo: 82576, adattatore per server a doppia porta ET) con ile1000venire secondo. Vi sono alcune considerazioni come il modo in cui le schede NIC di ingresso e uscita comunicano con la scheda madre, ma per i sub 250 Mbps probabilmente non noterai se usi queste schede NIC. Abbiamo respinto un sofisticato attacco DDoS UDP usando questa architettura (utilizzava i pacchetti UDP più piccoli che i router hanno difficoltà a gestire). Tieni presente che essere in grado di elaborare il numero più elevato di pacchetti è ciò che ti interessa di più e non necessariamente il throughput, misurato in Mbps. Per pochissimi soldi abbiamo specificato un router multihomed Gigabit in grado di gestire pacchetti standard di dimensioni Internet, vale a dire il normale funzionamento, fino a 850 Mbps!

Ho iniziato con Cisco ( bgpdla configurazione è quasi identica, quindi se hai esperienza con il kit Cisco è una transizione molto rapida) ma perché Linux è così malleabile (ad esempio essere in grado di aggiungere alcuni script a bassa risorsa ai tuoi router per aiutare con il reporting e l'amministrazione) IMHO lo rende incredibilmente potente (e sottovalutato) per questo tipo di installazione. Non puoi sbagliare leggendo alcuni degli archivi della Mailing list di Nanog se hai ancora dei dubbi o hai bisogno di ulteriore aiuto.

Questo dovrebbe farti iniziare abbastanza rapidamente su Debian: Easy Quagga Tutorial


L'altro vantaggio di eseguire Linux è che puoi facilmente modellare il tuo traffico con tcla curva di apprendimento iniziale di tc. Un avvertimento, tuttavia, è che l'esecuzione di IPtables sulla casella di inoltro riduce significativamente le prestazioni del kernel durante gli attacchi da ciò che abbiamo visto.
Jonathan Ross,

Mi piacerebbe saperne di più sul problema della scheda madre <->. Inoltre, quanti pps riesci a gestire con successo?
Joris,

Sulla dimensione media dei pacchetti (HTTP, SMTP, DNS principalmente) dovremmo gestire fronte-retro a 850 Mbps. Il DDoS era di 120.000 pps di pacchetti UDP a 64 byte. L'effetto è stato insoddisfacente per le prestazioni, ma non stavamo spingendo molto traffico quando ha colpito.
Jonathan Ross,

Abbiamo optato per una scheda madre con due slot PCIe veloci non collegati in modo che i buffer non si strozzino. Ho dimenticato la terminologia perché è da un po 'che non acquistiamo l'hardware. Uno per l'uscita, uno per l'ingresso. Abbastanza standard in questi giorni.
Jonathan Ross,

5

Sono entrambe piattaforme capaci. Esegui qualcosa di solido come Debian o Centos, su un buon hardware di livello server. Assicurati di specificare i server con schede di rete Intel Server, sono molto meglio di Broadcomm per stabilità.

Per quanto riguarda BSD vs Linux, è facile .. Scegli quello con cui sei più competente.


5
+1, FreeBSD di solito può mettere a dura prova Linux nei benchmark, ma la differenza (se presente) è così piccola che dovresti semplicemente scegliere la piattaforma più comoda.
Chris S

3

Ho visto i vecchi Celeron gestire 80-90 Mb / s di traffico normale su una configurazione Debian / Quagga con 3 feed completi senza nemmeno sudare. Tuttavia, il qualificatore è il traffico "normale", principalmente HTTP / SMTP e DNS. Le stesse macchine si sono appiattite in faccia durante le situazioni DDOS in cui i pacchetti al secondo sono andati a un numero ridicolo di pacchetti principalmente UDP.

Normalmente non è la larghezza di banda di cui devi preoccuparti, ma il PPS che gestirai.

Sfortunatamente, non posso aiutarti su Linux VS BSD per il routing delle prestazioni parte della domanda, ma non dovrebbe fare alcuna differenza sull'hardware delle materie prime corrente per alcune connessioni da 100 Mb.


2
"prestazioni di routing" non lo è. In realtà è "prestazioni di inoltro".
poige

Bel poliziotto, guv! :)
Niall Donegan,

0

Quagga (Zebra) funziona sia su Linux che su BSD. Le prestazioni di rete di Linux non sono peggiori di quelle di BSD. Quindi, ti resta da considerare ulteriori criteri per scegliere la piattaforma.


0

Punto dati:

Sto eseguendo un paio di server Dell R200 su Fedora, uno dei quali ha visto un picco di 500 Mbps con NAT, iptables, LVS, quagga, bgpd su un collegamento 1GigE. A 100 Mbps, qualsiasi hardware moderno dovrebbe andare bene. Per la gestione di tabelle complete, dovresti essere in grado di consultare i corrispondenti requisiti RAM di Cisco o Juniper e passare da lì. 1 GB di RAM dovrebbe essere sufficiente anche senza filtro. I miei router funzionano con 2 GB configurati ma sto solo seguendo percorsi predefiniti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.