Ultimate Custom Home Router (Mini ThinkCentre M73)


Scratch all this and install pfSense on ESXi*

There are many guides on building home routers – too many.  Most of them revolve building a budget box out of cheap components for 50 -100 dollars.  This is a waste of time….a suitably quick machine can be purchased for little money and will just work.  If you have a server rack in your home you likely will have no interest in this article (and shouldn’t).  Porting enterprise equipment to a home environment with little to no maintenance can be a fun and ultimately rewarding experience – if you want to invest the time and possibly more money…depending on how / what hardware you source.

This is my far from my first effort at replacing a store purchased router.  For the sake of simplicity a reliable (relatively) Buffalo device running DD-WRT has powered my home network.  When I say simplicity (and reliability), it is because for many years i have used a windows server machine as a home router with ISA Server and eventually TMG 2010 (Threat Management Gateway). Both of these firewall products are now deprecated – for good reason. Windows as a router is not a terrible solution – arguably better than a retail router, but has some drawbacks.  Many drawbacks.  Namely, you will spend a lot of time RDP’ing into the box when you shouldn’t have to to validate basic functionality.  I’ll spare the details for this write-up, but windows in  any production environment, let alone a residence, can be a very temperamental and sensitive machine, especially if you like to be “aggressive” on occasion.  I’ll elaborate on this in the future.

So let’s get creatively cheap and prowl around eBay.  I came up with the following (eventually):

  • D-Link DAP-1650 (Wireless Access Point) ~ $20 – $40
  • Lenovo ThinkCentre M73 8GB Memory, 80GB SSD (Mini / Micro PC) $50 – $120
  • 80GB SSD (From around the house)  – many mini desktops come with SSDs – I got a deal on one with a spinner.
  • Lenovo Gigabit LAN USB Dongle (From around the house) $10 – $30

The weak link here would be the D-Link. For a cheap access point, it surprisingly includes a gigabit LAN switch.  A used mesh network controller, probably a retired enterprise Cisco unit and various access points with power over ethernet (POE) would be my preferred solution – in the future a variation of this will be my setup.  Anyways, it works and blankets my current environment with reliable and fast WI-FI.  Alternatively, the machine itself can be configured as a wireless access point (WAP) with an appropriate WIFI adapter and software configuration – this is more trouble than it is worth with inferior results.


Now the fun part.  Originally I built a routing box with a Lenovo Q190 that had been collecting dust for a number of years.  It didn’t accommodate all of my needs – more on that later.  Eventually I replaced it with a ThinkCentre M73.  The key to this is a small form factor and an SSD.  When you consider what a store purchased router is (without all the antennas – marketing departments seem to love antennas) in its simplest form, you have a Linux box running on minimal hardware.  Logical deduction would conclude that a beefier desktop PC with more than enough hardware would provide better performance – it does, much more than you would expect.

As for the Lenovo M73 that will be the basis for our router – it is an extremely quick, small form-factor PC.  You might usually see these mounted to the reverse side of a monitor in a corporate environment.  In this case, the machine i ordered came with a conventional HDD;  this was immediately replaced with an 80GB SSD which i had previously acquired for about $20.  Why an SSD? It’s faster, more reliable and boots faster than a retail router… Lastly, we need a USB dongle for either our LAN or WAN network; any option will do here as long as it is compatible with Centos 7 / RHEL and I would recommend going with an option that supports 1000baseT (GB LAN speeds).


So let’s begin with the installation and configuration.  I recommend connecting your USB NIC(s) prior to the install so that they are detected.  Along with that, you should also enable them during the setup procedure – this will save some configuration time later on.  This guide will advise a minimal installation of your distribution.

  1. Install Centos / RHEL on the target machine
  2. Install Net-Tools Package
  3. Install Network Manager / NMTUI
  4. Configuring DHCP for LAN Address Assignment and DDNS
  5. Update System with Yum
  6. Enabling Routing and Configuring WAN / LAN Designations
  7. Install GUI (Optional)

Challenges Encountered:

Other Stuff:


About the author

Lima is the visual nautical indicator for "stop instantly."


Leave a Reply