テストのために、ローカルシステムでAmazon EC2メタデータサービスをエミュレートしたいです。EC2では、これは で実行されます169.254.169.254
。これは指定されたDHCP 障害時の疑似ランダム ローカル アドレスの範囲ですが、Amazon も賢明にもこの目的でこれを使用しているため、同じことを行う必要があります。
私は F19 Alpha を使用しています。以前の Fedora では、ループバック デバイスに仮想インターフェイスを作成し、lo:0
通常のスクリプトを使用して静的アドレスを割り当てるだけで済みましたifcfg-
。しかし、現在は「エラー: 接続の有効化に失敗しました: デバイスは NetworkManager によって管理されていないか、利用できません「」。
(私は NetworkManager を実行していますが、以前はその下でこれを実行していました。)
正しいアプローチで私がやっていたことを継続する方法を見つけることlo:0
(もしそうなら、どのように?)、またはもっと良い方法がありますか?
答え1
具体的な質問に答えるには、iproute2IP アドレスを次のように割り当てます。
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
注記:によるとAWSのこのドキュメントページの現在のバージョンメタデータサービスIPはリンクローカルアドレスであり、これに関するWikipediaの記事. そのページは、RFC3927そこにはこう書かれています:
この目的のために、IPv4 プレフィックス 169.254/16 が IANA に登録されています。
答え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
。
良い一日を、私の友人に!