53

I have always noticed an IP something "169.254.x.x" attached even when I am not connected to any network in my Windows operating system.

In Linux, when I list my routing table.

$ ip route show 

I get an entry like

169.254.0.0/16 dev eth0  scope link  metric 1000 

Can somebody explain me what is this ip actually. Whether its something like the 127.0.0.0/8 family.

Edit: In ec2, each instance can get meta-data regarding their own by making HTTP requests to this IP.

$ curl -s http://169.254.169.254/user-data/

So can someone tell me to whom this ip is actually assigned ?

  • Since you say that you see this in your Windows OS, it sounds like you're referring to APIPA (Automatic Private IP Addressing). More info here or here. – venomin Aug 14 '15 at 3:30
78

These are dynamically configured link-local addresses. They are only valid on a single network segment and are not to be routed.

Of particular note, 169.254.169.254 is used in Amazon EC2 and other cloud computing platforms to distribute metadata to cloud instances.

  • 1
    So can u tell me that 169.254.169.154 is assigned to whom in ec2. – pradeepchhetri Sep 13 '12 at 10:04
  • 14
    The blue text means a link that you can click on for more information. Please do so. – Michael Hampton Sep 13 '12 at 10:06
  • But there is nothing mentioned to whom this ip is assigned to ..regarding the internals in terms of virtualization. – pradeepchhetri Sep 13 '12 at 10:13
  • 4
    @pradeepchhetri It's not assigned to anyone. It's a special-use address. – Michael Hampton Sep 13 '12 at 10:18
  • 1
    @pradeepchhetri, to answer the specific question of "who", it's Amazon themselves (though the caveat of it being a private IP applies); in the same way that Charter "owns" 192.168.100.1 in many households (only Charter uses it for the modem WebUI rather than to Amazon's service of dispensing metadata). – JamesTheAwesomeDude Jul 19 '17 at 15:59
11

In almost all circumstances that's a IP assigned automatically by an interface that's set to get its IP via DHCP but can't get one.

9

It's a IPv4 link local address, as defined in rfc3927. Usually ZeroConfig/Bonjour/mdns et al enabled boxes are setup to have IPv4 ll address to enable (home) networking without the presence of an DHCP or unicast DNS server.

1

This is a special case of an APIPA address. The OP is not asking for 169.254.x.x

As well as being an APIPA address this is the internal address used by AWS EC2 instances for EC2META queries via HTTP (curl, say).

curl http://169.254.169.254/latest/meta-data/instance-id

will return the instance id without a newline, this is useful for scripting. It is not used for "distributing" the metadata, rather for querying these attributes.

  • "This is a special case of an APIPA address. Such a use is not allowed by the RFC. The addresses in 169.254.0.0/16 are not allowed to be assigned in a fixed manner, the range cannot be subnetted, and packets in the range cannot be routed. I would not use anything that violates the standard. – Ron Maupin Apr 19 '18 at 20:22
  • Agreed, I suppose AWS feel they can guarantee that RFC would never apply within their internal networks due to DHCP failure. The range is also used for static IP assignment for peer to peer ad hoc networks, but low numbers are generally chosen. – mckenzm Apr 19 '18 at 20:29
  • @RonMaupin, APIPA are used in MS when no IP is configured on an interface (either manually or dhcp). More info is available here which seems to show it follows the RFC though I haven't tested it for compliance. – user2320464 Apr 19 '18 at 20:30
  • "Note that addresses in the 169.254/16 prefix SHOULD NOT be configured manually or by a DHCP server. Manual or DHCP configuration may cause a host to use an address in the 169.254/16 prefix without following the special rules regarding duplicate detection and automatic configuration that pertain to addresses in this prefix." That means that you cannot set a fixed address in that range. A host needs to randomly select an address in the range. – Ron Maupin Apr 19 '18 at 20:38
  • "Administrators wishing to configure their own local addresses (using manual configuration, a DHCP server, or any other mechanism not described in this document) should use one of the existing private address prefixes [RFC1918], not the 169.254/16 prefix" – Ron Maupin Apr 19 '18 at 20:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.