在跨子网的 EC2 实例上添加路由

在跨子网的 EC2 实例上添加路由

我正在 EC2 实例上设置“keepalived”。我有三个 EC2 实例。一个虚拟 IP 配置在vrrp_instance

内部地址:

EC1 10.0.1.149 
EC2 10.0.0.74
EC3 10.0.1.216

全部都在同一个 VPC 中。

对于keepalived来说,单播地址和虚拟地址如下:

unicast_src_ip 10.0.1.149 #EC1
 unicast_peer {
10.0.0.74 #EC2  
#addresses swap in case of EC2
}

virtual_ipaddress {
   10.0.55.1
 }

虚拟地址 10.0.55.1 的主从所有权工作正常。

现在,如果虚拟 IP 在 EC1 中,为了允许来自 EC3 的 TCP 客户端使用地址 10.0.1.216,我在 EC3 中添加了以下路由

route add 10.0.55.1 gw 10.0.1.149

通过这个,EC3 中的客户端可以通过虚拟 IP 连接到 EC1 中的服务器。

现在,当我尝试在 EC2 中执行相同操作时route add,会出现错误。

 `route add 10.0.55.1 gw 10.0.0.74`
`SIOCADDRT: Network is unreachable`

虽然 EC3 可以达到 10.0.0.74。

ifconfigEC3 的输出:

eth0      Link encap:Ethernet  HWaddr 02:02:55:4F:0A:47  
          inet addr:10.0.0.74  Bcast:10.0.0.255  Mask:255.255.255.0

欢迎提出有关在 AWS EC2 实例中正确路由的任何建议。

相关内容