Что это за IP-адрес: 169.254.169.254?


62

Я всегда замечал, что IP-адрес «169.254.xx» подключен, даже когда я не подключен к какой-либо сети в моей операционной системе Windows.

В Linux, когда я перечисляю свою таблицу маршрутизации.

$ ip route show 

Я получаю запись как

169.254.0.0/16 dev eth0  scope link  metric 1000 

Может кто-нибудь объяснить мне, что это на самом деле IP. Будь то что-то вроде семьи 127.0.0.0/8.

Редактировать : в ec2 каждый экземпляр может получать метаданные относительно своих собственных, отправляя HTTP-запросы к этому IP.

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

Так может кто-нибудь сказать мне, кому этот IP назначен?


1
Поскольку вы говорите, что видите это в своей ОС Windows, похоже, вы имеете в виду APIPA (автоматическая частная IP-адресация). Больше информации здесь или здесь .
Венин

1
Очень актуально: Технический анализ капитального взлома «Объединяя атаки SSRF, сделанные ранее, со знанием того, что сервер AWS EC2 имеет доступ к конечной точке метаданных, содержащей временные учетные данные, злоумышленник смог заставить сервер сделать запрос на следующий URL: 169.254.169.254/iam/security-credentials . Эта конечная точка вернула имя роли ... "
Дэвид Тонхофер,

Ответы:


89

Это динамически настроенные локальные адреса ссылок . Они действительны только в одном сегменте сети и не должны маршрутизироваться.

В частности, 169.254.169.254 используется в Amazon EC2 и других платформах облачных вычислений для распространения метаданных в облачных экземплярах .


1
Так вы можете сказать мне, что 169.254.169.154 назначен кому в ec2.
Pradeepchhetri

18
Синий текст означает ссылку, по которой вы можете перейти для получения дополнительной информации. Пожалуйста, сделай так.
Майкл Хэмптон

Но ничего не упомянуто, кому этот IP назначен .. относительно внутренних устройств с точки зрения виртуализации.
Pradeepchhetri

6
@pradeepchhetri Это никому не назначено. Это адрес специального назначения .
Майкл Хэмптон

1
@pradeepchhetri, чтобы ответить на конкретный вопрос «кто», это сами Amazon (хотя применяется предостережение о том, что это частный IP); точно так же, как во многих домохозяйствах Хартия «владеет» 192.168.100.1 (только Хартия использует его для модема WebUI, а не для сервиса выдачи метаданных Amazon).
JamesTheAwesomeDude

13

Почти во всех случаях это IP, назначаемый автоматически интерфейсом, который настроен на получение своего IP через DHCP, но не может его получить.


10

Это локальный адрес канала IPv4, как определено в rfc3927. Обычно блоки с включенными ZeroConfig / Bonjour / mdns и др. Настроены на использование IPv4-адреса для включения (домашней) сети без присутствия DHCP-сервера или одноадресного DNS-сервера.


3

Это особый случай адреса APIPA. ОП не просит 169.254.xx

Помимо того, что это адрес APIPA, это внутренний адрес, используемый экземплярами AWS EC2 для запросов EC2META через HTTP (скажем, curl).

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

вернет идентификатор экземпляра без новой строки, это полезно для сценариев. Он не используется для «распространения» метаданных, а скорее для запроса этих атрибутов.


1
« Это особый случай адреса APIPA. Такое использование не разрешено RFC. Адреса в 169.254.0.0/16не могут назначаться фиксированным образом, диапазон не может быть распределен по подсетям, и пакеты в диапазоне не могут маршрутизироваться. Я бы не стал использовать ничего, что нарушает стандарт.
Рон Мопин

Согласен, я полагаю, что AWS считает, что они могут гарантировать, что RFC никогда не будет применяться во внутренних сетях из-за сбоя DHCP. Диапазон также используется для статического IP-назначения одноранговых одноранговых сетей, но обычно выбираются низкие номера.
mckenzm

1
« Обратите внимание, что адреса в префиксе 169.254 / 16 НЕ ДОЛЖНЫ настраиваться вручную или с помощью DHCP-сервера. Ручная или DHCP-конфигурация может привести к тому, что хост использует адрес в префиксе 169.254 / 16 без соблюдения специальных правил, касающихся обнаружения дубликатов и автоматической настройки. это относится к адресам в этом префиксе. "Это означает, что вы не можете установить фиксированный адрес в этом диапазоне. Хост должен случайным образом выбрать адрес в диапазоне.
Рон Мопин

1
« Администраторы, желающие настроить свои собственные локальные адреса (используя ручную настройку, сервер DHCP или любой другой механизм, не описанный в этом документе), должны использовать один из существующих префиксов частных адресов [RFC1918], а не префикс 169.254 / 16 »
Рон Maupin

1
Это говорит НЕ ДОЛЖНО, НЕ ДОЛЖНО. Технически вы можете нарушать ОБЯЗАТЕЛЬНО и при этом считаться соответствующим спецификации. См. RFC2919: «НЕ СЛЕДУЕТ Эта фраза или фраза« НЕ РЕКОМЕНДУЕТСЯ »означают, что могут существовать веские причины в конкретных обстоятельствах, когда конкретное поведение является приемлемым или даже полезным, но все последствия должны быть поняты, а случай тщательно взвешен, прежде чем внедрять любое поведение, описанное этим ярлыком. " :)
mmalone
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.