我刚刚进入 VPC,试图了解一切是如何工作的。到目前为止,我遇到的最大障碍是,每当我向机器添加第二个弹性 NIC 时,VPC 中的任何其他人都无法访问第二个 IP。这是我所做的
- 推出 Canonical 为 Ubuntu 12.10 x64 EBS 提供的 AMI。
- 在启动期间,我为两个网络接口(同一子网)配置了它
- 机器启动后,我将以下内容添加到 /etc/network/interfaces :
自动eth1
iface eth1 inet dhcp
- ifup eth1
- 运行ifconfig,验证第二个地址是否可用。
在我的主要(可访问互联网)实例上:
- ping(新实例 eth0 的 IP)- 有效
- ping(新实例 eth1 的 IP)- 失败
没有阻止 ping 的 ACL,因为它与 eth0 一起使用。机器上没有防火墙设置。我已经在具有多个接口的多个 SG 和 AZ 中尝试了 4 个不同的实例,结果都相同。
在这件事上,我用头撞墙的时间比我愿意承认的要长。我不知道错误在哪里。
默认情况下,路由表只会将流量路由到
eth0
. 即使 ubuntu 检测到其他 ENI,您仍然必须将流量路由到它。你必须做一些高级路由:
1) 立即和临时启用对第二个 ENI 的访问。
来源:http ://www.rjsystems.nl/en/2100-adv-routing.php
2) 在重启时启用对第二个 ENI 的访问,但持续存在。
来源:http ://blog.bluemalkin.net/multiple-ips-and-enis-on-ec2-in-a-vpc/
此外,如果您希望此更改持续存在,您可以在接口文件中进行所有这些更改,只需重新启动网络服务或重新启动即可生效。
要使其完全生效,请重新启动系统。
注意:我试过
/etc/init.d/networking restart;
了,但它没有接收到路由/规则更改,不知道为什么,所以我重新启动了。如果您想让它立即和持久,请执行这两种方法。我是这样做的。我使用静态IP。最初我使用 dhcp 来获取 2 个项目。IP 地址和网络掩码。这是分步说明:
启动实例
应该这样做,运行这些来检查。
这些将立即生效,并将通过重新启动持续存在。