无法访问openstack浮动IP

时间:2018-11-02 07:33:00

标签: openstack dvr floating-ip

说明

启用dvr后,两个虚拟机vip都配置了keealived。当专用网络的VIP漂移时,无法访问openstack浮动ip。

更多细节如下:

两个节点,专用网络配置保持有效 主机1 192.168.1.2 主机2 192.168.1.3 vip192.168.1.4 专用网络VIP漂移没问题,专用网络内部访问VIP没问题 问题在于,内部网络的vip漂移之后,与该vip对应的外部浮动ip无法访问,并且可以在漂移之前进行访问。 现象:更新VIP漂移到的专用网络的端口。可以使用浮动网络。是什么原因导致这个问题?

配置参考

  

https://hk.saowen.com/a/4d7a3dcd044eb53ae0fc81e4d1445ba76bbb02423ff6c7b4a53a8ad59945883d

配置过程

前提: 假设已经有两个配置为keepalived的虚拟机10.10.10.6、10.10.10.7,vip为10.10.10.201 配置步骤以在OpenStack中支持VIP和浮动IP访问:

  1. 安全组加上vrrp协议112

      

    neutron security-group-rule-create --protocol 112 default

  2. 创建VIP

      

    中子端口创建--fixed_ip ip_address = 10.10.10.201-安全组默认vrrp_net

  3. 将VIP绑定到浮动IP

      

    中子floatip-create --port-id = 3d7e70e9-cfcb-4aa9-95cc-60b5b6b67ec3 admin_floating_net

  4. 向虚拟机端口添加allowed_address_pairs以支持多个NIC的多个NIC。

查询虚拟机1的端口

  

中子端口列表| grep 10.10.10.6

更新虚拟机1的端口

  

中子端口更新df22ba59-9c58-41a5-9fa3-98b09e644fe5-   allowed_address_pairs list = true type = dict ip_address = 10.10.10.201

查询虚拟机2的端口

  

中子端口列表| grep 10.10.10.7

更新虚拟机2的端口

  

中子端口更新4c93d5b7-f26f-4136-a785-4db1479dbd81-> allowed_address_pairs list = true type = dict ip_address = 10.10.10.201

1 个答案:

答案 0 :(得分:0)

我们在OpenStack Pike中遇到了同样的问题。对我们来说,升级到皇后区后它似乎消失了。您使用的是哪个版本?

在我们的案例中,故障转移后未更新网络节点上snat名称空间中snat / dnat的iptables规则。

您可以通过以下方式在安装中进行验证:

ip netns exec snat-<uuid of your router> iptables -t nat -L

对于浮动IP,您应该会看到一条规则和一条dnat规则。

更多的Launchpad错误和PR,以供进一步参考:

相关问题