我正在 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。
ifconfig
EC3 的输出:
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 实例中正确路由的任何建议。