How to Completely Disable the ‘isc-dhcp-client’ Daemon in Ubuntu Server

In legacy Ubuntu Server environments, the isc-dhcp-client (often executed as the dhclient daemon) was the standard tool used to request and renew IP addresses from a DHCP server. However, modern Ubuntu releases (18.04 LTS and newer) have entirely transitioned to systemd-networkd and Netplan for network configuration. Despite this transition, the legacy isc-dhcp-client package often remains installed and occasionally runs in the background, especially if older network scripts or third-party virtualization tools invoke it manually. Running two competing DHCP clients simultaneously can cause severe routing conflicts, dropped packets, and IP address churn on your server.

This guide explains how to completely disable and remove the legacy isc-dhcp-client daemon in Ubuntu Server, forcing the system to rely exclusively on the modern systemd-networkd stack.

Stop and Remove the Legacy DHCP Client

Because dhclient is often invoked as a standalone binary rather than a persistent systemd service, masking it is not always sufficient. We must physically purge the package from the system.

  1. Log into your Ubuntu Server via SSH or local console using an account with sudo privileges.
  2. First, forcefully terminate any active instances of the legacy client to prevent immediate IP conflicts:
    sudo killall dhclient
  3. Next, use the Advanced Packaging Tool (APT) to completely purge the legacy client and its associated configuration files:
    sudo apt-get purge isc-dhcp-client -y
  4. Finally, clean up any orphaned dependencies that were installed alongside the package:
    sudo apt-get autoremove -y

Verify the Modern Network Stack

By purging the package, you guarantee that no script, cron job, or administrator can accidentally invoke the deprecated DHCP client.

To verify the lockdown is successful, attempt to manually run the binary by executing sudo dhclient eth0 (or your relevant interface name). The terminal will return an error stating command not found, confirming the binary is completely eradicated. Moving forward, you must use Netplan (/etc/netplan/*.yaml) and systemd-networkd to manage your DHCP leases and static IP configurations, ensuring a stable, conflict-free routing table on your Ubuntu Server.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.