我在启动实例期间自动分配辅助私有IPv4地址 。 要configurationUbuntu来识别这个辅助IP,我需要运行
ip addr add 10.0.1.15/24 dev eth0
要访问主私有IP地址,我find了这个命令(在AWS Docs和figaros问题中有描述 ):
curl http://169.254.169.254/latest/meta-data/local-ipv4
但是我怎么能得到从IP地址启动时自动运行IP命令? 对于Amazon Linux系统,有ec2-net-utils包可以自动处理。
你可以用2个命令获得第二个地址。
获取您的networking接口的MAC地址
MAC=`curl http://169.254.169.254/latest/meta-data/mac`
获取此mac地址的所有IP地址
curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/${MAC}/local-ipv4s
由于antrost答案 (他curl请求返回所有IP地址),我能够写下面的bash脚本只返回二级私人IP和configurationUbuntu认识到它:
#!/bin/bash MAC=`curl -s http://169.254.169.254/latest/meta-data/mac` ADDRESSES=`curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/${MAC}/local-ipv4s` arr=($ADDRESSES) if [ ${#arr[@]} -ge 2 ]; then ip addr add ${arr[1]}/24 dev eth0 fi