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