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

标签 openstack devstack openstack-neutron floating-ip

关注官方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/

相关文章:

python - Devstack 安装错误 : No distributions matching the version for oslo. config>=1.4.0.0a3(来自 oslo.messaging==1.4.0.dev37.g4f929c3)

openstack - 在使用 Devstack 安装的 Openstack 中重新启动服务

openstack - neutron-openvswitch-agent 最终无法在网络节点上列出/创建大量端口

ubuntu - 无法建立与 http ://controller:9696/v2. 0/networks 的连接

ubuntu - Openstack-Keystone 无法创建租户

java - 如何使用 keystone API 扩展发送 JSON 格式请求 "add global role to user "?

ubuntu-14.04 - Openstack-Devstack : Can't create instance, 可用主机不足

hadoop - 在OpenStack Sahara中生成Hadoop集群时的“No valid host was found”

linux - Erlang NUMA技术配置

mysql - 找出哪个 Unicode