gpt4 book ai didi

openstack - 无法在 devstack 节点外部访问 DevStack 实例

转载 作者:行者123 更新时间:2023-12-02 23:33:22 47 4
gpt4 key购买 nike

关注官方documentation ,我正在尝试在虚拟机上的 Ubuntu 18.04 Server 操作系统上部署 Devstack。 devstack 节点只有一个网卡 (ens160),连接到具有以下 CIDR 10.20.30.40/24 的网络。我需要在此网络上公开访问我的实例(从 10.20.30.240 到 10.20.30.250)。所以再次下面的官方 float IP documentation我设法形成了这个 local.conf 文件:

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

PUBLIC_INTERFACE=ens160
HOST_IP=10.20.30.40
FLOATING_RANGE=10.20.30.40/24
PUBLIC_NETWORK_GATEWAY=10.20.30.1
Q_FLOATING_ALLOCATION_POOL=start=10.20.30.240,end=10.20.30.250

这将导致形成一个具有全局 IP 地址 10.20.30.40 和辅助 IP 地址 10.20.30.1br-ex(网络上已存在网关;PUBLIC_NETWORK_GATEWAY 参数不是在谈论网络上的真实网关吗?)

现在,成功部署后,禁用 ufw (根据 this ),创建一个具有适当安全组的 cirros 实例以进行 ping 和 ssh 并附加 float IP,I只能访问我的 devstack 节点上的实例,不能访问整个网络!同样从 cirros 实例内部,我无法访问外部世界(即使我可以从 devstack 节点访问外部世界)

然后观看this视频,我修改了 local.conf 文件,如下所示:

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

FLAT_INTERFACE=ens160
HOST_IP=10.20.30.40
FLOATING_RANGE=10.20.30.240/28

成功部署和实例设置后,我仍然只能在 devstack 节点上访问我的实例,而不能从外部访问!但好消息是我可以从 cirros 实例内部访问外部世界

如有任何帮助,我们将不胜感激!

<小时/>

更新

在第二个配置中,在 ping 实例 float IP 时检查 tcpdump 上的数据包,我观察到该实例的 float IP 的 who-has 广播数据包实例从网络路由器到达devstack节点;但是不会生成 is-at 回复,因此 ICMP 数据包不会路由到 devstack 节点和实例。

因此,通过一些技巧,我创建了响应,之后一切正常;但这当然不是解决方案,我想 devstack 应该开箱即用,无需任何调整,这可能是因为 devstack 配置错误。

最佳答案

经过 5 天的测试、研究和讲座,我发现了这个:Openstack VM is not accessible on LAN

devstack 节点上输入以下命令:

echo 1 > /proc/sys/net/ipv4/conf/ens160/proxy_arp
iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE

这样就可以了!

干杯!

关于openstack - 无法在 devstack 节点外部访问 DevStack 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58821993/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com