O que é esse endereço IP: 169.254.169.254?

62

Eu sempre notei um IP conectado "169.254.xx", mesmo quando não estou conectado a nenhuma rede no meu sistema operacional Windows.

No Linux, quando listo minha tabela de roteamento.

$ ip route show 

Eu recebo uma entrada como

169.254.0.0/16 dev eth0  scope link  metric 1000 

Alguém pode me explicar o que é esse ip na verdade. Se é algo como a família 127.0.0.0/8.

Editar : no ec2, cada instância pode obter metadados relativos aos seus próprios, fazendo solicitações HTTP para este IP.

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

Então, alguém pode me dizer a quem esse IP está realmente atribuído?

pradeepchhetri
fonte
11
Como você diz que vê isso no sistema operacional Windows, parece que você está se referindo ao APIPA (endereçamento IP privado automático). Mais informações aqui ou aqui .
venomin 14/08/15
11
Muito relevante: uma análise técnica do Capital One Hack "Ao combinar o ataque SSRF anteriormente com o conhecimento de que um servidor do AWS EC2 tem acesso a um ponto de extremidade de metadados contendo credenciais temporárias, o invasor conseguiu induzir o servidor a fazer uma solicitação para o seguinte URL: 169.254.169.254/iam/security-credentials . Este terminal retornou um nome de função ... "
David Tonhofer

Respostas:

89

Estes são endereços locais de link configurados dinamicamente . Eles são válidos apenas em um único segmento de rede e não devem ser roteados.

É importante destacar que 169.254.169.254 é usado no Amazon EC2 e em outras plataformas de computação em nuvem para distribuir metadados para instâncias da nuvem .

Michael Hampton
fonte
11
Então você pode me dizer que 169.254.169.154 é atribuído a quem em ec2.
pradeepchhetri
18
O texto azul significa um link no qual você pode clicar para obter mais informações. Por favor, faça isso.
Michael Hampton
Mas não há nada mencionado a quem esse IP está atribuído .. em relação aos internos em termos de virtualização.
pradeepchhetri
6
@pradeepchhetri Não está atribuído a ninguém. É um endereço de uso especial .
Michael Hampton
11
@pradeepchhetri, para responder à pergunta específica de "quem", é a própria Amazon (embora se aplique a ressalva de ser um IP privado); da mesma maneira que a Charter "possui" 192.168.100.1 em muitas residências (apenas a Charter a utiliza para a WebUI modem em vez de para o serviço de distribuição de metadados da Amazon).
JamesTheAwesomeDude
13

Em quase todas as circunstâncias, é um IP atribuído automaticamente por uma interface configurada para obter seu IP via DHCP, mas não pode obtê-lo.

Chopper3
fonte
10

É um endereço local do link IPv4, conforme definido em rfc3927. Normalmente, as caixas habilitadas para ZeroConfig / Bonjour / mdns et al são configuradas para ter um endereço IPv4 ll para ativar a rede (doméstica) sem a presença de um servidor DNS DHCP ou unicast.

pfo
fonte
3

Este é um caso especial de um endereço APIPA. O OP não está solicitando 169.254.xx

Além de ser um endereço APIPA, este é o endereço interno usado pelas instâncias do AWS EC2 para consultas do EC2META via HTTP (curl, digamos).

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

retornará o ID da instância sem uma nova linha; isso é útil para scripts. Não é usado para "distribuir" os metadados, mas para consultar esses atributos.

mckenzm
fonte
11
" Este é um caso especial de um endereço APIPA. Esse uso não é permitido pela RFC. Os endereços 169.254.0.0/16não podem ser atribuídos de maneira fixa, o intervalo não pode ser sub-rede e os pacotes no intervalo não podem ser roteados. Eu não usaria nada que viole a norma.
Ron Maupin
Concordo, suponho que a AWS sinta que pode garantir que o RFC nunca se aplicaria em suas redes internas devido a falha no DHCP. O intervalo também é usado para atribuição de IP estático para redes ad hoc ponto a ponto, mas geralmente são escolhidos números baixos.
Mckenzm
11
" Observe que os endereços no prefixo 169.254 / 16 NÃO DEVEM ser configurados manualmente ou por um servidor DHCP. A configuração manual ou DHCP pode fazer com que um host use um endereço no prefixo 169.254 / 16 sem seguir as regras especiais sobre detecção duplicada e configuração automática pertencem a endereços nesse prefixo. "Isso significa que você não pode definir um endereço fixo nesse intervalo. Um host precisa selecionar aleatoriamente um endereço no intervalo.
21718 Ron Maupin
11
"Os administradores que desejam configurar seus próprios endereços locais (usando a configuração manual, um servidor DHCP ou qualquer outro mecanismo não descrito neste documento) devem usar um dos prefixos de endereços privados existentes [RFC1918], não o prefixo 169.254 / 16 "
Ron Maupin
11
Diz NÃO DEVE, NÃO DEVE. Tecnicamente, você pode violar um DEVE e ainda ser considerado conforme as especificações. Veja RFC2919: "NÃO DEVE Esta frase, ou a frase" NÃO RECOMENDADO "significa que podem existir razões válidas em determinadas circunstâncias quando o comportamento em particular é aceitável ou até útil, mas todas as implicações devem ser entendidas e o caso cuidadosamente ponderado antes da implementação qualquer comportamento descrito com este rótulo ". :)
mmalone