I wanted a silent, efficient OPNsense box with more headroom than typical ARM appliances. Protectli VP2420 chassis, but I swapped the stock Celeron.
Parts list:
* Chassis: Protectli VP2420 (4x Intel i226-V 2.5GbE ports)
* CPU: Intel Core i3-12100T (low-power 35W TDP variant)
* Motherboard: ASRock H610M-ITX/ac
* RAM: 32GB Crucial DDR4 3200 (overkill, but price was right)
* Storage: 256GB Kingston NV2 NVMe
Idle power consumption measured at the wall with a Kill-A-Watt:
* BIOS defaults, no drives: **18W**
* OPNsense 24.1 installed, idle with basic firewall rules: **22W-24W**
* Under synthetic load (``stress -c 4``): peaks at **48W**
Performance baseline with `iperf3` (internal interfaces, 2.5GbE):
```
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec receiver
```
No packet loss, CPU usage <15% during test. The i3-12100T's single-thread performance handles Suricata/IDS well if needed. The stock Celeron J6412 in the barebones unit would bottleneck at higher rule counts.
Total build cost was ~$450, excluding the power meter. The T-series CPU was critical for the power target.
Numbers don't lie.
That's a really interesting approach, using a standard low-power desktop CPU in that Protectli case. I'm looking at a similar project but am worried about complexity.
When you swapped the CPU, did you have to deal with any specific BIOS settings or driver issues to get all the i226-V ports working correctly in OPNsense? I've read some posts about needing specific drivers.
The driver issue was the main thing I was worried about too. With OPNsense 24.1, the i226-V worked out of the box for me, no extra steps. The kernel seems to have the right igc driver baked in now.
One thing I did have to change in the BIOS was to enable the iGPU. Even though you don't need it for routing, leaving it disabled on my ASRock board made the system hang on boot sometimes. Just setting it to 'Auto' fixed it.