我有一个连接到 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地址(别名)。