為我的筆記型電腦提供本地 169.254.169.254 地址的最佳方式是什麼?

為我的筆記型電腦提供本地 169.254.169.254 地址的最佳方式是什麼?

我想在本機系統上模擬 Amazon EC2 元資料服務進行測試。在 EC2 中,它運行在169.254.169.254.我明白這是指定的DHCP 失敗時偽隨機本地地址的範圍,但亞馬遜以他們的智慧也將其用於此目的,所以我需要做同樣的事情。

我正在使用 F19 Alpha。在早期的 Fedora 中,我可以簡單地在環回裝置上建立一個虛擬接口,例如lo:0使用普通腳本為其指派靜態位址ifcfg-。現在,失敗了“錯誤:連線啟動失敗:設備不受 NetworkManager 管理或不可用」。

(我正在運行 NetworkManager,但之前我是在它下面執行此操作的。)

是否正在尋找某種方法以lo:0正確的方法繼續我正在做的事情(如果是,如何?),還是有更好的方法?

答案1

要回答您的具體問題,您可以使用ip路由2像這樣分配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

筆記:根據AWS 中此文件頁面的目前版本元資料服務IP是一個連結本地位址,它指向維基百科關於它的文章。反過來該頁面指向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

好機會我的朋友!

相關內容