I spent quite a bit of time researching solutions for virtual routers. I’m definitely not a r/s expert, so I wanted something that was easy to setup, and still provided lots of tools for troubleshooting. Initially I setup the lab using vyos router, and it met my needs. But I since switched to pfsense, and it’s absolutely amazing. Plus it comes with a pretty sweet firewall. So my guide here, will be a tutorial on how to deploy pfsense and configure it for home lab purposes. If you already have a router in mind, or a physical router, feel free to skip these steps.
Initial config and disable firewall in pfsense cli
GUI configuration of pfsense – Initial config of firewall
Setting up the Interfaces
Firewall rules for each of the interfaces
I’m not going to go through each of the edit screens on how to add firewall rules, since I have shown examples in the above screenshots. Instead i’m just going to post screenshots of the firewall rules that I have added for each interface. In some instances I have just added a blanket allow all from any to any because its my home lab and pfsense is not my actual internet firewall 🙂 If you want to keep it more secure, go for it.
Configure DHCP – Optional, but recommended
I would recommend setting up 50 or so IPs to be used for DHCP. It makes spinning up new vms in vcenter a little easier since it will auto select and IP, get the correct dns server, domain name, etc. Configure these on all the interfaces EXCEPT The WAN (Internet) interface.
Optional: Parse the xml and skip the step by step guide
This is my backup config. It probably won’t load for you if you try and do a system restore since I’ve removed cert info and passwords, etc. But if you prefer to parse this and setup pfsense, i’m making it available.
We now have our SuperMicro server setup, and the esxi7 network settings are configured. It’s time to deploy our 3 nested ESXi7 vms. In later steps, we will configure them to use vSAN and be managed with vcenter.
Deploy 3 ESXi7 VMs
Methods to install nested ESXi in your lab:
The method we used for the baremetal install. Basically mount the ISO as a (Datastore ISO) to a newly created VM, and go through the install process. This takes time to do for 3 vms, and i’m lazy 🙂
Use a preconfigured ova, and just modify it to our needs. We will be using this method. Head on over to William Lam’s website to download the ova. Filename: ESXi 7.0 Update 2a Virtual Appliance.
Configure the 3 nested ESXi7 VMs
Repeat the above steps to create 3 total ESXi nested vms: vesxi7-1, vesxi7-2, vesxi7-3
12 vcpu (12, 10, 10)
128 GB memory
12 HD1 thin
4 HD2 thin
20 HD3 thin
200 HD4 thin
200 HD5 thin
200 HD6 thin
Network Adapter 1 vLAN10-Management
Network Adapter 2 vLAN10-Management
Network Adapter 3 vLAN20-vMotion
Network Adapter 4 vLAN20-vMotion
Network Adapter 5 vLAN30-vSAN
Network Adapter 6 vLAN30-vSAN
Network Adapter 7 vLAN40-vmNetwork
Network Adapter 8 vLAN40-vmNetwork
Network Adapter 9 vLAN50
Network Adapter 10 vLAN50
Powering on the Esxi hosts and setting management network
8 cores, and its pretty beefy, and you can overclock it. I have quite a bit running and i’m only around 60-70% utilization. And up to 512gb of memory should be plenty. Also this model comes with an active fan on the cpu!
I bought 256gb of memory. Obviously you could get 4 sticks of 128 and just max it out, but my thought process is that if I actually exceed the 256, then it’s probably time to add a second server and get more cpu anyway.
Ethernet cables monitor/keyboard for configuring and installing esxi on the supermicro surge protector/battery pack
You’ll obviously need some extra components that you might already have laying around..
Guide to install esxi7 on the newly built SuperMicro server. There are a ton of guides out there explaining how to install ESXi onto your host. Honestly, it’s not that difficult. But i’ll post my setup.
VMware vSphere Hypervisor (ESXi) 7.0U2a
Download the ISO file from vmware, should see a file like this: VMware-VMvisor-Installer-7.0U2a-17867351.x86_64.iso
Burn the ISO to a usb, microsd, ssd, etc. In my case, I had a USB laying around and burned it there. File size is around 400MB. I used Rufus 3.14
Insert the usb into SuperMicro usb slot in the back and power on, you will need a keyboard and a monitor hooked up as well.
If you followed all the steps above, you should now have ESXi7 installed on your supermicro and you should be able to access the UI. Username will be root, password will be the password you set in the above steps.