When your Ubuntu Server obtains an IP address via DHCP, the lease typically has an expiration period. You might need to manually renew this address when:
- Network configuration changes occur
- You're troubleshooting connectivity issues
- Moving between networks (especially in cloud environments)
The primary tool for DHCP operations is dhclient
. To release and renew your IP address on interface eth0:
sudo dhclient -r eth0 # Release current lease
sudo dhclient eth0 # Request new lease
For systems using ifupdown (common in older Ubuntu versions):
sudo ifdown eth0
sudo ifup eth0
Note: This method completely restarts the network interface.
After renewal, verify your new IP assignment with:
ip addr show eth0
# or alternatively
ifconfig eth0
For automatic renewal at specific intervals, edit /etc/dhcp/dhclient.conf
:
interface "eth0" {
send host-name "your-hostname";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
renew 2 0 0 0;
rebind 2 0 0 0;
expire 2 0 0 0;
}
If you encounter problems, check the DHCP server logs:
sudo tail -f /var/log/syslog | grep dhclient
For more verbose output during renewal:
sudo dhclient -v eth0
On cloud platforms like AWS or Azure, you might need to use platform-specific tools:
# For AWS EC2
sudo service network restart
# For Azure
sudo systemctl restart walinuxagent
For automated renewal in scripts:
#!/bin/bash
INTERFACE="eth0"
LOG_FILE="/var/log/dhcp_renewal.log"
echo "$(date) - Renewing DHCP lease for $INTERFACE" >> $LOG_FILE
sudo dhclient -r $INTERFACE && sudo dhclient $INTERFACE >> $LOG_FILE 2>&1
When working with Ubuntu Server, network interfaces configured via DHCP automatically attempt to renew their leases periodically. However, there are situations where you might need to manually trigger this process:
- After changing DHCP server configuration
- When troubleshooting network connectivity issues
- If you suspect IP address conflicts
- When moving a server between network segments
The primary tool for DHCP operations on Ubuntu is dhclient
. To release and renew your IP address on interface eth0:
sudo dhclient -r eth0 # Release current lease
sudo dhclient eth0 # Request new lease
For systems using netplan (Ubuntu 17.10 and later):
sudo netplan apply
For systems using ifupdown:
sudo ifdown eth0 && sudo ifup eth0
Check your new IP assignment with:
ip addr show eth0
Or for detailed DHCP information:
cat /var/lib/dhcp/dhclient.eth0.leases
If you encounter problems:
# Check DHCP client logs
sudo journalctl -u systemd-networkd -u NetworkManager --no-pager -n 50
# Verify DHCP server availability
nc -vzu your-dhcp-server-ip 67
To schedule regular renewals, create a cron job:
# Add to /etc/crontab
0 3 * * * root /sbin/dhclient -r eth0 && /sbin/dhclient eth0