OpenStack:私有网络中的虚拟机无法ping 公网中的虚拟机,但公网中的虚拟机可以ping 私有网络中的虚拟机

时间:2021-03-12 17:01:33

标签: openstack openstack-neutron

我正在学习 OpenStack,我正在尝试创建以下架构:

两个私有网络:AB(网络类型:vxlan
每个专用网络中的一个子网:SUB_A(192.168.1.0/24)SUB_B(10.0.0.0/24)

一个公共网络:public(网络类型:flat,物理网络:public
我的公共网络中的一个子网:SUB_PUBLIC(172.24.4.0/24)

一个路由器将它们连接在一起,R

一个虚拟机连接到每个子网
VM1 -> SUB_A
VM2 -> SUB_B
VM3 -> SUB_PUBLIC

这些是我用来创建架构的步骤:

-创建网络及其子网,激活 DHCP
-创建路由器R,将其设置为网络external gateway的{​​{1}}并启用public
- 附加 SNATSUB_A
- 附加 RSUB_B
-创建了 R 连接到网络 VM1
-创建了 A 连接到网络 VM2
-创建了 B 连接到网络 VM3
- 从 public 池中分配并关联了两个浮动 IP 地址,一个用于 public,另一个用于 VM1

结果:

我可以使用它们各自的浮动 IP 地址 ping VM2/VM1 from VM2
我可以使用他们的私有 IP ping VM3/VM1 from VM2/VM1

不能 ping VM2 from VM3/VM1
不能 ping VM2/VM1 from VM2/VM1 与他们的浮动 IP 地址。< /p>

在这一点上,我不确定我错过了什么。我想了解发生了什么。

1 个答案:

答案 0 :(得分:0)

安全组最终成为罪魁祸首。 VM 使用的默认安全组必须具有出口和入口规则,以允许 ICMP 流量通过!我已经验证过,但我没有足够注意它的配置。尤其是源流量必须是正确的!我将其设置为错误的来源,这解释了为什么流量永远不会通过。