如何解决OpenStack:私有网络中的虚拟机无法ping 公网中的虚拟机,但公网中的虚拟机可以ping 私有网络中的虚拟机
我正在学习 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 地址。
在这一点上,我不确定我错过了什么。我想了解发生了什么。
解决方法
安全组最终成为罪魁祸首。 VM 使用的默认安全组必须具有出口和入口规则,以允许 ICMP 流量通过!我已经验证过,但我没有足够注意它的配置。尤其是源流量必须是正确的!我将其设置为错误的来源,这解释了为什么流量永远不会通过。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。