解封装和封装 GENEVE 数据包

解封装和封装 GENEVE 数据包

我想要获得一些关于下面项目的帮助。我有以下拓扑。

<EC2 instance 1> --> <AWS GWLB> --> <EC2 instance 2>

EC2 实例只是 Ubuntu 20.04 AMI。AWS GWLB 代表 AWS 网关负载均衡器。 EC2 instance 1正在发出“客户端”流量,该流量通过 路由AWS GWLB,然后通过 发送EC2 instance 2

流量会通过我创建的路由表EC2 instance 1自动转发。充当后端服务器。AWS GWLBEC2 instance 2AWS GWLB

我希望能够转发不同的协议,如 UDP、ICMP、TCP 等,这就是我选择使用 支持的 GENEVE 协议的原因AWS GWLB。最后EC2 instance 1通过添加新的 GENEVE 标头来封装数据包。

有了这个实际的基础设施,如果我pingEC2 instance 1(客户端) 和(后端)tcpdump上运行一个,我可以看到封装了 GENEVE 标头的内容。EC2 instance 2ICMP requestEC2 instance 2

我接下来要做的是

  • ICMP request通过删除 GENEVE 标头来“解封装”该数据包;
  • 将其转发到目的地(我假设如果我设置了伪装EC2 instance 2并启用 IPv4 转发,那就没问题了);
  • 重新封装并通过 将ICMP reply其送回。EC2 instance 1AWS GWLB

关于我计划做什么的文档并不多。我发现的唯一有趣的事情是:

这是tc关于我计划做什么的最佳解决方案吗?如果是,我该如何使用它?

感谢您未来的帮助!祝您度过美好的一天!

相关内容