Before onboarding and discovering a BIND9-based DNS server into DDI Central, you must reconfigure it to run under a dedicated, low-privilege user (ddi) and grant only the minimum required capabilities. This is because running named as root is risky—it gives the DNS process unnecessary system-level privileges. In order to harden security, transitioning the ddi user ensures the DNS server operates with just enough permission to function, significantly reducing the attack surface.
For DDI Central to read, discover, and ingest your BIND9 configuration and zone files, they must be owned and accessible by the ddi user. Changing ownership (chown) and permissions (chmod) ensures proper access without exposing files to the wrong users.
Ensure the `ddi` user owns the necessary files and directories:
or
This makes sure the ddi user—and only that user—owns all of the BIND configuration and zone files.
or
Now that ddi owns them, only ddi (read/write) and the root or members of the file’s group (read/write) can touch those files. Everyone else is denied access.
Linux privileges normally require you to run as root to open ports below 1024. To enable the `ddi` user to bind to privileged ports (TCP/UDP 53, 853, 443) without full root privileges, apply the following capabilities:
It grants just the CAP_NET_BIND_SERVICE capability to those two binaries, so they can open low ports.
Verify with:
Both commands should show that cap_net_bind_service=ep is set. By using Linux’s cap_net_bind_service, the DNS server can still bind to critical ports (53 for DNS, 853 for DoT, 443 for DoH) without needing root. This is essential for secure environments where full root execution is discouraged or prohibited.
-Open and edit your BIND systemd service file—depending on your OS it’ll be named either:Depending on your OS and setup, open:
Then under [Service] section make these changes:
[Service]
ExecStart=/usr/sbin/named -u ddi -c ${NAMEDCONF} $OPTIONS
TimeoutStartSec=30s
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/usr/local/bind9/var
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
Here,
After saving the changes, reload systemd:
Once the above steps are complete and `named` is running as the `ddi` user with the proper security context, proceed to:
Once the cluster is created, you'll be immediately directed to the Servers page to add your DNS and DHCP servers. If not, you can add servers by selecting the Settings menu from the menu bar along the left side of the screen. From the submenus that appear in parallel, choose Servers.

Enter the server details like
SERVER NAME: A required field where you assign a unique name to the server being configured or added for identification.


DISCOVER EXISTING CONFIGURATIONS?: You have two choices to make here; opt for Step 7 or Step 8 depending on your requirement.
Step 7 -> Advanced DNS-DHCP-IP address discovery
Specify any one of the options :DNS, DHCP, or Both to discover all the existing configurations from the server, or
Step 8 -> Adding and configuring servers using DDI Central
Specify No if you just want to add and setup a new server from the scratch. You can setup the required DNS, DHCP or combined configurations to your server to get it configured through the user-friendly DDI Central user interface later.
To discover all the advanced configurations of DNS-DHCP services, the whole IP address plan and the current IP address inventory
Choose any one of the three options: DNS, DHCP, Both, for the Discover Existing Configurations?.

Provide the essential Config Path and the Zone File path for the DNS servers, while providing the Lease Path and the DHCP server path for the DHCP servers.
You can add new servers to DDI console and enable ManageEngine DDI Central to implement, configure, and manage DNS, DHCP and IPAM services on your network infrastructure from scratch.
As DDI Central has DNS and DHCP bundled with the product and it gets deployed on your servers while installing the product.
For this, you'll have to choose No for Discover Existing Configurations? option.
APP CONSOLE: Enter the static IP address of the central server that hosts the DDI application console associated with this server.
Click Save to add the server into the ME DDI console.
If you have chosen the discovery option as outlined in Step 7, ManageEngine DDI Central will begin to discover configurations from the designated paths for each service.
Once you add your server into the DDI Central console you can further proceed modifying the discovered DNS-DHCP-IPAM configurations or quickly start setting up the DNS-DHCP-IPAM configurations for the new server through the user-friendly DDI Central user interface.
Other than the general actions, you can also perform the following actions:Flush DNS Cache: Hit the button "Flush DNS Cache" to refresh the DNS cache of the selected server to ensure that the DNS information hosted on the server is up-to-date.

A dialog box appears prompting you to specify the scope of the cache flush. If you want to flush the cache of all the zones on the server, click Flush All or if you just want to flush the cache of a specific zone on the server, click Flush Specific.


Both DNS and DHCP servers within a cluster can be suspended from providing further updates to the app console UI, by going to Servers>Actions, and clicking on Suspend option in the dropdown menu.


After selecting yes to suspend the selected server, the server will be marked Unmanaged in the status section.
When the admin wants to change the state back to Manage, the suspended servers can also be resumed to reflect their updates in app console UI, by clicking on the Resume Operations option.



DDI Central now allows users to update the status of their servers and associated services by clicking the Check Status button after selecting the desired server. This action refreshes and displays the current status of both the server and the services it hosts. Users can select one or multiple servers to update their status simultaneously.

