Home Network Setup

I felt like putting this here for some reason. If you’re so curious as to my home network setup, and what I run on my network, now’s the chance to know!

Listed on this page is the hardware used on my home network, and then extra details pertaining to the hardware.

 

Last updated: January 2020

 

Networking Setup:

The networking setup that I have is an enterprise-grade SOHO style setup, using Ubiquiti equipment.

The main router on the network is the EdgeRouter X. While it has its flaws, the ER-X still is a very competent Gigabit router for $59 (price went up), and has been performing without issue on my network.

Even though the EdgeRouter X is a great router, I do have some complaints about it:

  • Hardware offloading has to be enabled to get any decent performance out of the ER-X
  • DPI is a no-go unless you like max speeds of ~200 Mbps on your network
  • Upgrading firmwares is a pain in the neck due to 256 MB of storage
  • Custom packages are a no-go with the limited 256 MB of storage – The ER-4 or ER-Lite is much better served for the task since they have 2 GB of internal storage
  • Once you start hitting it with 20-30 simultaneous connections, it starts to chug a bit, but nothing crazy.

 

For the Wi-Fi component of the network, I’m using Ubiquiti’s UAP-AC-Pro access points, two of them to be exact. One in the house, one in the office extension ($149/each), these access points do the job quite well – although their maximum throughput is limited to about 400 Mbps on a good day. I’ve had a few reliability issues with them however, so keep that in mind. Additionally, roaming between the two access points is pretty much seamless. I’ve had some issues however with devices locking on to a signal from the office AP in the house, even though the AP is intentionally pointed away from the house.

I plan on upgrading the AP in the house to the new FlexHD, which should have better 5GHz bandwidth, more range, and be able to support more devices at once.

When I first set up the Home Network with Ubiquiti, I only had one AP to cover the house & garage office, and this turned out to cause massive range issues. Unfortunately, I can’t run Ethernet to the office, so I had to come up with a solution.

To get internet up to the office, I decided to use Ubiquiti’s NanoStation 5AC Locos in an ultra short-throw link (about 40 ft). While the NS-5ACs are very good for what they are (300-400 Mbps capacity on a good day), they have very limited mounting options, which require you to get pretty creative. Right now, I have the one in the router room sitting in a tissue box on top of my modem, and the one in the office mounted to a pole that’s part of a movable shelf.

I plan to get nanoBeam ACs, which have a ball pivot for easy alignment (yay!!), plus easy wall mounting (double yay!!). I also plan to get the new UniFi Dream Machine Pro. Yes, it has it’s flaws, but honestly, it’s a steal for $379 considering the hardware it packs, and comparing it to getting a USG Pro (pretty comparable), Cloud Key Gen2, and a UniFi Switch. My only complaint is that there’s no built-in PoE on the switch, but I can understand that they probably want you buying a proper switch.

 

In late 2019, I transferred my entire server room into a cluster of 3 Raspberry Pis (A Pi 4, 3B+, and 3B) from the existing setup.

Home Server 1 had issues turning on after 20 minutes of being unplugged, even though I replaced the BIOS battery and did a BIOS firmware upgrade to see if that helped.

Home Server 3 started crashing at random towards the end of it’s life as a server, causing most of the network to go down. In the final days, it had the UniFi Controller, UNMS, the VPN Server, UrBackup, and the Pi-Hole all running on it. As soon as the crashes became pretty frequent, I transitioned over to the Pi cluster that I now have.

I run one service per Pi, so that if one does go down, it minimizes the potential impact on the network. I never got around to restoring UrBackup to a Pi, but I plan to do so one day. I also may restore UNMS to a Pi at some point.

The UniFi Controller (Home Server 4, Raspberry Pi 4B):

The UniFi Controller is powered by the Raspberry Pi 4 4GB RAM model. And you know what, the RPI 4B with 4 GB of RAM really does kick ass. It has all the improvements that I ever wanted from a Raspberry Pi, plus it can now finally run proper software like the UniFi Controller or UrBackup.

I’ve had no issues thus far with corruption or RAM, since there’s so much RAM! The controller runs very smoothly for the most part, with no noticeable lag. I also use this server for a script that runs each day to check up on college portals (see the Portal Bot project), and it runs headless Chrome just fine. The only thing I had to do was use this options flag: –disable-features=VizDisplayCompositor to make it work.

 

The Pi-Hole (Home Server 2, Raspberry Pi 3B+):

Fun fact: The RPi 3B+ that I have was originally a Pi-hole, because when I set up the Pi cluster, it had an IP address mapping in my DHCP settings. I know this Pi is reliable and fast to run the Pi-hole, and it does the job extremely well. I have about 800,000 domains on my blocklist, and DNS queries are returned very quickly.

 

The VPN Server (Home Server 5, Raspberry Pi 3B):

This one is a more interesting story to tell. When deciding what I should use to run the VPN Server, I decided on using a Raspberry Pi 3B (original one), for the heck of it. I continue to use and love SoftEther VPN Server (although if I do upgrade to a UDM Pro, this server will become defunct as UDMs and USGs have a VPN server built-in), as it provides extensive yet easy VPN server customization for the L2TP/IPsec protocol. It also has OpenVPN Server support, plus its own protocol which runs on port 443 (great for firewalls that are kinda stupid).

I wondered how well the VPN Server would run on the Raspberry Pi. Surprisingly, it runs very smooth for the most part. Compiling the software and transferring my configuration file was a breeze. The only area that I had a little trouble was getting it to autostart on boot, but there are forums online with instructions on how to take care of this issue.

The only complaint I have is that the Raspberry Pi has a pretty tiny TCP/UDP buffer, meaning that maximum speeds are limited to somewhere around 20-30 Mbps, unless you increase the buffer size.

Now, mind you, I’m using my VPN Server very lightly, usually to update servers every so often, or to maybe access a network resource of mine. I can only assume that the Pi would start to become a huge bottleneck if you use it heavily, or have multiple users connecting to it. However, for single-user use, I have no complaints.

 

 

And that’s my home network! It isn’t the most complex thing in the world, but it works for what I need it to do. I’ve tinkered around with different services for about a year now, even spending nights in a server room.

Additionally, there are servers that ran on my network, but that aren’t in use for a variety of reasons:

  • Mac Mini (formerly the Home NAS) – While I had no complaints with the Mac Mini as a NAS, I realized that since I was the only one using the NAS, I could just install more hard drives into my computer, and get faster speeds. And that’s exactly what I did.
  • eMachines EL1852 (formerly Home Server 1) – See issue above about not rebooting after power loss. I retired this server since all it was running was the VPN Server, and didn’t see any value in keeping it up.
  • Dell Precision T3503 (formerly Home Server 3) – See issue above about the random crashes. It’s now a TV room machine for streaming services, works pretty well on Win 10.
  • Dell Dimension 4600 – With a Pentium 4, 1.25 GB of RAM, and an 80 GB HDD that’s annoyingly loud, plus 100 Mbps ethernet, I didn’t see any value in running programs on this machine.
  • iMac (2002) – With a PowerPC processor of all things, 512 MB of RAM, and Debian 6, it wasn’t up to the task of ever being a server, even a backup server.