Я хочу эмулировать службу метаданных Amazon EC2 на моей локальной системе для тестирования. В EC2 это работает на 169.254.169.254
. Я понимаю, что этоназначенныйдиапазон для псевдослучайных локальных адресов при сбое DHCP, но Amazon в своей мудрости также использует его для этой цели, поэтому мне нужно сделать то же самое.
Я использую F19 Alpha. В более ранней версии Fedora я мог просто создать виртуальный интерфейс на устройстве loopback, например, lo:0
и назначить ему статический адрес с помощью обычных ifcfg-
скриптов. Теперь это не удается с "Ошибка: Активация соединения не удалась: Устройство не управляется NetworkManager или недоступно".
(Я использую NetworkManager, но раньше я делал это под ним.)
Правильным ли будет найти способ продолжить то, что я делал lo:0
(и если да, то как?), или есть лучший способ?
решение1
Чтобы ответить на ваш конкретный вопрос, вы можете использоватьiproute2чтобы назначить IP-адрес следующим образом:
sudo ip addr add 169.254.169.254/16 dev lo
Он просто добавит новый IP-адрес к интерфейсу, нет необходимости в псевдонимах :0, :1 и т. д. Обратите внимание, что после перезагрузки эти данные будут потеряны.
А для быстрой эмуляции сервиса метаданных вы можете использоватьнеткаттак:
while true; do sudo nc -l 169.254.169.254 80 <<< '"region" : "eu-west-1"'; test $? != 0 && break; done
Это даст вам регион, если задать такой запрос:
curl -s http://169.254.169.254/latest/dynamic/instance-identity/document
ПРИМЕЧАНИЕ:В соответствии стекущая версия этой страницы документации от AWSIP-адрес службы метаданных — это локальный адрес ссылки, указывающий наСтатья в Википедии об этом. В свою очередь эта страница указывает наRFC3927где написано:
Для этой цели в IANA зарегистрирован префикс IPv4 169.254/16.
решение2
Не пользовался Fedora некоторое время, но она все равно должна быть очень похожа на CentOS. Я сделал это на CentOS 6.
Скопировать /etc/sysconfig/network-scripts/ifcfg-lo
в/etc/sysconfig/network-scripts/ifcfg-lo:1
Ваша новая конфигурация должна выглядеть так:
DEVICE=lo:1
IPADDR=169.254.169.254
NETMASK=255.0.0.0
ONBOOT=yes
NAME=loopback1
Перезапустите сетевую службу service network restart
.
Bonne chance mon ami!