How to cheaply build a small PFsense router?

I wish there was an intel nuc or similar that had dual intel NICs

If you have a switch with VLANs you can always do a "router on a stick" setup. Not optimal but it works for some.

2 Likes

There will be in a few months, but it has realtek nics... but you can jerry rig an Intel NIC or two onto it.

What kind of power supply do I need? I mean a normal PSU wouldn't fit into the case. So I was thinking external PSU, but the motherboard has an ATX connector.

This is a pretty good solution if internal networking wasn't a big deal as you'd still be able to saturate a decent internet connection with this setup.

Look at Pico PSUs, they are small fanless ATX power compatible PSUs. I opted to buy this case for my server which came with an internal PSU that has ATX power over a Pico because it wasn't much more in price but it is now discontinued. It also doesn't have any PCIe expansion slots which could be a problem.

I guess I'm gonna buy this one then:

Kinda pricey and only 60W. But it's small and 60W should be enough.

The PSU is actually 120W but the included power brick can only supply 60W of power.

That's good to know!

Any suggestions on the storage medium? I'd like to have an HTTP cache or something like that. I have an old 2.5" HDD, but I'm worried about HDD noise at night. Could I tell pfSense to disable caching at nights?
On the other hand I'm worried about using an SSD because pfSense would constantly read and write to it for caching.

For RAM, I think I'll go with 2 GB. And I should probably buy low-profile RAM.

And for the WiFi card I'll probably have to drill holes into the case, huh? I mean for the antennas. Well, I can live with that.

Don't get your hopes up on Squid caching. Most everything is HTTPS now days, and when I ran it for over a year, I don't think it did anything. If anything, it probably slowed down the network.

2 Likes

I know that, but if you ever ran Linux you should know that packages are not downloaded over an encrypted connection. Also, when I build or pull docker images on different machines, I hate it when it has to download whole distribution images etc. I just want an easy way to get all that stuff cached.

You download the same stuff over and over? Strange.

Have you ever used docker? Do you have more than one Linux machine at home and install updates on them regularly?
Downloading stuff multiple times isn't strange, it's just annoying.

Before I moved it downstairs I ran my server in this case in my room and I couldn't hear the two 2.5 drives while sleeping, I'd have to put my ear right next to it. Also has @NetBandit said, caching simply isn't worth it and even reduces performance in some cases.

That's good news, thank you.

Could you elaborate on "in some cases"?
The thing is that when docker downloads a new distro base image that can take up to 60 minutes depending on the server and my current Internet speed. Caching would reduce that to probably less than a minute.
For a project I recently worked on, I think I downloaded debian like 100-200 times. Literally. It was such a pain and slowed down my development significantly...

You could just use a local docker registry? You shouldn't need to download everything every time. Just a thought but you won't get to tinker doing that where you could with a local cashe. Sometimes we don't want the easy way, the easy way had less adventure!

In my experience caching is mostly dead. With the use of CDNs with dynamic links and https it just doesn't do anything for you anymore.

1 Like

Web browsers cache web content so using squid only adds extra latency to connection and for use cases where you want to cache downloaded files you can't guarantee that you'll get a hit on the cache. As @willrun4fun pointed out, HTTPS and caching from CDNs doesn't work.

Is there a reason that you aren't wanting to go with the Netgear SG-100?

if squidcache isnt worth it then it seems one of these SG-100 boxes is the best option

are there any other packages in PFsense that use storage space?

I don't need caching for web browsing.
As I said I mainly want it so that Linux packages etc get cached.

@MichaelLindman How much latency are we talking about? I wouldn't really care if http responses would take 10 microseconds longer than they did before.