The 600 euro Hypervisor

If something is worth doing, it's worth overdoing.

Nile Rodgers

So if you're going to build a server to monitor the home network, why not build 6? When we moved to our new house about a year ago, we pulled out all the COAX and phone cables and replaced them with UTP cables. We setup a Ubiquiti AP on every floor and build a panel to hold the switches, router, a patchpanel and an Intel NUC as Ubuntu server. Now every room has ethernet ports and the wifi works like a dream.

Running all the services needed on 1 Ubuntu server was fine and got the job done. But now the time has come to upgrade the server and give every service a dedicated host. So first things fist, the hardware:

  • Intel NUC Kit NUC8i3BEH
  • Ballistix Max 32 GB DDR4 SODIMM
  • Samsung 860 EVO 1TB

That should be more then enough to run all the servers we need. Now to install the software.

First make sure to enable virtualization and disable secure boot in the bios. The first idea was to install Ubuntu server 18.04 and run Virtualbox along with PHPVirtualbox. This easy enough, until we wanted to install a new server. As there was some trouble getting the remote desktop to work. After building an image on my laptop and copying it to the server, overcoming the network adapter issues by first booting the image without a NIC the shutdown and boot with NIC enabled. I created an image from where I could clone the others.

The first issue I ran into was finding the newly started servers on the network, I could see the login screen on the console, but getting the RDP to actually work was buggy and frustrating. It would work for one machine but not for the other. So I edited the /etc/issue file and edited the header to include the ip: IP: \4 now at least I can see where to SSH to.

Now this worked with an Ubuntu image, but installing another OS would be difficult. So after some research on the internet I decided to start over and use the VMWare ESXi.

The install was pretty easy and straightforward, I set it up to a fixed ip and setup the initial root password. After rebooting you simply go to the ip in a browser and login with the root user and password. The first thing to do was to create a Master Image again to clone the other machines of. Installing Ubuntu was a lot easier compared to the troubles we had with Virtual Box, but the next ~~problem~~ challenge was how to clone the image. As we are using the free version, there is no simple clone option on the image. But with some creative copying this can be done:

  1. Copy the MasterImage.vmdk to a new folder (I called it tmp.vmdk)
  2. Create a new image and select the tmp.vmdk as hdd
  3. Before you start the machine copy the tmp.vmdk into the new machine folder as <imageName>.vmdk
  4. Edit the machine settings to remove the tmp.vmdk disk and add the <imageName>.vmdk

Easy as that.

Next step was to install all the machines for the services needed:

  1. DNS / DHCP
  2. Reverse Proxy (for ssl offloading)
  3. VPN
  4. unifi controller
  5. unifi video controller
  6. docker
  7. more will follow I'm sure

Tutorials on how I did those will follow!