我正在学习 OpenStack,我正在尝试创建以下架构:
两个私有网络:A
和 B
(网络类型: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
- 附加 SNAT
到 SUB_A
- 附加 R
到 SUB_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>
在这一点上,我不确定我错过了什么。我想了解发生了什么。
答案 0 :(得分:0)
安全组最终成为罪魁祸首。 VM 使用的默认安全组必须具有出口和入口规则,以允许 ICMP 流量通过!我已经验证过,但我没有足够注意它的配置。尤其是源流量必须是正确的!我将其设置为错误的来源,这解释了为什么流量永远不会通过。