I recently had to rebuild homelab due to the SSD disk failure. I had backups but the initial setup wasn’t optimal. I decided to rebuild it from scratch.
As I am using PowerCLI script from William Lam https://github.com/lamw/vghetto-vsphere-automated-lab-deployment one of the prerequisites to successful lab deployment is working DNS. As I don’t want to use Windows Server Active Directory I used Zentyal Server. Besides Directory & Domain Server has many more features: mail server, gateway (routing, gateway, firewall, proxy, ids/ips), and infrastructure server (dhcp, ntp, ca, ftp).
If you want to know all features simply visit the webpage http://www.zentyal.com/zentyal-server/.
Zentyal is based on Ubuntu Server and has a very nice management panel via a browser.
Zentyal Server installation
The installation is quite simple but let’s go with the steps.
- On ESXi, click Create / Register VM and select Create a new virtual machine.

- Provide a virtual machine name, choose compatibility, guest os family and guest os version.

- Select the Datastore.

- As per installation wiki, we will provide 1vCPU and 2GB RAM and 80GB disk.
- Click OK.
- We need to mount Zentyal ISO - it is a pity that they don’t provide OVA/OVF for easy deployments.

- Power the virtual machine.

- As the virtual machine is powered on we can proceed with Zentyal Server installation. Choose the desired language.

- Select your location.

- Choose default locale.

- We can skip the keyboard layout detection.

- Choose your desired keyboard layout.

- In my case, I am in an isolated network and there isn’t a DHCP server. We must provide static IP.

- We must enter the static IP configuration.

- First IP address.

- Then the netmask.

- The gateway.

- Finally the name server address.

- We need to choose a hostname and enter it into the wizard.

- The last step from the networking part will be the domain name.

- In the next step, we have to create a username.

- Choose a password and confirm it again.

- Confirm detected timezone.

- Zentyal will be installed on the disk.

- After a few minutes installation will be completed.

Zentyal Server configuration
For my homelab, I need the following services: Active Directory and DNS. We will configure those two services in this section.
Zentyal Server Packages Installation
After the installation, we must install the desired services/packages.
- Login to the web interface using previously entered username and password.

- Click continue. We must select the services we want to install.

- Click install. On the next screen, we will see the summary of selected services.

- Once the packages are installed we are being asked about Active Directory configuration. We need to provide Host domain name.

Zentyal Server Active Directory
- In order to fully enable Active Directory, we must enable the module.
- Go to Module Status section and enable Domain Controller and File Sharing. Please note that it depends on Network, DNS and NTP modules.

- The most important part is to click **Save Changes **in the upper right corner.

- Confirm changes.

Zentyal Server DNS
- In my case, I will use DNS to host internal homelab DNS entries. In order to add DNS entries go to DNS.

- Click Hostnames and Add new.

- Next step is to add IP addresses to DNS entries. Click gearbox on desired DNS entry.

- The most important part is to Save Changes in the upper right corner.
Summary
Zentyal is the perfect solution for a Homelab where you want to have open source DNS, Active Directory and many more services. I use it every day and I am really happy.
Zentyal documentation
Installation wiki https://wiki.zentyal.org/wiki/En/5.0/Installation