Executamos exclusivamente roteadores / firewalls do OpenBSD para atender ao FogBugz On Demand. A menos que você esteja operando em uma função de trânsito e precise da taxa de transferência extremamente alta que o hardware e o software integrado podem oferecer, 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 spamd, ftp-proxy, etc.). Os exemplos de configuração não fazem justiça.
- Você obtém todas as ferramentas de um * nix no seu gateway: syslog, grep, netcat, tcpdump, systat, top, cron, etc.
- Você pode adicionar ferramentas conforme necessário: iperf e iftop que achei muito úteis
- tcpdump. Disse o suficiente.
- Configuração intuitiva para veteranos do Unix
- Integração perfeita com o gerenciamento de configuração existente (cfengine, fantoche, scripts, o que for).
- Os recursos da próxima geração são gratuitos e não requerem módulos complementares.
- Adicionar desempenho é barato
- Sem contratos de suporte
Desvantagens
- O IOS / JUNOS simplifica o descarregamento / carregamento de uma configuração inteira. Na ausência de quaisquer ferramentas de gerenciamento de configuração, elas serão mais fáceis de implantar após a gravação da sua configuração.
- Algumas interfaces simplesmente não estão disponíveis ou são estáveis no OpenBSD (por exemplo, eu não conheço nenhuma placa ATM DS3 bem suportada).
- Os dispositivos high-end dedicados do tipo Cisco / Juniper lidam com pps mais altos que o hardware do servidor
- Sem contratos de suporte
Desde que você não esteja falando de roteadores de backbone em um ambiente semelhante ao ISP ou de roteadores de borda que fazem interface com conexões de rede especializadas, o OpenBSD deve ficar bem.
Hardware
O mais importante para o desempenho do seu roteador são as suas NICs. Uma CPU rápida ficará sobrecarregada sob carga moderada se você tiver NICs de merda que interrompam para cada pacote que recebem. Procure placas de rede de gigabit que suportem pelo menos atenuação / coalescência de interrupções. 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 para se preocupar. Qualquer CPU moderna de classe de servidor lida com uma tonelada de tráfego antes de mostrar qualquer tensão.
Garanta uma CPU decente (vários núcleos ainda não ajudam muito, então veja GHz bruto), boa ECC RAM, um disco rígido confiável e um chassi sólido. Em seguida, dobre tudo e execute dois nós como um cluster CARP ativo / passivo. Desde a atualização do pfsync do 4.5, você pode executar ativo / ativo, mas eu não testei isso.
Meus roteadores estão funcionando lado a lado com nossos balanceadores de carga em configurações de nó duplo de 1U. Cada nó possui:
- Chassi Supermicro SYS-1025TC-TB (NICs Intel Gigabit integradas)
- CPU Xeon Harpertown Quad Core de 2 GHz (meus balanceadores de carga usam vários núcleos)
- RAM registrada ECC de 4GB da Kingston
- NIC de suplemento Intel Gigabit de porta dupla
Eles são sólidos desde a implantação. Tudo isso é um exagero para a nossa carga de tráfego, mas eu testei a taxa de transferência acima de 800 Mbps (limitada pela NIC, a CPU estava praticamente inativa). Como fazemos uso intenso de VLANs, esses roteadores também precisam lidar com muito tráfego interno.
A eficiência de energia é fantástica, pois cada chassi de 1U possui uma única fonte de alimentação de 700 W, alimentando dois nós. Distribuímos os roteadores e balanceadores através de vários chassis, para que possamos perder um chassi inteiro e ter um failover praticamente uniforme (obrigado pfsync e CARP).
Sistemas operacionais
Alguns outros mencionaram o uso do Linux ou FreeBSD em vez do OpenBSD. A maioria dos meus servidores é FreeBSD, mas prefiro roteadores OpenBSD por alguns motivos:
- Um foco mais apertado em segurança e estabilidade do que Linux e FreeBSD
- A melhor documentação de qualquer sistema operacional de código aberto
- Sua inovação está centrada nesse tipo de implementação (consulte pfsync, ftp-proxy, carp, gerenciamento de vlan, ipsec, sasync, ifstated, pflogd, etc. - todos incluídos na base)
- O FreeBSD está com vários lançamentos atrasados no porto de pf
- pf é mais elegante e gerenciável que iptables, ipchains, ipfw ou ipf
- Processo de configuração / instalação mais enxuto
Dito isto, se você está intimamente familiarizado com o Linux ou o FreeBSD e não tem tempo para investir, provavelmente é uma idéia melhor acompanhar um deles.