【问题标题】:Layer 2 connection between VMs in GCP?GCP中虚拟机之间的第2层连接?
【发布时间】:2020-10-07 11:33:15
【问题描述】:

我在 GCP 中的同一 VPC(在同一子网范围内)中有两台机器。我想将 MAC 地址从一个实例 ping 到另一个实例(即第 2 层连接)。 GCP 支持吗?

如果不支持,上述配置中的两个虚拟机之间是否支持 GRE 隧道或任何其他隧道?

我的邮件目标是建立第 2 层连接。

【问题讨论】:

  • AFAIK,你不能。网络由软件管理,仅处理 3 级及以上级别。
  • VPC 支持 ICMP (ping)。 ICMP 是 OSI 第 3 层。VPC 支持 GRE。第 2 层没有“连接”的概念。你想完成什么?
  • 我想建立一个类似 VLAN 的环境,我可以通过它的 MAC 地址访问另一个 VM 的接口。这可能吗?
  • 我通常尝试在第一个虚拟机上运行数据包生成器,并将数据包的目标设置为另一个虚拟机接口的 MAC,而不设置目标的 IP。
  • 我不知道答案。但是,我希望这会失败。 1) 部分网络堆栈被虚拟化。 2) Google VPC 不允许广播或多播数据包。你将如何发现同行? 3) 允许您在 MAC 级别寻址数据包可能是一个安全漏洞(将被阻止)。 4)针对您的用例,编写一些软件并进行测试。 Linux 在第 2 层确实有接口 (API)。

标签: google-cloud-platform tunnel google-vpc


【解决方案1】:

Andromeda(Google 的网络)是一种软件定义的网络 (SDN)。 Andromeda 的目标是公开底层网络的原始性能,同时公开网络功能虚拟化。

因此,Andromeda 本身不是云平台网络产品;相反,它是交付具有高性能、可用​​性、隔离性和安全性的云平台网络服务的基础。例如,Cloud Platform 防火墙、路由和转发规则都利用底层的内部 Andromeda API 和基础架构。

此外,默认情况下,实例配置有 255.255.255.255 掩码(以防止实例 ARP 表耗尽),并且当启动新连接时,数据包将被发送到子网的网关 MAC 地址,无论是否目标 IP 在子网范围之外或之内。因此,实例可能需要先发出 ARP 请求来解析网关的 MAC 地址。

很遗憾,Google 不允许 GRE 流量[1]。

因此,我的建议是在它们之间运行一些测试,例如 iperf 或 MTR,以验证第 2 层。

【讨论】:

  • Google Cloud VPC 支持 GRE。我认为您误读了他们对始终被阻止的内容的措辞。
猜你喜欢
  • 2021-06-29
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
相关资源
最近更新 更多