Wi-Fi has the self-assigned IP address: What It Means and How to Fix It

Appears on: macOS. "Self-assigned IP" on Mac means DHCP failed and macOS fell back to a link-local 169.254 address. The fix is to renew DHCP, remove and re-add the Wi-Fi service, or delete system network plist files.

What a Self-Assigned IP Actually Means

A self-assigned IP address (169.254.x.x) is an APIPA address — Automatic Private IP Addressing. When macOS sends out a DHCP DISCOVER broadcast and receives no OFFER in response, it falls back to assigning itself a 169.254.x.x address so it can still communicate with other devices on the local link. However, 169.254.x.x addresses are non-routable: your Mac can see other APIPA devices on the same segment, but it cannot reach the router, the internet, or any outside service.

The DHCP Process That Failed

Normal DHCP follows a four-step handshake: your Mac broadcasts a DISCOVER, the router's DHCP server responds with an OFFER containing a proposed IP address, your Mac sends a REQUEST to accept it, and the server replies with an ACK confirming the lease. When macOS reports a self-assigned IP, the process stalled after the DISCOVER — no OFFER was received. The failure can sit with the router (DHCP server off or pool exhausted), the cable or wireless link (packet lost before reaching the router), or a local software condition blocking DHCP broadcast replies.

Most Likely Causes (Ranked)

  1. The router's DHCP server is disabled or its address pool is exhausted
  2. Physical cable is unplugged or damaged (Ethernet scenario)
  3. Wi-Fi authentication failed silently — Mac joined the SSID but did not complete 802.1X or WPA handshake
  4. macOS firewall is blocking incoming UDP port 68 (DHCP replies)
  5. Corrupt network configuration files in /Library/Preferences/SystemConfiguration/
  6. A VPN left persistent routing rules that intercept or drop DHCP broadcast packets
  7. A duplicate static IP on another device conflicting with the expected DHCP range

macOS-Specific Fix Steps

Step 1: Renew DHCP Lease

System Settings → Network → Wi-Fi → Details → TCP/IP → click Renew DHCP Lease. This sends a fresh DISCOVER and is the fastest first step. If a valid IP appears within a few seconds, the lease renewal fixed it. If the address remains 169.254.x.x, proceed further.

From Terminal: sudo ipconfig set en0 DHCP (replace en0 with your actual interface — use ifconfig to confirm). This forces an immediate DHCP renewal without going through the GUI.

Step 2: Forget and Rejoin the Wi-Fi Network

Go to System Settings → Network → Wi-Fi → click the network name → Forget This Network. Reconnect by selecting the SSID and entering the password. This clears any cached authentication state that might be causing a silent join failure.

Step 3: Remove and Re-add the Wi-Fi Service

System Settings → Network → select Wi-Fi in the left pane → click the minus (−) button to remove it → click plus (+) to add it back → select Wi-Fi as the interface type → click Create → Apply. This rebuilds the interface configuration from scratch.

Step 4: Delete the Network Configuration Plists

Corrupt plist files in the SystemConfiguration folder can prevent DHCP from working. Open Terminal and run:

  • sudo rm /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist
  • sudo rm /Library/Preferences/SystemConfiguration/preferences.plist
  • sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

Restart your Mac. macOS regenerates clean versions of all three files on boot. You will need to rejoin your Wi-Fi network afterward.

Step 5: Check for macOS Firewall Blocking DHCP

System Settings → Network → Firewall → turn Firewall off temporarily. Attempt a DHCP renewal. If an IP is assigned with the firewall off, the firewall is blocking UDP port 68. Re-enable the firewall and add an explicit rule to allow the DHCP service, or reset the firewall rules with: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --resetToDefaults

Checking the Router DHCP Lease Table

Log into your router's admin panel (commonly 192.168.1.1 or 192.168.0.1) and navigate to the DHCP server or LAN settings. Check whether the DHCP server is enabled and review the current lease table. If the table is full, all available addresses are in use — your Mac cannot get a lease because none are available. To fix an exhausted pool: either expand the DHCP range (e.g., from .100–.150 to .50–.200), reduce the lease duration (e.g., from 24 hours to 4 hours so addresses are recycled faster), or identify and remove stale devices no longer on the network.

Checking for Duplicate Static IPs

If another device on the network has a static IP address that falls within the DHCP pool range, it can cause conflicts. Log into the router and verify whether any static assignments overlap with the DHCP scope. Best practice is to assign static IPs either below the DHCP pool start (e.g., 192.168.1.2–.49) or above it (e.g., 192.168.1.201–.254), keeping the pool range exclusively for dynamic assignments.

Frequently Asked Questions

Does "Self-assigned IP" mean my Mac is broken?

Almost never. It is a DHCP failure — the hardware is fine. The problem is in the router's DHCP service, your local network configuration files, the firewall, or a VPN leaving bad routing state. Hardware failure as a cause of DHCP failure is extremely rare.

What if multiple devices on my network get self-assigned IPs?

If more than one device simultaneously gets a 169.254.x.x address, the router's DHCP server is the definitive problem — not the individual devices. Restart the router. If the problem persists after the restart, check the DHCP server settings in the router's admin panel.

Can a VPN cause this on macOS?

Yes. Some VPN clients install persistent kernel extensions or routing rules that interfere with DHCP broadcast packets. If the problem appeared after installing or updating a VPN, uninstall the VPN client completely, reboot, and attempt DHCP renewal before reinstalling.

Related Guides

More From This Section