全部产品
Search
文档中心

VPN网关:ModifyVpnAttachmentAttribute - 修改IPsec连接的配置

更新时间:Nov 13, 2024

调用ModifyVpnAttachmentAttribute接口修改IPsec连接的配置。

接口说明

  • ModifyVpnAttachmentAttribute 接口属于异步接口,即系统返回一个请求 ID,但该 IPsec 连接的配置尚未修改成功,系统后台的修改任务仍在进行。您可以调用 DescribeVpnConnection 查询 IPsec 连接的配置的修改状态:
    • 当 IPsec 连接处于 updating 状态时,表示 IPsec 连接的配置正在修改中。
    • 当 IPsec 连接处于 attached 状态时,表示 IPsec 连接的配置修改成功。
  • ModifyVpnAttachmentAttribute 接口不支持并发修改 IPsec 连接的配置。
  • 调用 ModifyVpnAttachmentAttribute 接口时,不支持修改 IPsec 连接的网关类型。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
vpc:ModifyVpnAttachmentAttributeupdate
  • VpnConnections
    acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}

请求参数

名称类型必填描述示例值
RegionIdstring

IPsec 连接所属的地域 ID。

您可以通过调用 DescribeRegions 接口获取地域 ID。

cn-hangzhou
VpnConnectionIdstring

IPsec 连接 ID。

vco-p0w5112fgnl2ihlmf****
Namestring

IPsec 连接的名称。

名称长度为 1~100 个字符,不能以http://https://开头。

nametest
LocalSubnetstring

需要和本地数据中心互通的 VPC 侧的网段,用于第二阶段协商。

多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。

关于 IPsec 连接路由模式的说明:

  • 如果 LocalSubnetRemoteSubnet 均输入为 0.0.0.0/0,则表示您使用目的路由模式。
  • 如果 LocalSubnetRemoteSubnet 均输入具体的网段,则表示您使用感兴趣流模式。
10.1.1.0/24,10.1.2.0/24
RemoteSubnetstring

需要和 VPC 互通的本地数据中心侧的网段,用于第二阶段协商。

多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。

关于 IPsec 连接路由模式的说明:

  • 如果 LocalSubnetRemoteSubnet 均输入为 0.0.0.0/0,则表示您使用目的路由模式。
  • 如果 LocalSubnetRemoteSubnet 均输入具体的网段,则表示您使用感兴趣流模式。
10.1.3.0/24,10.1.4.0/24
EffectImmediatelyboolean

选择 IPsec 连接的配置是否立即生效。 取值:

  • true:配置完成后系统立即进行 IPsec 协议协商。
  • false:当有流量进入时系统才进行 IPsec 协议协商。
false
IkeConfigstring

第一阶段协商的配置信息:

  • IkeConfig.Psk:预共享密钥,用于 VPN 网关与本地数据中心之间的身份认证。

    • 密钥长度为 1~100 个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。~!`@#$%^&*()_-+={}[]|;:',.<>/?
    • 若您未指定预共享密钥,系统会随机生成一个 16 位的字符串作为预共享密钥。您可以调用 DescribeVpnConnection 接口查询系统自动生成的预共享密钥。
    说明 IPsec 连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和 VPN 网关之间无法建立连接。
  • IkeConfig.IkeVersion:IKE 协议的版本。取值:ikev1ikev2

  • IkeConfig.IkeMode:协商模式。取值:mainaggressive

  • IkeConfig.IkeEncAlg:第一阶段协商的加密算法。取值:aesaes192aes256des3des

  • IkeConfig.IkeAuthAlg:第一阶段协商的认证算法。取值:md5sha1sha256sha384sha512

  • IkeConfig.IkePfs:第一阶段协商使用的 Diffie-Hellman 密钥交换算法。取值:group1group2group5group14

  • IkeConfig.IkeLifetime:第一阶段协商出的 SA 的生存周期。单位:秒。取值范围:0~86400

  • IkeConfig.LocalId:IPsec 连接阿里云侧的标识,长度限制为 100 个字符,不能包含空格。

  • IkeConfig.RemoteId:IPsec 连接本地数据中心侧的标识,长度限制为 100 个字符,不能包含空格。

{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"}
IpsecConfigstring

第二阶段协商的配置信息:

  • IpsecConfig.IpsecEncAlg:第二阶段协商的加密算法。取值:aesaes192aes256des3des

  • IpsecConfig. IpsecAuthAlg:第二阶段协商的认证算法。取值:md5sha1sha256sha384sha512

  • IpsecConfig. IpsecPfs:第二阶段协商使用的 Diffie-Hellman 密钥交换算法。取值:disabledgroup1group2group5group14

  • IpsecConfig. IpsecLifetime:第二阶段协商出的 SA 的生存周期。单位:秒。取值范围:0~86400

{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}
BgpConfigstring

BGP 的配置信息:

  • BgpConfig.EnableBgp:是否开启 BGP 功能。取值:

    • true:开启 BGP 功能。
    • false:关闭 BGP 功能。
  • BgpConfig.LocalAsn:阿里云侧的自治系统号。自治系统号取值范围:1~4294967295

    支持按照两段位的格式进行输入,即:前 16 位比特.后 16 位比特。每个段位使用十进制输入。

    例如输入 123.456,则表示自治系统号:123*65536+456=8061384。

  • BgpConfig.TunnelCidr:IPsec 隧道网段。该网段需是一个在 169.254.0.0/16 内的掩码长度为 30 的网段,且不能是 169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30 和 169.254.169.252/30。

  • LocalBgpIp:阿里云侧的 BGP 地址。该地址为 IPsec 隧道网段内的一个 IP 地址。

说明
  • 在添加 BGP 配置前,建议您先了解 BGP 动态路由功能的工作机制和使用限制。更多信息,请参见配置 BGP 动态路由
  • 建议您使用自治系统号的私有号码与阿里云建立 BGP 连接。自治系统号的私有号码范围请自行查阅文档。
  • {"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}
    HealthCheckConfigstring

    健康检查配置信息:

    • HealthCheckConfig.enable:是否开启健康检查,取值:

      • true:开启健康检查功能。
      • false:关闭健康检查功能。
    • HealthCheckConfig.dip:健康检查的目的 IP 地址。输入 VPC 侧通过 IPsec 连接可以访问的本地数据中心的 IP 地址。

    • HealthCheckConfig.sip:健康检查的源 IP 地址。输入本地数据中心通过 IPsec 连接可以访问的 VPC 侧的 IP 地址。

    • HealthCheckConfig.interval:健康检查的重试间隔时间,单位:秒。

    • HealthCheckConfig.retry:健康检查的重试发包次数。

    • HealthCheckConfig.Policy:健康检查失败时是否撤销已发布的路由。取值:

      • revoke_route:撤销已发布的路由。
      • reserve_route:不撤销已发布的路由。
    {"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}
    AutoConfigRouteboolean

    是否自动配置路由。取值:

    • true:自动配置路由。

    • false:不自动配置路由。

    true
    EnableDpdboolean

    是否开启 DPD(对等体存活检测)功能。取值:

    • true:开启 DPD 功能。IPsec 发起端会发送 DPD 报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec 将删除 ISAKMP SA 和相应的 IPsec SA,安全隧道同样也会被删除。

    • false:不开启 DPD 功能,IPsec 发起端不会发送 DPD 探测报文。

    true
    EnableNatTraversalboolean

    是否开启 NAT 穿越功能。取值:

    • true:开启 NAT 穿越功能。开启后,IKE 协商过程会删除对 UDP 端口号的验证过程,同时实现对 VPN 隧道中 NAT 网关设备的发现功能。

    • false:不开启 NAT 穿越功能。

    true
    RemoteCaCertstring

    国密型 VPN 网关创建 IPsec 连接时,对端的 CA 证书。

    c20ycDI1NnYxIENBIChURVNUIFN****
    ClientTokenstring

    客户端 Token,用于保证请求的幂等性。

    从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。

    说明 若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。
    123e4567-e89b-12d3-a456-4266****
    NetworkTypestring

    IPsec 连接的网络类型。取值:

    • public:公网,表示 IPsec 连接通过公网建立加密通信通道。
    • private:私网,表示 IPsec 连接通过私网建立加密通信通道。
    public
    CustomerGatewayIdstring

    IPsec 连接关联的用户网关实例。

    cgw-p0w2jemrcj5u61un8****

    返回参数

    名称类型描述示例值
    object

    返回结果。

    VpnConnectionIdstring

    IPsec 连接 ID。

    vco-p0w5112fgnl2ihlmf****
    CustomerGatewayIdstring

    IPsec 连接绑定的用户网关 ID。

    cgw-p0w2jemrcj5u61un8****
    VpnGatewayIdstring

    IPsec 连接绑定的 VPN 网关实例 ID。

    vpn-p0wa1c1018pmeb6cu****
    Namestring

    IPsec 连接的名称。

    nametest
    Descriptionstring

    IPsec 连接的描述信息。

    desctest
    LocalSubnetstring

    需要和本地数据中心互通的 VPC 侧的网段。

    10.1.1.0/24,10.1.2.0/24
    RemoteSubnetstring

    需要和 VPC 互通的本地数据中心侧的网段。

    10.1.3.0/24,10.1.4.0/24
    IkeConfigobject

    第一阶段协商的配置信息。

    Pskstring

    预共享密钥,用于 VPN 网关与本地数据中心之间的身份认证。

    说明 IPsec 连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和 VPN 网关之间无法建立连接。
    1234***
    IkeVersionstring

    IKE 协议的版本。

    ikev1
    IkeModestring

    协商模式。

    main
    IkeEncAlgstring

    第一阶段协商的加密算法。

    aes
    IkeAuthAlgstring

    第一阶段协商的认证算法。

    sha1
    IkePfsstring

    第一阶段协商使用的 Diffie-Hellman 密钥交换算法。

    group2
    IkeLifetimelong

    第一阶段协商出的 SA 的生存周期。单位:秒。

    86400
    LocalIdstring

    IPsec 连接阿里云侧的标识。

    47.XX.XX.1
    RemoteIdstring

    IPsec 连接本地数据中心侧的标识。

    47.XX.XX.2
    IpsecConfigobject

    第二阶段协商的配置信息。

    IpsecEncAlgstring

    第二阶段协商的加密算法。

    aes
    IpsecAuthAlgstring

    第二阶段协商的认证算法。

    md5
    IpsecPfsstring

    第二阶段协商使用的 Diffie-Hellman 密钥交换算法。

    group2
    IpsecLifetimelong

    第二阶段协商出的 SA 的生存周期。单位:秒。

    86400
    CreateTimelong

    创建 IPsec 连接的时间戳。单位:毫秒。

    时间戳的格式采用 Unix 时间戳,表示从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒至创建 IPsec 连接时的总时长。

    1658201810000
    EffectImmediatelyboolean

    IPsec 连接的配置是否立即生效。

    • true:是。
    • false:否。
    false
    Statusstring

    IPsec 连接的状态。

    • ike_sa_not_established:第一阶段协商失败。

    • ike_sa_established:第一阶段协商成功。

    • ipsec_sa_not_established:第二阶段协商失败。

    • ipsec_sa_established:第二阶段协商成功。

    ike_sa_not_established
    VcoHealthCheckobject

    IPsec 连接的健康检查配置信息。

    Enablestring

    IPsec 连接是否已开启健康检查功能。

    • true:已开启。
    • false:未开启。
    true
    Sipstring

    健康检查的源 IP 地址。

    10.1.1.1
    Dipstring

    健康检查的目的 IP 地址。

    192.168.1.1
    Intervalinteger

    健康检查的重试间隔时间。单位:秒。

    3
    Retryinteger

    健康检查的重试发包次数。

    3
    Policystring

    健康检查失败时是否撤销已发布的路由。

    • revoke_route:撤销已发布的路由。
    • reserve_route:不撤销已发布的路由。
    revoke_route
    EnableDpdboolean

    IPsec 连接是否已开启 DPD 功能。

    • true:已开启。
    • false:未开启。
    true
    EnableNatTraversalboolean

    IPsec 连接是否已开启 NAT 穿越功能。

    • true:已开启。
    • false:未开启。
    true
    VpnBgpConfigobject

    IPsec 连接的 BGP 配置信息。

    EnableBgpstring

    IPsec 连接是否已开启 BGP 功能。

    • true:已开启。
    • false:未开启。
    true
    TunnelCidrstring

    IPsec 隧道网段。

    169.254.11.0/30
    LocalBgpIpstring

    阿里云侧的 BGP IP 地址。

    169.254.11.1
    PeerBgpIpstring

    本地数据中心侧的 BGP IP 地址。

    169.254.11.2
    LocalAsnlong

    阿里云侧的自治系统号。

    45104
    PeerAsnlong

    本地数据中心侧的自治系统号。

    65535
    Statusstring

    BGP 的协商状态。

    • success:正常。
    • false:异常。
    false
    AttachTypestring

    IPsec 连接绑定的资源类型。

    • CEN:表示 IPsec 连接绑定了转发路由器实例。
    • VPNGW:表示 IPsec 连接绑定了 VPN 网关实例。
    • NO_ASSOCIATED:表示 IPsec 连接未绑定任何资源。
    CEN
    NetworkTypestring

    IPsec 连接的网络类型。

    • public:公网。
    • private:私网。
    public
    AttachInstanceIdstring

    IPsec 连接绑定的转发路由器实例所属的云企业网实例 ID。

    cen-c2r3m3zxkumoqz****
    Specstring

    IPsec 连接的带宽规格。

    返回值中 M 表示单位 Mbps

    1000M
    ResourceGroupIdstring

    IPsec 连接所属的资源组 ID。

    您可以调用 ListResourceGroups 接口查询资源组信息。

    rg-acfmzs372yg****
    RequestIdstring

    请求 ID。

    35822A84-867F-3936-A2E6-A4C4E3ED11C0

    示例

    正常返回示例

    JSON格式

    {
      "VpnConnectionId": "vco-p0w5112fgnl2ihlmf****",
      "CustomerGatewayId": "cgw-p0w2jemrcj5u61un8****",
      "VpnGatewayId": "vpn-p0wa1c1018pmeb6cu****",
      "Name": "nametest",
      "Description": "desctest",
      "LocalSubnet": "10.1.1.0/24,10.1.2.0/24",
      "RemoteSubnet": "10.1.3.0/24,10.1.4.0/24",
      "IkeConfig": {
        "Psk": "1234***",
        "IkeVersion": "ikev1",
        "IkeMode": "main",
        "IkeEncAlg": "aes",
        "IkeAuthAlg": "sha1",
        "IkePfs": "group2",
        "IkeLifetime": 86400,
        "LocalId": "47.XX.XX.1",
        "RemoteId": "47.XX.XX.2"
      },
      "IpsecConfig": {
        "IpsecEncAlg": "aes",
        "IpsecAuthAlg": "md5",
        "IpsecPfs": "group2",
        "IpsecLifetime": 86400
      },
      "CreateTime": 1658201810000,
      "EffectImmediately": false,
      "Status": "ike_sa_not_established",
      "VcoHealthCheck": {
        "Enable": "true",
        "Sip": "10.1.1.1",
        "Dip": "192.168.1.1",
        "Interval": 3,
        "Retry": 3,
        "Policy": "revoke_route"
      },
      "EnableDpd": true,
      "EnableNatTraversal": true,
      "VpnBgpConfig": {
        "EnableBgp": "true",
        "TunnelCidr": "169.254.11.0/30",
        "LocalBgpIp": "169.254.11.1",
        "PeerBgpIp": "169.254.11.2",
        "LocalAsn": 45104,
        "PeerAsn": 65535,
        "Status": "false"
      },
      "AttachType": "CEN",
      "NetworkType": "public",
      "AttachInstanceId": "cen-c2r3m3zxkumoqz****",
      "Spec": "1000M",
      "ResourceGroupId": "rg-acfmzs372yg****",
      "TunnelOptionsSpecification": [
        {
          "CustomerGatewayId": "",
          "EnableDpd": true,
          "EnableNatTraversal": true,
          "InternetIp": "",
          "RemoteCaCertificate": "",
          "Role": "",
          "TunnelId": "",
          "TunnelIndex": 0,
          "State": "",
          "TunnelBgpConfig": {
            "LocalAsn": 0,
            "LocalBgpIp": "",
            "PeerAsn": 0,
            "PeerBgpIp": "",
            "TunnelCidr": ""
          },
          "TunnelIkeConfig": {
            "IkeAuthAlg": "",
            "IkeEncAlg": "",
            "IkeLifetime": 0,
            "IkeMode": "",
            "IkePfs": "",
            "IkeVersion": "",
            "LocalId": "",
            "Psk": "",
            "RemoteId": ""
          },
          "TunnelIpsecConfig": {
            "IpsecAuthAlg": "",
            "IpsecEncAlg": "",
            "IpsecLifetime": 0,
            "IpsecPfs": ""
          }
        }
      ],
      "EnableTunnelsBgp": true,
      "RequestId": "35822A84-867F-3936-A2E6-A4C4E3ED11C0"
    }

    错误码

    HTTP status code错误码错误信息描述
    400VpnConnection.ConfiguringThe specified service is configuring.服务正在配置中,请您稍后再试。
    400VpnConnection.FinancialLockedThe specified service is financial locked.指定的服务欠费锁定。
    400InvalidNameThe name is not valid该名称格式不合法。
    400VpnRouteEntry.AlreadyExistsThe specified route entry is already exist.该路由已存在。
    400VpnRouteEntry.ConflictThe specified route entry has conflict.路由条目存在冲突。
    400NotSupportVpnConnectionParameter.IpsecPfsThe specified vpn connection ipsec Ipsec Pfs is not support.IPsec连接中指定的Pfs参数不支持
    400NotSupportVpnConnectionParameter.IpsecAuthAlgThe specified vpn connection ipsec Auth Alg is not support.IPsec连接中指定的认证算法不支持
    400VpnRouteEntry.BackupRouteValidate backup route entry failed.主备路由条目校验失败。
    400VpnRouteEntry.InvalidWeightInvalid route entry weight value.路由权重值不合法
    400MissingParameter.TunnelCidrThe parameter TunnelCidr is mandatory when BGP is enabled.开启BGP时,隧道CIDR参数是必填项
    400OperationUnsupported.EnableBgpCurrent region does not support enable BGP.当前地域不支持开启BGP。
    400MissingParam.CustomerGatewayAsnAsn of customer gateway is mandatory when BGP is enabled.开启BGP时,客户网关的自治系统号不可以为空。
    400IllegalParam.LocalAsnThe specified LocalAsn is invalid.本端自治系统号不合法。
    400IllegalParam.BgpConfigThe specified BgpConfig is invalid.指定的BGP配置不合法
    400IllegalParam.EnableBgpVPN connection must enable BGP when VPN gateway has enabled BGP.当 VPN 网关启用 BGP 时,VPN 连接必须启用 BGP。
    400IllegalParam.TunnelCidrThe specified TunnelCidr is invalid.参数TunnelCidr不合法。
    400InvalidLocalBgpIp.MalformedThe specified LocalBgpIp is malformed.指定的本端BGP的IP异常
    400IllegalParam.LocalBgpIpThe specified LocalBgpIp is invalid.本端BGP地址不合法。
    400IllegalParam.LocalSubnetThe specified "LocalSubnet" (%s) is invalid.本端网段(%s)不合法。
    400IllegalParam.RemoteSubnetThe specified "RemoteSubnet" (%s) is invalid.对端网段(%s)不合法。
    400CustomerGateway.ConflictRouteEntryThe specified customer gateway has conflict with route entry.当前用户网关和路由存在冲突。
    400IllegalParam.NetworkTypeThe specified NetworkType (%s) is invalid.网络类型不合法。
    400InvalidTunnelCidr.MalformedThe specified TunnelCidr is malformed.指定的隧道CIDR异常
    400VpnGateway.ConfiguringThe specified service is configuring.服务正在配置中,请您稍后再试。
    400VpnTask.CONFLICTVpn task has conflict.Vpn操作存在冲突,请稍后重试。
    400ModifyIkeV1WithMultiRoutes.InvalidFailed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.修改VPN连接参数失败,在使用IkeV1协议的同时配置了多网端。
    400InvalidVpnGatewayInstanceId.NotFoundThe specified vpn gateway instance id does not exist.指定的 VPN 网关不存在,请您检查 VPN 网关是否正确。
    400Resource.QuotaFullThe resources you are operating have reached the upper limit of the quota. Please increase the quota or use other solutions to avoid it according to the VPN operation document.您现在所操作的资源目前已经达到了配额的上限,请参考VPN操作文档,进行配额提升或者使用其他方案进行规避。
    400CreateDbrRoutesQuotaFull.QuotaFullThe number of created destination routes exceeds the quota limit.创建目的路由数量超过配额限制。
    400CreatePbrRoutesQuotaFull.QuotaFullThe number of policy routes exceeds the quota limit.策略路由数量超过配额限制。
    403Forbbiden.SubUserUser not authorized to operate on the specified resource as your account is created by another user.您没有权限操作该资源,请您申请操作权限后再试。
    403ForbiddenUser not authorized to operate on the specified resource.您没有权限操作指定资源,请申请权限后再操作。
    404InvalidVpnConnectionInstanceId.NotFoundThe specified vpn connection instance id does not exist.指定的VPN连接不存在,请您检查该VPN连接ID是否正确。

    访问错误中心查看更多错误码。

    变更历史

    变更时间变更内容概要操作
    2024-10-24OpenAPI 错误码发生变更、OpenAPI 入参发生变更、OpenAPI 返回结构发生变更查看变更详情
    2024-01-04OpenAPI 错误码发生变更查看变更详情
    2023-10-19OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更查看变更详情