Nós rodamos exclusivamente roteadores / firewalls do OpenBSD para servir o FogBugz On Demand. A menos que você esteja operando em uma função de transporte público e precise da taxa de transferência extremamente alta que o hardware integrado e o software integrado podem fornecer, o OpenBSD em hardware sólido será uma solução mais gerenciável, escalável e econômica.
Comparando o OpenBSD ao IOS ou JUNOS (na minha experiência):
Vantagens
- O firewall pf é incomparável em termos de flexibilidade, configuração gerenciável e integração com outros serviços (funciona perfeitamente com spam, ftp-proxy, etc.). Os exemplos de configuração não fazem justiça.
- Você obtém todas as ferramentas de um * nix em seu gateway: syslog, grep, netcat, tcpdump, systat, top, cron, etc.
- Você pode adicionar ferramentas conforme necessário: iperf e iftop eu achei muito útil
- tcpdump. Disse o suficiente.
- Configuração intuitiva para veteranos do Unix
- Integração perfeita com o gerenciamento de configuração existente (cfengine, puppet, scripts, whatever).
- Os recursos da próxima geração são gratuitos e não exigem módulos adicionais.
- Adicionar desempenho é barato
- Não há contratos de suporte
Desvantagens
- O IOS / JUNOS simplifica o despejo / carregamento de uma configuração inteira. Se não houver ferramentas de gerenciamento de configuração, elas serão mais fáceis de implantar quando sua configuração for gravada.
- Algumas interfaces simplesmente não estão disponíveis ou são estáveis no OpenBSD (por exemplo, não conheço cartões ATM DS3 bem suportados).
- Dispositivos dedicados high-end Cisco / Juniper lidam com pps mais altos do que com hardware de servidor
- Não há contratos de suporte
Contanto que você não esteja falando sobre roteadores de backbone em um ambiente semelhante ao ISP ou roteadores de borda que fazem interface com conexões de rede especializadas, o OpenBSD deve ser muito bem.
Hardware
A coisa mais importante para o desempenho do seu roteador é suas NICs. Uma CPU rápida será rapidamente sobrecarregada sob carga moderada se você tiver NICs de merda que interrompem para cada pacote que recebem. Procure por NICs gigabit que suportem mitigação de interrupção / coalescência, pelo menos. Eu tive boa sorte com os drivers Broadcom (bge, bnx) e Intel (em).
A velocidade da CPU é mais importante do que em hardware dedicado, mas não é algo de se preocupar. Qualquer CPU moderna de classe de servidor lidará com uma tonelada de tráfego antes de mostrar qualquer tensão.
Agarre-se uma CPU decente (vários núcleos não ajudam muito ainda, então olhe para GHz bruta) boa RAM ECC, um disco rígido confiável e um chassi sólido. Em seguida, duplique tudo e execute dois nós como um cluster CARP ativo / passivo. Desde a atualização pfsync do 4.5, você pode rodar ativo / ativo, mas eu não testei isso.
Meus roteadores estão sendo executados lado-a-lado com nossos balanceadores de carga em configurações de nó duplo 1U. Cada nó tem:
- Gabinete Supermicro SYS-1025TC-TB (NICs Intel Gigabit incorporadas)
- CPU quad core de 2 GHz Xeon Harpertown (meus balanceadores de carga usam vários núcleos)
- RAM registrada em ECC de 4 GB da Kingston
- NIC de suplemento Intel Gigabit de porta dupla
Eles têm sido sólidos desde a implantação. Tudo sobre isso é um exagero para nossa carga de tráfego, mas testei throughput acima de 800Mbps (limitado a NIC, a CPU estava quase inativa). Fazemos uso intenso de VLANs, portanto, esses roteadores também precisam lidar com muito tráfego interno.
A eficiência de energia é fantástica, pois cada chassi de 1U tem uma única PSU de 700W que alimenta dois nós. Distribuímos os roteadores e balanceadores por vários chassis para que possamos perder um chassi inteiro e ter um failover praticamente perfeito (obrigado pfsync e CARP).
Sistemas operacionais
Alguns outros mencionaram o uso do Linux ou do FreeBSD em vez do OpenBSD. A maioria dos meus servidores são do FreeBSD, mas eu prefiro os roteadores do OpenBSD por alguns motivos:
- Um foco mais strong na segurança e estabilidade do que o Linux e o FreeBSD
- A melhor documentação de qualquer sistema operacional de código aberto
- A inovação deles está centrada nesse tipo de implementação (veja pfsync, ftp-proxy, carp, gerenciamento de vlan, ipsec, sasync, ifstated, pflogd, etc - todos incluídos na base)
- O FreeBSD está com vários releases por trás de seu port of pf
- pf é mais elegante e gerenciável que iptables, ipchains, ipfw ou ipf
- Processo de instalação / instalação do Leaner
Dito isto, se você estiver intimamente familiarizado com o Linux ou com o FreeBSD e não tiver tempo para investir, é provavelmente uma idéia melhor usar um deles.