为什么 Openstack VM 不能通过它的浮动 IP 访问自己?

Til*_*ütz 5 virtual-machines openstack

我建立了一个 OpenStack Folsom (2012.2) 多节点、单网络基础设施。一切都运行良好,实例在任何计算节点上运行良好,私有网络就像一个魅力,所有实例都可以从外部通过浮动 IP 访问并且可以到达外部。

但是当试图通过它的浮动 IP 执行从 VM 到自身的网络请求时,它失败了。

ping 和 ssh 都不起作用。

安全组都是开放的。

Ping 通过浮动 IP 从一个 VM 到另一个 VM 工作,但 SSH不行

一个例子的一些数据

  • 10.0.0.0/24 是私有网络
  • 10.0.0.1 是控制器
  • 10.1.100.0/24 是浮动IP网络
  • 具有 10.0.0.13 的 VM 具有浮动 IP 10.1.100.4

控制器上的 iptables 条目(关于 10.1.100.4/10.0.0.13)(包括网络在内的所有服务):

-A nova-network-2.7-OUTPUT -d 10.1.100.4/32 -j DNAT --to-destination 10.0.0.13
-A nova-network-2.7-PREROUTING -d 10.1.100.4/32 -j DNAT --to-destination 10.0.0.13
-A nova-network-2.7-float-snat -s 10.0.0.13/32 -o eth0 -j SNAT --to-source 10.1.100.4
Run Code Online (Sandbox Code Playgroud)

计算节点上的 iptables 条目:

关于 10.1.100.4/10.0.0.13:

-A nova-compute-2.7-local -d 10.0.0.13/32 -j nova-compute-2.7-inst-143
Run Code Online (Sandbox Code Playgroud)

关于 nova-compute-2.7-inst-143:

-N nova-compute-2.7-inst-143
-A nova-compute-2.7-inst-143 -m state --state INVALID -j DROP
-A nova-compute-2.7-inst-143 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A nova-compute-2.7-inst-143 -j nova-compute-2.7-provider
-A nova-compute-2.7-inst-143 -s 10.0.0.1/32 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A nova-compute-2.7-inst-143 -s 10.0.0.0/24 -j ACCEPT
-A nova-compute-2.7-inst-143 -p tcp -m tcp --dport 22 -j ACCEPT
-A nova-compute-2.7-inst-143 -p tcp -m tcp --dport 3389 -j ACCEPT
-A nova-compute-2.7-inst-143 -p tcp -m multiport --dports 1:65535 -j ACCEPT
-A nova-compute-2.7-inst-143 -p udp -m multiport --dports 1:65535 -j ACCEPT
-A nova-compute-2.7-inst-143 -p icmp -j ACCEPT
-A nova-compute-2.7-inst-143 -j nova-compute-2.7-sg-fallback
Run Code Online (Sandbox Code Playgroud)

欢迎任何在何处搜索问题的建议。当然,我会提供任何必要的数据来解决问题。目前我不太确定哪些数据会有所帮助。

小智 2

蒂洛,

这在https://bugs.launchpad.net/nova/+bug/1096259中得到了很好的体现,目前 nova 的补丁正在进行中(https://review.openstack.org/#/c/19139/):今天(2013 年 1 月 7 日)。

完整修复还包含错误 1096987 ( https://bugs.launchpad.net/nova/+bug/1096987 ) 和 1096985 ( https://bugs.launchpad.net/nova/+bug/1096987 ) 以涵盖更多内容使用预定义的外部网关或利用 nova-network linux/iptables 网络公共桥接设置的常见部署场景。