¿Cuál es esta dirección IP: 169.254.169.254?

62

Siempre he notado una IP algo "169.254.xx" conectado incluso cuando no estoy conectado a ninguna red en mi sistema operativo Windows.

En Linux, cuando enumero mi tabla de enrutamiento.

$ ip route show 

Me sale una entrada como

169.254.0.0/16 dev eth0  scope link  metric 1000 

¿Alguien puede explicarme qué es esta ip en realidad? Ya sea algo así como la familia 127.0.0.0/8.

Editar : en ec2, cada instancia puede obtener metadatos con respecto a los suyos realizando solicitudes HTTP a esta IP.

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

Entonces, ¿alguien puede decirme a quién se asigna realmente esta ip?

Pradeepchhetri
fuente
1
Como dice que ve esto en su sistema operativo Windows, parece que se refiere a APIPA (direccionamiento automático de IP privado). Más información aquí o aquí .
Venomin
1
Muy relevante: un análisis técnico de Hack de Capital One "Al combinar el ataque SSRF de antes con el conocimiento de que un servidor AWS EC2 tiene acceso a un punto final de metadatos que contiene credenciales temporales, el atacante pudo engañar al servidor para que hiciera una solicitud a la siguiente URL: 169.254.169.254/iam/security-credentials . Este punto final devolvió un nombre de rol ... "
David Tonhofer

Respuestas:

89

Estas son direcciones locales de enlace configuradas dinámicamente . Solo son válidos en un único segmento de red y no se deben enrutar.

De particular interés, 169.254.169.254 se usa en Amazon EC2 y otras plataformas de computación en la nube para distribuir metadatos a las instancias de la nube .

Michael Hampton
fuente
1
Entonces, ¿puede decirme que 169.254.169.154 se asigna a quién en ec2.
pradeepchhetri
18
El texto azul significa un enlace en el que puede hacer clic para obtener más información. Por favor, hazlo.
Michael Hampton
Pero no se menciona nada a quién se le asigne esta ip ... con respecto a los aspectos internos en términos de virtualización.
pradeepchhetri
66
@pradeepchhetri No está asignado a nadie. Es una dirección de uso especial .
Michael Hampton
1
@pradeepchhetri, para responder a la pregunta específica de "quién", son los propios Amazon (aunque se aplica la advertencia de que es una IP privada); de la misma manera que Charter "posee" 192.168.100.1 en muchos hogares (solo Charter lo usa para el módem WebUI en lugar del servicio de distribución de metadatos de Amazon).
JamesTheAwesomeDude
13

En casi todas las circunstancias, esa es una IP asignada automáticamente por una interfaz que está configurada para obtener su IP a través de DHCP pero no puede obtenerla.

Chopper3
fuente
10

Es una dirección local de enlace IPv4, como se define en rfc3927. Por lo general, las casillas habilitadas ZeroConfig / Bonjour / mdns et al están configuradas para tener una dirección IPv4 ll para habilitar la red (doméstica) sin la presencia de un servidor DHCP o DNS de unidifusión.

pfo
fuente
3

Este es un caso especial de una dirección APIPA. El OP no solicita 169.254.xx

Además de ser una dirección APIPA, esta es la dirección interna utilizada por las instancias AWS EC2 para consultas EC2META a través de HTTP (curl, por ejemplo).

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

devolverá la identificación de la instancia sin una nueva línea, esto es útil para las secuencias de comandos. No se utiliza para "distribuir" los metadatos, sino para consultar estos atributos.

mckenzm
fuente
1
" Este es un caso especial de una dirección APIPA. Tal uso no está permitido por el RFC. Las direcciones 169.254.0.0/16no pueden asignarse de manera fija, el rango no puede dividirse en subredes y los paquetes en el rango no pueden enrutarse. No usaría nada que viole la norma.
Ron Maupin
De acuerdo, supongo que AWS siente que pueden garantizar que RFC nunca se aplicaría dentro de sus redes internas debido a una falla de DHCP. El rango también se usa para la asignación de IP estática para redes ad hoc de igual a igual, pero generalmente se eligen números bajos.
mckenzm
1
" Tenga en cuenta que las direcciones en el prefijo 169.254 / 16 NO DEBEN configurarse manualmente o por un servidor DHCP. La configuración manual o DHCP puede hacer que un host use una dirección en el prefijo 169.254 / 16 sin seguir las reglas especiales sobre detección de duplicados y configuración automática que pertenecen a direcciones en este prefijo " . Eso significa que no puede establecer una dirección fija en ese rango. Un host debe seleccionar aleatoriamente una dirección en el rango.
Ron Maupin
1
"Los administradores que deseen configurar sus propias direcciones locales (usando la configuración manual, un servidor DHCP o cualquier otro mecanismo no descrito en este documento) deben usar uno de los prefijos de direcciones privadas existentes [RFC1918], no el prefijo 169.254 / 16 "
Ron Maupin
1
Dice que NO DEBE, NO DEBE NO. Técnicamente, puede violar un DEBE y aún así se lo considerará conforme a las especificaciones. Consulte RFC2919: "NO DEBE Esta frase, o la frase" NO RECOMENDADO "significa que pueden existir razones válidas en circunstancias particulares cuando el comportamiento particular es aceptable o incluso útil, pero las implicaciones completas deben entenderse y sopesarse cuidadosamente antes de implementar cualquier comportamiento descrito con esta etiqueta ". :)
mmalone