更新时间:2022-01-25 GMT+08:00

云服务器绑定虚拟IP

使用工具

Postman或者JMeter。

涉及接口

涉及4个API接口的调用,具体如下:

序号

方法

URI

说明

1

POST

/v3/auth/tokens

获取Token

2

POST

/v2.0/ports

创建VIP Port

3

PUT

/v2.0/ports/{port_id}

将云服务器与虚拟IP绑定

4

GET

/v2/{project_id}/servers/{server_id}/os-interface

配置绑定了虚拟IP的云服务器网卡的allowed-address-pairs,

操作步骤

  1. 获取token。

    方法

    POST

    url

    iam地址:端口/v3/auth/tokens

    body体(样例)

    {

    "auth":{

    "identity":{

    "methods": ["password"],

    "password":{

    "user":{

    "name": "user_name",

    "domain":{

    "name":"domain_name"

    },

    "password":"user_password"

    }

    }

    },

    "scope":{

    "project":{

    "name":"project_name"

    }

    }

    }

    }

  2. 在云服务器所在的VPC子网内,创建VIP Port。

    要求VIP Port与云服务器同子网,并指定“device_owner”参数为“neutron:VIP_PORT”。

    方法

    POST

    url

    vpc地址:端口/v2.0/ports

    body体(样例)

    {

    "port": {

    "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161",

    "device_owner": "neutron:VIP_PORT",

    "name": "vip_port_test"

    }

    }

    说明

    body体中的network_id为云服务器所在的网络ID

  3. 将云服务器与虚拟IP绑定。

    更新vip port的allowed-address-pairs,指定ip_address为需要绑定的云服务器的网卡的IP地址。

    方法

    PUT

    url

    vpc地址:端口/v2.0/ports/{port_id}

    body体(样例)

    {

    "port": {

    "allowed_address_pairs": [

    {"ip_address":"192.168.22.221"},

    {"ip_address":"192.168.22.203"}

    ]

    }

    }

    说明

    • url中{port_id}是上一步中创建的vip port的ID
    • body体中ip_address就是需要绑定的云服务器网卡的IP地址
  4. 配置绑定了虚拟IP的云服务器网卡的allowed-address-pairs。
    1. 获取绑定了虚拟IP的云服务器网卡信息port_id。

      方法

      GET

      url

      ecs地址:端口/v2/{tenant_id}/servers/{server_id}/os-interface

      body体

      不涉及

      说明

      url中{tenant_id}是项目ID,{server_id}是云服务器的ID

    2. 更新云服务器网卡的allowed-address-pairs为1.1.1.1/0,关闭源/目的检查。

      方法

      PUT

      url

      vpc地址:端口/v2.0/ports/{port_id}

      body体

      {

      "port": {

      "allowed_address_pairs": [

      {"ip_address":"1.1.1.1/0"}

      ]

      }

      }

      说明

      url中{port_id}是绑定了虚拟IP的云服务器网卡的ID,可由a中获取。