为什么在openstack里面不能ping真机到vm

问题描述

我使用 Vagrant 和 VirtualBox 创建了一个 vm (vm-devstack-01),我在其中安装了 Devstack。 vm 有一个 NAT 模式的 enp0s3 接口和一个桥接模式的 enp0s8 接口。我家实际使用的网络是192.168.88.0/24。此网络使用 DHCP 寻址。

vm-devstack-01:

enter image description here

我将 FLOATING_RANGE 从 local.conf 设置为 192.168.88.224/27。

我的local.conf:

[[local|localrc]]
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=192.168.88.43
FLAT_INTERFACE=enp0s8
FLOATING_RANGE=192.168.88.224/27
FIXED_RANGE=10.11.12.0/24
FIXED_NETWORK_SIZE=256

后来我在 openstack 上创建了一个 debian VM (vm-debian-01),它接收浮动 ip 192.168.88.230。

此外,还创建了释放 ping 的安全组:

Ingress IPv4 ICMP Any 0.0.0.0/0

使用此配置,可以将 vm-devstack-01 ping 到在 openstack 中创建的 vm-debian-01。

ping

但是我无法从真机(我的笔记本 - IP 192.168.88.28)ping vm-debian-01。我做错了什么?

解决方法

您的 Openstack 主机上需要 MASQUERADE 定义。 也就是说,来自您的 VM 的数据包的网络转换。 同时,您需要从想要访问虚拟机的所有其他网络路由到您的 Openstack 主机。

  • 化妆舞会规则
  • 路由
  • Openstack 中的正确安全组设置