IGW上的GRE隧道

0

【以下的问题经过翻译处理】 一位客户正在使用GRE在AWS上建立一个组播overlay网络。通常的流程是 On-Prem1 <-> us-west-2 <-> us-east-1。在us-west-2的VPC中有一个IGW和一个Amazon Linux实例。Amazon Linux实例在一个公共子网中启动,并带有EIP。us-west-2的VPC已经和us-east-1的VPC进行了vpc peering,并且us-east-1的VPC也有一个正在运行的Amazon Linux实例。使用私有IP从us-west-2 <-> us-east-1创建GRE隧道可以正常工作。

为了测试回到on-prem的连接,我们在us-west-2中启动了一个单独的VPC,这样流程就是VPC1 -> IGW1 -> IGW2 -> VPC2,但在这种情况下,GRE隧道无法启动。我已经更新了安全组以允许所有流量通过每个EIP。我可以使用公共IP进行ping测试。配置好GRE隧道后,我尝试ping到远端的内部IP,我看到它离开了GRE接口,但我从来没有看到这个数据包到达远端。同样,当我仅捕捉gre协议时,我从来没有看到任何GRE的“保持活动”流量。我已在所有涉及到的实例上禁用了SRC/DST检查。如果我将这两个VPC进行对等互联,并使用私有IP而不是EIP,则GRE隧道可以正常工作。如果我强制让流量通过IGW,隧道将无法启动。

us-west-2 VPC 1

ONBOOT=yes
DEVICE=gre2
TYPE=GRE
MY_INNER_IPADDR=xx.xx.xx.4
MY_OUTER_IPADDR=xx.xx.xx.179
PEER_INNER_IPADDR=xx.xx.xx.3
PEER_OUTER_IPADDR=xx.xx.xx.183

us-west-2 VPC

ONBOOT=yes
DEVICE=gre2
TYPE=GRE
MY_INNER_IPADDR=xx.xx.xx.3
MY_OUTER_IPADDR=xx.xx.xx.183
PEER_INNER_IPADDR=xx.xx.xx.4
PEER_OUTER_IPADDR=xx.xx.xx.179

请问哪方面的配置出现了错误?我是否可以在两个IGW之间建立GRE隧道?

profile picture
专家
已提问 5 个月前18 查看次数
1 回答
0

【以下的回答经过翻译处理】 从GRE配置中删除'MY_OUTER_IPADDR'解决了这个问题。实例不知道它们的公共IP地址,因为公共IP地址实际上与实例分离并且存在于“边界”上。以下是有效的GRE配置:

us-west-2 VPC1:

ONBOOT = yes DEVICE = gre2 TYPE = GRE MY_INNER_IPADDR = xx.xx.xx.4 PEER_INNER_IPADDR = xx.xx.xx.3 PEER_OUTER_IPADDR = xx.xx.xx.183

us-west-2 VPC2:

ONBOOT = yes DEVICE = gre2 TYPE = GRE MY_INNER_IPADDR = xx.xx.xx.3 PEER_INNER_IPADDR = xx.xx.xx.4 PEER_OUTER_IPADDR = xx.xx.xx.179

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则