连接到分配给 AWS EC2 实例上的 ENI 的第二个弹性 IP 地址

连接到分配给 AWS EC2 实例上的 ENI 的第二个弹性 IP 地址

我有一个连接到 t2.micro EC2 实例的单个 ENI。

它有一个与“主要私有 IP 地址”关联的弹性 IP xxx.xxx.xxx.xxx。

我向 ENI 添加了“辅助私有 IP 地址”,并将其与另一个弹性 IP yyy.yyy.yyy.yyy 关联

与 ENI 关联的安全组允许所有 ICMP 流量。

我可以 ping xxx.xxx.xxx.xxx 但无法 ping yyy.yyy.yyy.yyy。

EC2 操作系统是 Debian Buster。

我该如何配置才能让 yyy.yyy.yyy.yyy 可从互联网访问?

答案1

通过 AWS 接口添加“辅助私有 IP 地址”会将 IP 地址添加到操作系统接口,例如 Linux 中的“eth0”仅对来自 AWS 的 AMI 有效。

对于 Debian Buster 等私有 AMI,通过 AWS 接口添加的“辅助私有 IP 地址”还应手动添加到操作系统接口,例如“eth0”通过在 EC2 实例内执行命令。

例如:

如果通过 AWS 界面添加的辅助 IP 地址“172.16.10.2”

操作系统的网络接口是“eth0”

那么要执行的命令是:

$ sudo ip addr add 172.16.10.2 dev eth0

一般来说,Linux 的命令是

ip addr add <ip_address> dev <interface>

为了使更改在重启后继续有效,最简单的方法是为 root 添加一个 corn 条目。

使用命令

$ sudo crontab -e

并创建一个条目,例如

# Add Secondary Private Ip Address to 'eth0'
@reboot ip addr add 172.31.17.171 dev eth0

重新启动 EC2 实例并检查该条目是否仍然存在命令

$ip a

对于其他类Unix系统,有相应的命令和配置可以向接口添加多个IP地址(别名)。

例如:OpenBSDFreeBSD

相关内容