Co to jest ten adres IP: 169.254.169.254?

62

Zawsze zauważyłem dołączony adres IP „169.254.xx”, nawet jeśli nie mam połączenia z żadną siecią w systemie operacyjnym Windows.

W Linuksie, kiedy wymieniam moją tabelę routingu.

$ ip route show 

Dostaję wpis jak

169.254.0.0/16 dev eth0  scope link  metric 1000 

Czy ktoś może mi wyjaśnić, co to właściwie jest ten ip. Czy to coś w rodzaju rodziny 127.0.0.0/8.

Edycja : W ec2 każda instancja może uzyskać własne meta-dane, wysyłając żądania HTTP do tego adresu IP.

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

Czy ktoś może mi powiedzieć, do kogo ten adres IP jest faktycznie przypisany?

pradeepchhetri
źródło
1
Ponieważ mówisz, że widzisz to w swoim systemie operacyjnym Windows, brzmi to tak, jakbyś miał na myśli APIPA (automatyczne prywatne adresowanie IP). Więcej informacji tutaj lub tutaj .
jad
1
Bardzo istotne: Analiza techniczna hacka Capital One „Łącząc wcześniejszy atak SSRF ze świadomością, że serwer AWS EC2 ma dostęp do punktu końcowego metadanych zawierającego tymczasowe dane uwierzytelniające, osoba atakująca była w stanie nakłonić serwer do wysłania żądania następujący adres URL: 169.254.169.254/iam/security-credentials . Ten punkt końcowy zwrócił nazwę roli ... ”
David Tonhofer,

Odpowiedzi:

89

Są to dynamicznie konfigurowane adresy lokalne dla łącza . Są ważne tylko w jednym segmencie sieci i nie mogą być trasowane.

Na szczególną uwagę zasługuje 169.254.169.254 w Amazon EC2 i innych platformach przetwarzania w chmurze w celu dystrybucji metadanych do wystąpień w chmurze .

Michael Hampton
źródło
1
Więc możesz mi powiedzieć, że 169.254.169.154 jest przypisany do kogo w ec2.
pradeepchhetri
18
Niebieski tekst oznacza link, który można kliknąć, aby uzyskać więcej informacji. Zrób tak, proszę.
Michael Hampton
Ale nic nie wspomniano, do kogo ten ip jest przypisany ... w odniesieniu do elementów wewnętrznych pod względem wirtualizacji.
pradeepchhetri
6
@pradeepchhetri Nie jest przypisany do nikogo. To adres specjalnego przeznaczenia .
Michael Hampton
1
@pradeepchhetri, aby odpowiedzieć na konkretne pytanie „kto”, to sami Amazon (choć obowiązuje zastrzeżenie, że jest to prywatny adres IP); w ten sam sposób, w jaki Charter „posiada” 192.168.100.1 w wielu gospodarstwach domowych (tylko Charter używa go do modemu WebUI zamiast do usługi dozowania metadanych przez Amazon).
JamesTheAwesomeDude
13

W prawie wszystkich okolicznościach jest to adres IP przydzielany automatycznie przez interfejs ustawiony na pobieranie adresu IP przez DHCP, ale nie może go uzyskać.

Siekacz 3
źródło
10

Jest to lokalny adres łącza IPv4, zgodnie z definicją w rfc3927. Zazwyczaj włączone pola ZeroConfig / Bonjour / mdns i in. Są skonfigurowane tak, aby miały adres IPv4 II, aby umożliwić (domowe) połączenie sieciowe bez obecności serwera DNS lub serwera DNS emisji pojedynczej.

pfo
źródło
3

Jest to szczególny przypadek adresu APIPA. OP nie prosi o 169.254.xx

Oprócz tego, że jest to adres APIPA, jest to adres wewnętrzny używany przez instancje AWS EC2 dla zapytań EC2META przez HTTP (powiedzmy curl).

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

zwróci identyfikator instancji bez nowego wiersza, jest to przydatne w skryptach. Nie służy do „rozpowszechniania” metadanych, lecz do zapytania tych atrybutów.

mckenzm
źródło
1
Jest to szczególny przypadek adresu APIPA. Takie użycie nie jest dozwolone przez RFC. Adresom 169.254.0.0/16nie można przypisać w ustalony sposób, zakresu nie można podsieciować, a pakietów w zakresie nie można routować. Nie użyłbym niczego, co naruszałoby standard
Ron Maupin,
Zgadzam się, sądzę, że AWS może zagwarantować, że RFC nigdy nie zastosuje się w ich wewnętrznych sieciach z powodu awarii DHCP. Zakres ten jest również wykorzystywany do statycznego przypisywania adresów IP w sieciach ad hoc typu peer to peer, ale generalnie wybiera się niskie liczby.
mckenzm
1
Pamiętaj, że adresy w prefiksie 169.254 / 16 NIE POWINNY być konfigurowane ręcznie ani przez serwer DHCP. Konfiguracja ręczna lub DHCP może spowodować, że host użyje adresu w prefiksie 169.254 / 16 bez przestrzegania specjalnych zasad dotyczących wykrywania duplikatów i automatycznej konfiguracji odnoszą się do adresów w tym prefiksie. ”Oznacza to, że nie można ustawić stałego adresu w tym zakresie. Host musi losowo wybrać adres z zakresu.
Ron Maupin,
1
Administratorzy, którzy chcą skonfigurować własne adresy lokalne (przy użyciu konfiguracji ręcznej, serwera DHCP lub innego mechanizmu nieopisanego w tym dokumencie), powinni użyć jednego z istniejących przedrostków adresów prywatnych [RFC1918], a nie przedrostka 169.254 / 16
Ron Maupin,
1
Mówi, że NIE POWINIENE, NIE MUSI NIE. Z technicznego punktu widzenia możesz naruszyć POWINIEN i nadal uważać, że jest zgodny ze specyfikacją. Patrz RFC2919: „NIE POWINNY BYć To wyrażenie lub wyrażenie„ NIE ZALECANE ”oznaczają, że mogą istnieć ważne powody w szczególnych okolicznościach, gdy dane zachowanie jest dopuszczalne lub nawet przydatne, ale pełne implikacje powinny zostać zrozumiane, a sprawa dokładnie rozważona przed wdrożeniem wszelkie zachowania opisane za pomocą tej etykiety ”. :)
mmalone