【问题标题】:Why is it not possible to ping a real machine to a vm inside openstack为什么无法 ping 真机到 openstack 中的 vm
【发布时间】:2021-08-04 06:40:13
【问题描述】:

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

vm-devstack-01:

我将 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

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

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

【问题讨论】:

  • 罪魁祸首可能是 VirtualBox 或 VirtualBox 创建的桥。它似乎阻止了到 VirtualBox 未知地址的流量。几年前,我也遇到过这个问题。当我在 KVM 虚拟机上切换到相同的 OpenStack 设置时,问题就消失了。您可以使用 Wireshark 和 Tcpdump 找出流量被阻止的时间点。

标签: openstack devstack


【解决方案1】:

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

  • 伪装规则
  • 路由
  • Openstack 中正确的安全组设置

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多