I have been networking since 1994 when I bought some network cards for my PCs and started teaching myself network protocols. I see lots of definitions of 169.254, autoconfiguration, and link-local addressing out there today, but I realized nobody has what you want: why do I see this 169.254 stuff on my system? I will give you all the likely reasons in the subheadings below.
In IP/IPv4 addressing, the 169.254.(0-255).(0-255) address range is reserved for communicating on the local network only which is called “link-local” or “autoconfiguration” addressing. This means that such addresses can only speak to nearby computers (the local subnet) and not on the Internet to other locations. It is quite possible to have both a normal worldwide IP address and a link-local 169.254.X.X address.
Note that 169.254.0.0 (the subnet address) and 169.254.255.255 (the broadcast address) are generally not directly assignable to devices as IP addresses, and 169.254.169.254 is often used by cloud VM hosts.
169.254.X.X Addresses Are Used for Autoconfiguration
A PC or device will assign itself a 169.254.X.X IP address when no configuration is otherwise provided so that it may speak to other unconfigured devices on the same network.
Many brands of PCs, printers, routers use such autoconfiguration for initial setup or as a fallback.
169.254.169.254 Is Used for Cloud VM Configuration
Cloud VM images have no users defined and no way to log in, so most of them use http curl calls to 169.254.169.254 to retrieve their IP address, name, user list, access credentials, and optionally much more.
If you have an AWS cloud VM, try the following commands to see this for yourself (Google Compute Engine and Azure may have different calls):
curl http://169.254.169.254/ curl http://169.254.169.254/latest/meta-data/local-ipv4 curl http://169.254.169.254/latest/meta-data/hostname curl http://169.254.169.254/latest/dynamic/instance-identity/document
169.254.0.0/16 Is a Route for Link-Local Addressing
169.254.0.0/16 in your routing table just means your computer is ready to speak to other PCs and devices using the 169.254 range of IP addresses. This may be useful to configure itself or configure other devices and does not present any risk as this address range cannot access the wider network.
169.254.X.X Addresses May Indicate a Router Issue (Fixes)
If your computer is unable to access the Internet and has a 169.254 address, this means you are supposed to be getting an IP address from a router but have failed to do so.
To fix this problem in a home or small office environment:
- Ensure your router is powered on
- Ensure your computer is connected to a wired or wireless network, including any passphrase or sign-in
- If other devices on the network also have no Internet, try rebooting the router
- If rebooting the router doesn’t help, contact the Internet service provider’s support
If you are in a work or public environment, it’s possible the router and/or DHCP server has used up all of its configured IP addresses. In this case, contact the network support team for that location to verify this and expand the pool of available addresses.
Alternately in such an environment, you might try releasing an IP address from another machine (
ipconfig /release from a command prompt on Windows systems) and rebooting or otherwise trying to reacquire an IP address on the desired system (
ipconfig /renew on Windows systems).