Moving from OpenBSD to FreeBSD for firewalls
Motivation for Moving from OpenBSD to FreeBSD
- Main driver is performance, especially for 10G firewalls. OpenBSD’s PF and network stack are seen as lagging in SMP scaling and CPU affinity support.
- FreeBSD offers better multi-core performance, more tunability, and 5‑year support cycles for major releases, which aligns better with long-lived firewall deployments.
- Existing PF rulesets make staying with PF (via FreeBSD) more attractive than moving to Linux firewall stacks.
OpenBSD Release Model and Corporate Fit
- Lack of LTS (6‑month release cadence, ~1 year support) is viewed as a serious drawback for large corporate environments with many hosts.
- Some note that OpenBSD’s modern update tools (syspatch/sysupgrade) make upgrades relatively painless now, in contrast to older, source-based update workflows.
- Others argue that OpenBSD explicitly doesn’t aim to provide LTS; if you need that, you should choose another OS.
PF vs Linux Firewalling (iptables/nftables/ipfw)
- PF is repeatedly praised as intuitive, expressive, stable, and very well documented; many consider it vastly nicer than iptables and still preferable to nftables.
- Linux nftables narrows the gap; some have successfully migrated to nftables-based firewalls and are satisfied, especially when combined with features like flowtables.
- FreeBSD’s PF diverged from OpenBSD’s; historically more performance-focused vs OpenBSD’s feature/ergonomics focus, but recent work in FreeBSD aims to resync features without breaking compatibility.
10G+ Performance and SMP Concerns
- Experiences vary: some report big recent OpenBSD TCP performance gains and doubled throughput after upgrades; others still see OpenBSD as “shockingly sluggish.”
- FreeBSD firewalls in the thread reach ~8 Gbit/s on 10G links with stateful filtering—better than OpenBSD but not wirespeed, and NIC/driver choice matters.
- Discussion of deep optimizations: per-core queues, lockless/finely locked data structures, CPU affinity, and how OpenBSD deprioritizes such complexity due to security/maintenance concerns.
- For very high packet rates, some move to ASIC-based gear (e.g., Juniper SRX, Mikrotik ARM boxes) as simpler and more cost-effective than heavily tuned x86 software routers.
Filesystems and Reliability
- FreeBSD’s root-on-ZFS is a strong selling point to some: snapshots, resilience, and journaling/COW semantics for critical infrastructure.
- OpenBSD’s FFS/UFS (no journaling, soft updates recently removed) draws criticism as “ancient” and fragile under power loss; others counter that it’s simple, heavily audited, and robust, just slow and lacking modern conveniences.
- Debate over whether ZFS is overkill or exactly the “just use it everywhere” pragmatic choice; anecdotal reports span from “bulletproof for years” to “only serious issues I’ve ever had.”
Linux vs BSD for Firewalls
- Some ask why not Linux; answers emphasize PF, OpenBSD’s cohesive base system (DHCP, RA, NTP, SSH, etc.), and the relative stability and consistency of BSD userland and documentation.
- Counterpoints: Linux offers higher performance, better hardware support, and familiar tooling for many operators; nftables is “pretty nice” and traffic shaping under Linux, while arcane (tc), can be very capable.
- One view: BSDs make better “set-and-forget” single-purpose appliances; Linux evolves faster but can feel fiddly (interface naming changes, multiple firewall frameworks, container interactions with firewalling).
Culture, Documentation, and Ecosystem
- OpenBSD is characterized as small, opinionated, security- and correctness-first, with features only added when they solve problems for core developers.
- Its documentation (especially man pages and FAQs) is widely praised, and the ecosystem is relatively free of low-quality SEO/AI content; the downside is a steeper learning curve and weaker desktop/laptop polish.
- OpenBSD community is seen as less responsive to “customer-style” feature requests; expectation is to “scratch your own itch.”
Stack/Driver Portability Discussions
- Some imagine interchangeable TCP/IP stacks and drivers across OSes; related projects mentioned include NDISWrapper, DPDK, and NetBSD’s rump kernel (seen as largely stalled).
- General sense that deep kernel coupling (as with PF and BSD network stacks) both enables high performance and hinders portability and feature parity across OSes.