Che cos'è questo indirizzo IP: 169.254.169.254?


62

Ho sempre notato un IP qualcosa "169.254.xx" collegato anche quando non sono collegato a nessuna rete nel mio sistema operativo Windows.

In Linux, quando elenco la mia tabella di routing.

$ ip route show 

Ricevo una voce come

169.254.0.0/16 dev eth0  scope link  metric 1000 

Qualcuno può spiegarmi che cosa è effettivamente questo IP. Che si tratti di qualcosa di simile alla famiglia 127.0.0.0/8.

Modifica : in ec2, ogni istanza può ottenere metadati relativi ai propri inviando richieste HTTP a questo IP.

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

Quindi qualcuno può dirmi a chi è assegnato questo ip?


1
Dato che dici di vederlo nel tuo sistema operativo Windows, sembra che ti stai riferendo ad APIPA (Automatic Private IP Addressing). Maggiori informazioni qui o qui .
— venomin,

1
Molto rilevante: un'analisi tecnica del Capital One Hack "Combinando l'attacco SSRF di prima con la consapevolezza che un server AWS EC2 ha accesso a un endpoint di metadati contenente credenziali temporanee, l'aggressore è stato in grado di indurre il server a fare una richiesta per il seguente URL: 169.254.169.254/iam/security-credentials . Questo endpoint ha restituito un nome ruolo ... "
— David Tonhofer

Risposte:


89

Questi sono indirizzi locali di collegamento configurati dinamicamente . Sono validi solo su un singolo segmento di rete e non devono essere instradati.

In particolare, 169.254.169.254 viene utilizzato in Amazon EC2 e altre piattaforme di cloud computing per distribuire metadati a istanze cloud .


1
Quindi puoi dirmi che 169.254.169.154 è assegnato a chi in ec2.
— pradeepchhetri,

18
Il testo blu indica un collegamento su cui è possibile fare clic per ulteriori informazioni. Per favore fallo.
— Michael Hampton

Ma non viene menzionato nulla a cui questo ip è assegnato a ... per quanto riguarda gli interni in termini di virtualizzazione.
— pradeepchhetri,

6
@pradeepchhetri Non è assegnato a nessuno. È un indirizzo di uso speciale .
— Michael Hampton

1
@pradeepchhetri, per rispondere alla domanda specifica di "chi", sono gli stessi Amazon (anche se si applica l'avvertenza di essere un IP privato); allo stesso modo in cui Charter "possiede" 192.168.100.1 in molte famiglie (solo Charter lo utilizza per la WebUI del modem anziché per il servizio Amazon di distribuzione di metadati).
— JamesTheAwesomeDude,

13

In quasi tutte le circostanze si tratta di un IP assegnato automaticamente da un'interfaccia impostata per ottenere il suo IP tramite DHCP ma non può ottenerne uno.


10

È un indirizzo locale di collegamento IPv4, come definito in rfc3927. Solitamente le caselle abilitate ZeroConfig / Bonjour / mdns et al sono configurate per avere l'indirizzo IPv4 ll per abilitare la rete (domestica) senza la presenza di un server DHCP o unicast DNS.


3

Questo è un caso speciale di un indirizzo APIPA. L'OP non richiede 169.254.xx

Oltre ad essere un indirizzo APIPA, questo è l'indirizzo interno utilizzato dalle istanze AWS EC2 per le query EC2META via HTTP (curl, diciamo).

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

restituirà l'id dell'istanza senza una nuova riga, questo è utile per gli script. Non è usato per "distribuire" i metadati, piuttosto per interrogare questi attributi.


1
" Questo è un caso speciale di un indirizzo APIPA. Tale uso non è consentito dall'RFC. Gli indirizzi in 169.254.0.0/16non possono essere assegnati in modo fisso, non è possibile subnetare l'intervallo e non è possibile instradare i pacchetti nell'intervallo. Non userei nulla che violi lo standard.
— Ron Maupin,

D'accordo, suppongo che AWS ritenga di poter garantire che RFC non si applicherebbe mai all'interno delle proprie reti interne a causa di un errore DHCP. L'intervallo viene utilizzato anche per l'assegnazione IP statica per reti ad hoc peer to peer, ma in genere vengono scelti numeri bassi.
— mckenzm,

1
" Si noti che gli indirizzi nel prefisso 169.254 / 16 NON DOVREBBERO essere configurati manualmente o da un server DHCP. La configurazione manuale o DHCP può far sì che un host usi un indirizzo nel prefisso 169.254 / 16 senza seguire le regole speciali relative al rilevamento duplicato e alla configurazione automatica che riguardano gli indirizzi in questo prefisso. "Ciò significa che non è possibile impostare un indirizzo fisso in quell'intervallo. Un host deve selezionare casualmente un indirizzo nell'intervallo.
— Ron Maupin,

1
"Gli amministratori che desiderano configurare i propri indirizzi locali (utilizzando la configurazione manuale, un server DHCP o qualsiasi altro meccanismo non descritto in questo documento) dovrebbero utilizzare uno dei prefissi degli indirizzi privati ​​esistenti [RFC1918], non il prefisso 169.254 / 16 "
— Ron Maupin,

1
Dice che NON DOVREBBE, NON DEVE. Tecnicamente puoi violare DOVREBBE essere comunque considerato conforme alle specifiche. Vedere RFC2919: "NON DOVREBBE che questa frase o la frase" NON RACCOMANDATO "significano che possono esistere ragioni valide in circostanze particolari in cui il comportamento particolare è accettabile o addirittura utile, ma le implicazioni complete dovrebbero essere comprese e il caso attentamente valutato prima di implementare qualsiasi comportamento descritto con questa etichetta ". :)
— mmalone il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.