«

OpenStack-虚拟机绑定vip做keepalived

指尖二进制 • 1 年前 • 723 次点击 • OPENSTACK


在某些用户业务背景下,需要在虚拟机内使用 keepalived 配置 vip 使用,但是由于 neutron 地址防欺骗规则,不允许平台给虚拟机分配的 IP 和 mac 不匹配的流量出入

vip地址
10.116.25.128
10.116.25.129
10.116.25.130

查看需要配置的虚拟机port-id

[root@XC-tstack-con01 ~(keystone_admin)]# neutron port-list|grep "10.116.25.121"
| 9f132e85-3349-4c4f-950d-201fe4fddbf9 | inst-20210918-0037                            | 03b24e64a0d94677b607c4f4df5fd856 | fa:16:3e:ab:e6:49 | {"subnet_id": "d086dd40-b262-4423-a473-5fede24f4308", "ip_address": "10.116.25.121"} |
[root@XC-tstack-con01 ~(keystone_admin)]# neutron port-list|grep "10.116.25.122"
| 93e227cf-2cd4-4288-ade9-c5ca49da30f3 | inst-20210918-0038                            | 03b24e64a0d94677b607c4f4df5fd856 | fa:16:3e:36:45:1a | {"subnet_id": "d086dd40-b262-4423-a473-5fede24f4308", "ip_address": "10.116.25.122"} |
[root@XC-tstack-con01 ~(keystone_admin)]# neutron port-list|grep "10.116.25.123"
| 8c213213-7fba-4ee3-b8fe-44fcf2f92af6 | inst-20210918-0039                            | 03b24e64a0d94677b607c4f4df5fd856 | fa:16:3e:88:f6:c3 | {"subnet_id": "d086dd40-b262-4423-a473-5fede24f4308", "ip_address": "10.116.25.123"} |

更新虚拟机网卡策略,允许 vip 地址流量出入
一个虚拟机绑定多个vip

neutron port-update 9f132e85-3349-4c4f-950d-201fe4fddbf9 --allowed-address-pairs type=dict list=true ip_address=10.116.25.0/24
neutron port-update 93e227cf-2cd4-4288-ade9-c5ca49da30f3 --allowed-address-pairs type=dict list=true ip_address=10.116.25.0/24
neutron port-update 8c213213-7fba-4ee3-b8fe-44fcf2f92af6 --allowed-address-pairs type=dict list=true ip_address=10.116.25.0/24

一个虚拟机绑定一个vip

neutron port-update 9f132e85-3349-4c4f-950d-201fe4fddbf9 --allowed-address-pairs type=dict list=true ip_address=10.116.25.128

删除虚拟机绑定的vip

neutron port-update --no-allowed-address-pairs 9f132e85-3349-4c4f-950d-201fe4fddbf9
neutron port-show 9f132e85-3349-4c4f-950d-201fe4fddbf9

如果需要对 vip 绑定浮动 IP,则还需要进行额外操作,绑定浮动 IP 到 vip 地址

neutron floatingip-associate <FLOATINGIP_ID> <PORT_ID>
还没收到回复