bli*_*ile 5 linux-networking amazon-ami amazon-web-services
AWS 使用 169.254.169.254 作为链接本地地址,您可以使用它来提取有关实例的元数据,即:
卷曲http://169.254.169.254/latest/meta-data/
这个 IP 在实例上是如何/在哪里配置的?如果我执行“ip route”,我可以看到它的路由。如果我“netcat -Cvz 169.254.169.254 80”,我可以获得连接。但是,如果我执行“netstat -ntlp”,我实际上并没有看到实例在任何地方侦听。如果我尝试连接到另一个端口,“netcat -Cvz 169.254.169.254 22”,它会失败。事实上,我在 0.0.0.0:80 上运行了一个看起来有冲突的 Apache 服务。所以这个地址似乎是指外部主机。它会指向虚拟机管理程序吗?
小智 6
大多数 Linux 发行版已经创建了 Zeroconf 路由,这可能就是亚马逊认为他们会“借用”该特定 IP 地址的原因。例如,如果您安装 CentOS 7,那么“开箱即用”您的主以太网将添加一条路由:
/etc/sysconfig/网络脚本/ifup-eth
# Add Zeroconf route.
if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" -a "${REALDEVICE}" != "lo" ]; then
ip route add 169.254.0.0/16 dev ${REALDEVICE} metric $((1000 + $(cat /sys/class/net/${REALDEVICE}/ifindex))) scope link
fi
Run Code Online (Sandbox Code Playgroud)
毫无疑问,debian、ubuntu 等中也存在类似的东西......
您可能想知道当您的本地接口地址都不在正确的子网中时它是如何工作的,但实际上 Linux 并不太关心这一点。一些服务器根据 RFC3927 仅使用随机数生成本地 Zeroconf 地址,在这种情况下,它们将使用生成的地址。不管怎样,只要 169.254.169.254 的人很乐意回答,就不会有太大区别。
归档时间: |
|
查看次数: |
3684 次 |
最近记录: |