0

描述

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

更多细节如下:

两个节点,私网配置keepalived Host1 192.168.1.2 Host2 192.168.1.3 vip192.168.1.4 私网vip漂移没问题,私网内网访问vip没问题 问题是内网的vip漂移后,外网的vip这个vip对应的浮动ip是无法访问的,可以在漂移前访问。现象:更新vip漂到的私网端口。可以使用浮动网络。是什么导致了这个问题?

配置参考

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

配置过程

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

  1. 安全组加 vrrp 协议 112

    neutron security-group-rule-create --protocol 112 默认

  2. 创建vip

    neutron port-create --fixed_ip ip_address=10.10.10.201 --security-group default vrrp_net

  3. 绑定vip到浮动ip

    中子浮动ip-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

4

1 回答 1

0

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

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

您可以通过调用以下方式在安装中验证这一点:

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

您应该会看到浮动 IP 的一个 snat 和一个 dnat 规则。

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

于 2018-11-27T07:22:25.050 回答