IP, routing and IPv6

Renew the DHCP lease on a Mac

A DHCP lease gives the Mac its IP address, router and DNS servers. A renewal asks the DHCP server for them again.

Applies to: macOS 13 Ventura and later for the System Settings steps. The Terminal commands work on all current macOS versions.Checked: 29 October 2026

Symptoms

  • The Mac has a self-assigned or wrong IP address.
  • The router changed, but the Mac keeps old DNS servers.
  • The connection stopped after the router restarted.

Likely causes

  • An old lease. The Mac keeps its lease until it ends. A change on the router does not always reach the Mac at once.
  • A short lease time on a busy network. Apple says that you can need to renew often when many computers use one DHCP server.
  • A DHCP request that failed. The request did not get an answer, for example after sleep or a cable change.

How to check

  1. Find the device name of each network port, for example en0 for Wi-Fi.

    networksetup -listallhardwareports
  2. Show the current address.

    ipconfig getifaddr en0
  3. Show the lease from the DHCP server, with the router, DNS servers and lease time.

    ipconfig getpacket en0

How to fix it

  1. Choose Apple menu > System Settings > Network.

  2. Click the network service, then click Details.

  3. Click TCP/IP, then click Renew DHCP Lease. Click OK.

  4. Run ipconfig getpacket en0 again and compare the values.

  5. If nothing changes, turn Wi-Fi off and on again.

    networksetup -setairportpower en0 off

    Needs an administrator password.

  6. Turn Wi-Fi on again.

    networksetup -setairportpower en0 on

    Needs an administrator password.

With Kilobat

  1. The CLI turns Wi-Fi off and on in one step.

    kilobat wifi restart

Questions

Do I always get a new IP address?

No. Many DHCP servers give the same address back to the same device.

What does scutil --renew do?

The scutil man page says that it starts a new check of the network configuration on the interface.

Sources

Sources checked on 29 October 2026. Man pages are the ones installed with macOS; open one with man <name> in Terminal.