Мы используем исключительно OpenBSD роутеры / брандмауэры для обслуживания FogBugz On Demand. Если вы не работаете в роли транзита и не нуждаетесь в чрезвычайно высокой пропускной способности pps, которую может обеспечить специализированное оборудование и интегрированное программное обеспечение, OpenBSD на надежном оборудовании будет более управляемым, масштабируемым и экономичным решением.
Сравнение OpenBSD с IOS или JUNOS (по моему опыту):
преимущества
- Межсетевой экран pf не имеет себе равных в плане гибкости, управляемости конфигурации и интеграции в другие сервисы (без проблем работает со spamd, ftp-proxy и т. Д.). Примеры конфигурации не делают это справедливо.
- Вы получаете все инструменты * nix на вашем шлюзе: системный журнал, grep, netcat, tcpdump, systat, top, cron и т. Д.
- Вы можете добавлять инструменты по мере необходимости: iperf и iftop я нашел очень полезным
- TCPDUMP. Достаточно сказано.
- Интуитивно понятная конфигурация для ветеранов Unix
- Полная интеграция с существующим управлением конфигурациями (cfengine, puppet, scripts и т. Д.).
- Функции следующего поколения бесплатны и не требуют дополнительных модулей.
- Добавление производительности дешево
- Нет контрактов на поддержку
Недостатки
- IOS / JUNOS упрощают вывод / загрузку всей конфигурации. В отсутствие каких-либо инструментов управления конфигурацией их будет легче развернуть после написания вашей конфигурации.
- Некоторые интерфейсы просто недоступны или не стабильны в OpenBSD (например, я не знаю хорошо поддерживаемых карт ATM DS3).
- Высококачественные выделенные устройства типа Cisco / Juniper будут обрабатывать более высокие pps, чем серверное оборудование
- Нет контрактов на поддержку
Пока вы не говорите о магистральных маршрутизаторах в среде, подобной провайдеру, или о граничных маршрутизаторах, взаимодействующих со специализированными сетевыми подключениями, OpenBSD должен быть в порядке.
аппаратные средства
Самая важная вещь для производительности вашего маршрутизатора - ваши сетевые адаптеры. Быстрый ЦП быстро перегружается при умеренной нагрузке, если у вас есть дерьмовые сетевые карты, которые прерывают каждый отдельный пакет, который они получают. Ищите гигабитные сетевые адаптеры, которые хотя бы поддерживают уменьшение / объединение прерываний. Мне повезло с драйверами Broadcom (bge, bnx) и Intel (em).
Скорость процессора важнее, чем у выделенного оборудования, но не о чем беспокоиться. Любой современный ЦП серверного класса будет обрабатывать тонну трафика, прежде чем продемонстрировать какую-либо нагрузку.
Возьмите себе достойный процессор (многоядерные процессоры пока мало помогают, так что посмотрите на сырой ГГц), хорошую ECC RAM, надежный жесткий диск и надежное шасси. Затем удвойте все и запустите два узла как активный / пассивный кластер CARP. Начиная с версии 4.5 pfsync, вы можете запускать активный / активный, но я не проверял это.
Мои маршрутизаторы работают бок о бок с нашими балансировщиками нагрузки в конфигурации 1U с двумя узлами. Каждый узел имеет:
- Шасси Supermicro SYS-1025TC-TB (встроенные гигабитные сетевые адаптеры Intel)
- Процессор Xeon Harpertown Quad Core 2 ГГц (мои балансировщики нагрузки используют несколько ядер)
- 4 ГБ Kingston ECC зарегистрированной оперативной памяти
- Двухпортовый сетевой адаптер Intel Gigabit
Они были крепкими с момента развертывания. Все в этом является избыточным для нашей нагрузки трафика, но я протестировал пропускную способность выше 800 Мбит / с (ограниченная NIC, процессор был в основном простаивающим). Мы интенсивно используем VLAN, поэтому этим маршрутизаторам приходится обрабатывать большой объем внутреннего трафика.
Эффективность энергопотребления является фантастической, поскольку каждое шасси 1U имеет один блок питания 700 Вт, питающий два узла. Мы распределили маршрутизаторы и балансировщики по нескольким шасси, чтобы мы могли потерять все шасси и получить практически бесперебойную отработку отказа (спасибо pfsync и CARP).
Операционные системы
Некоторые другие упоминают об использовании Linux или FreeBSD вместо OpenBSD. Большинство моих серверов FreeBSD, но я предпочитаю маршрутизаторы OpenBSD по нескольким причинам:
- Более пристальное внимание к безопасности и стабильности, чем у Linux и FreeBSD
- Лучшая документация любой ОС с открытым исходным кодом
- Их инновации сосредоточены вокруг реализации этого типа (см. Pfsync, ftp-proxy, carp, vlan management, ipsec, sasync, ifstated, pflogd и т. Д. - все они включены в базу)
- FreeBSD имеет несколько выпусков на их порте pf
- pf более элегантен и управляем, чем iptables, ipchains, ipfw или ipf
- Процесс настройки / установки Leaner
Тем не менее, если вы хорошо знакомы с Linux или FreeBSD и не имеете времени для инвестиций, возможно, лучше выбрать одну из них.