AWS 弹性网络接口实际上如何工作?

AWS 弹性网络接口实际上如何工作?

我有几个关于 ENI 的问题:

  1. 为什么我无法更改默认 ENI 上自动分配的私有 IP 地址?

  2. 如果我手动更改系统内部 eth0 上的 IP 会怎样?这会起作用吗,还是接口会被破坏?

我的目标是了解这些时刻,以了解 ENI 的工作原理以及它与物理网络适配器的行为有何不同。我想更深入地了解 ENI 的本质。

答案1

为什么我无法更改默认 ENI 上自动分配的私有 IP 地址?

一旦启动 EC2 实例,就会在启动时为其分配一个私有 IP 地址。实例的私有 IP 地址在该实例的生命周期内永远不会改变。根据 AWS,当在 EC2-Classic 中启动实例时,会自动从 EC2-Classic 公共 IPv4 地址池中为实例分配一个公共 IP 地址。此行为无法修改。

更多详情请参阅: https://docs.rightscale.com/faq/clouds/aws/Can_the_public_or_private_IP_addresses_change_on_an_EC2_instance.html

如果我手动更改系统内部 eth0 上的 IP 会怎样?这会起作用吗,还是接口会被破坏?

启动后,您无法手动取消公有 IP 地址与实例的关联。相反,在某些情况下,它会自动释放,之后您无法重复使用它。

欲了解更多详情,请参阅以下链接 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

答案2

  1. 为什么我无法更改默认 ENI 上自动分配的私有 IP 地址?

主 ENI 无法更改。我假设 AWS 使用主接口进行 NAT 操作。但是,如果您连接另一个 ENI,则可以在猜测的操作系统内更改 IP 地址。

  1. 如果我手动更改系统内部 eth0 上的 IP 会怎样?这会起作用吗,还是接口会被破坏?

如果您更改它,您将中断与实例的连接,解决问题的唯一方法是重新启动实例。 IP 和 MAC 分配是在比客户操作系统高一层进行的(查看上面的链接)。

AWS 使用 Xen 作为虚拟机管理程序,这不是什么秘密。ENI 使用一种称为“netfront”(在客户操作系统端)和“netback”(在虚拟机管理程序端)的驱动程序。如果您想更深入地了解 ENI,您需要研究此文档https://wiki.xenproject.org/wiki/Xen_Networkinghttps://wiki.xenproject.org/wiki/Xen_Project_Software_Overview

我希望我已经阐明了这个话题。

相关内容