Freebsd ou Linux? como roteador BGP acima de 100mbps

10

Estou construindo um servidor para atuar como um roteador de borda BGP para meu uplink de 100mbps no ISP.

Eu preciso desses recursos:

1) Peering / roteamento BGP de pilha dupla (pelo menos 100 Mbps, talvez mais). 2) Potencial feed completo da Internet BGP. 3) Algumas funcionalidades básicas da ACL.

O hardware é ram ​​L3426 / 8G. A placa de rede estará integrada na porta dupla Broadcom 5716.

Eu trabalhei bastante com o Linux antes e parece ser capaz de lidar com 100mbps, mas ouvi dizer que o FreeBSD é mais rápido em coisas de rede. Qual devo usar? E temos alguns números de benchmark de desempenho por aí?

Felicidades.

petrus
fonte
1
alguma razão para você não estar usando um roteador cisco bgp? Infelizmente a maioria isp que permitem que os clientes executar BGP especificar essa exigência para 'compatibilidade'
O Unix zelador
9
Em, pela primeira vez, ouvi falar dessa restrição e trabalho em uma rede que começou com o Quagga / Debian no Dell PowerEdge, até o kit Juniper e Cisco agora. Também lida com muitos fornecedores e trocas de trânsito diferentes. Se um ISP estiver implementando essa restrição, substitua-o por alguém competente.
Niall Donegan
1
Nota lateral, já que é um roteador Eu altamente sugiro colocar um NIC cartão de lá como um backup. Se o onboard ficar ruim, você estará substituindo o mobo em vez de trocar uma placa PCIe rápida.
Chris S
1
Você está desperdiçando dinheiro. Uma caixa barata da Mikrotik (RougerBoard 1100AH ​​por exemplo) poderia lidar com isso por um preço mais baixo e é baseada em linux.
TomTom
Várias pessoas sugeriram o uso de um nic dedicado, e não o da Broadcom. O blog Serverfault tem algumas postagens interessantes sobre isso.
ollybee

Respostas:

11

Fizemos exatamente isso em infraestrutura crítica por muitos anos. Tomamos três feeds BGP upstream completos através do Quagga's bgpde ele usa 658 MB de RAM para executar todo o sistema. Para esse propósito, o Debian é muito mais sólido do que outros sistemas operacionais em nossa experiência (e também precisa de menos atualizações de segurança com seu espaço mínimo de instalação, causando muito menos reinicializações do que os outros dois sistemas operacionais que tentamos). Como usamos o Ksplice , inicializamos apenas para atualizações críticas de pacotes. Não se preocupe em tudo sobre a compatibilidade com outros fornecedores no seu ISP ... RIPE o uso RIR Quagga!

Surpreendentemente, o hardware não é tão importante, é tudo sobre as NICs. As CPUs rápidas basicamente significam que os prefixos são carregados mais rapidamente se você atualizar as sessões (supondo que você tenha um GB de RAM e elas sejam carregadas na memória), de modo que um Quad Core básico seja excessivamente especificado. Passamos muito tempo tentando diferentes NICs e, em nossa experiência, as melhores são as placas Intel que usam o igbdriver (por cerca de £ 100 / NIC, usamos o: 82576, adaptador de servidor de porta dupla ET) com oe1000chegando em segundo. Existem algumas considerações, como a maneira como as NICs de entrada e saída conversam com a placa principal, mas para sub-250 Mbps, você provavelmente não notará se as usar. Repelimos um ataque sofisticado de UDP DDoS usando essa arquitetura (ela usou os menores pacotes UDP que os roteadores lutam para manipular). Lembre-se de poder processar o maior número de pacotes é o que mais preocupa e não necessariamente a taxa de transferência, medida em Mbps. Por muito pouco dinheiro, especificamos um roteador de hospedagem múltipla Gigabit que pode lidar com pacotes de tamanho padrão da Internet, ou seja, operação normal, até 850Mbps!

Comecei com a Cisco ( bgpda configuração é quase idêntica o suficiente, por isso, se você tem experiência com o kit da Cisco, é uma transição muito rápida), mas porque o Linux é muito maleável (por exemplo, poder adicionar alguns scripts de baixo recurso aos roteadores) para ajudar com relatórios e administração), o IMHO o torna incrivelmente poderoso (e subestimado) para esse tipo de configuração. Você não pode errar ao ler alguns dos arquivos da lista Nanog Mailing se ainda tiver alguma dúvida ou precisar de mais ajuda.

Isso deve ajudar você a começar rapidamente no Debian: Easy Quagga Tutorial

Jonathan Ross
fonte
O outro benefício da execução do Linux é que você pode facilmente moldar seu tráfego com tca curva de aprendizado inicial da tc. Uma palavra de aviso, no entanto, é que a execução de tabelas de IP na sua caixa de encaminhamento reduz significativamente o desempenho do kernel durante ataques do que vimos.
Jonathan Ross
Eu adoraria ouvir mais sobre o nic <-> problema da placa-mãe. Além disso, com quantos pps você consegue lidar com êxito?
Joris #
Em nosso tamanho médio de pacote (principalmente HTTP, SMTP, DNS), devemos gerenciar 850 Mbps em duplex. O DDoS era de 120.000 pps de pacotes UDP de 64 bytes. O efeito foi negligenciável no desempenho, mas não estávamos pressionando tanto tráfego quando atingiu.
Jonathan Ross
Optamos por uma placa-mãe com dois slots PCIe rápidos não conectados, para que os buffers não causem gargalos. Eu esqueço a terminologia porque faz um tempo desde que compramos o hardware. Um para saída, um para entrada. Bastante padrão nos dias de hoje.
Jonathan Ross
5

Ambas são plataformas capazes. Execute algo sólido como o Debian ou o Centos, em um bom hardware de servidor. Certifique-se de especificar servidores com NICs de servidor Intel, eles são muito melhores que o Broadcomm para estabilidade.

No que diz respeito ao BSD x Linux, é fácil .. Escolha o que for mais competente.

Tom O'Connor
fonte
5
+1, o FreeBSD geralmente pode reduzir o desempenho do Linux em benchmarks, mas a diferença (se houver) é tão pequena que você deve simplesmente escolher a plataforma mais confortável.
Chris S
3

Eu já vi Celerons antigos lidando com 80-90Mb / s de tráfego normal em uma configuração Debian / Quagga com 3 feeds completos sem nem mesmo suar a camisa. No entanto, o qualificador existe tráfego "normal", principalmente HTTP / SMTP e DNS. As mesmas máquinas caíram na cara durante situações DDOS em que os pacotes por segundo foram para números ridículos principalmente de pacotes UDP.

Normalmente, não é a largura de banda com a qual você normalmente precisa se preocupar, mas o PPS com o qual você estará lidando.

Infelizmente, não posso ajudá-lo no Linux VS BSD para rotear parte da questão do desempenho, mas isso não deve fazer nenhuma diferença no hardware comum para algumas conexões de 100 Mb.

Niall Donegan
fonte
2
"desempenho de roteamento" não é. É "desempenho de encaminhamento", na verdade.
6111 poige
Policial justo, guv! :)
Niall Donegan
0

O Quagga (Zebra) funciona no Linux e no BSD. O desempenho de rede do Linux não é pior que o do BSD. Portanto, você deve considerar critérios adicionais para escolher a plataforma.

poige
fonte
0

Ponto de dados:

Estou executando um par de servidores Dell R200 no Fedora, um dos quais obteve pico de 500 Mbps com NAT, iptables, LVS, quagga, bgpd em um link 1GigE. A 100 Mbps, qualquer hardware moderno deve funcionar bem. Para lidar com tabelas completas, você deve consultar os requisitos de RAM correspondentes da Cisco ou Juniper e partir daí. 1 GB de RAM deve ser suficiente, mesmo sem filtragem. Meus roteadores rodam com 2 GB configurados, mas estou apenas tomando rotas padrão.

dmourati
fonte