Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-04 GMT+08:00

Actualización de una conexión VPN

Función

Esta API se utiliza para actualizar una conexión VPN con un ID de conexión especificado.

URI

PUT /v5/{project_id}/vpn-connection/{vpn_connection_id}
Tabla 1 Descripción del parámetro

Parámetro

Tipo

Obligatorio

Descripción

project_id

String

Especifica un ID de proyecto. Puede obtener el ID del proyecto haciendo referencia a Obtención del ID del proyecto.

vpn_connection_id

String

Especifica un ID de conexión VPN.

Solicitud

  • Parámetros de solicitud
    Tabla 2 Parámetros de solicitud

    Parámetro

    Tipo

    Obligatorio

    Descripción

    vpn_connection

    UpdateVpnConnectionRequestBodyContent

    Especifica el objeto de conexión VPN.

    Tabla 3 UpdateVpnConnectionRequestBodyContent

    Parámetro

    Tipo

    Obligatorio

    Descripción

    name

    String

    No

    • Especifica el estado de una conexión VPN.
    • El valor es una cadena de 1 a 64 caracteres, que puede contener dígitos, letras, guiones bajos (_), y guiones (-).

    cgw_id

    String

    No

    • Especifica un ID de gateway de cliente.
    • El valor es un UUID que contiene 36 caracteres.

    peer_subnets

    Array of String

    No

    • Especifica una subred de cliente.
    • Restricciones:

      Este parámetro no es necesario cuando el modo de asociación del gateway de VPN se establece en er y style se establece en policy o bgp. Este parámetro es obligatorio en otros escenarios.

      Los bloques CIDR de VPC reservados como 100.64.0.0/10 y 214.0.0.0/8 no se pueden utilizar como subredes de clientes.

      Se puede configurar un máximo de 50 subredes de clientes para cada conexión VPN.

    tunnel_local_address

    String

    No

    • Especifica la dirección de la interfaz de túnel configurada en el gateway de VPN en modo basado en ruta, por ejemplo, 169.254.76.1/30.
    • Restricciones:

      Los primeros 16 bits deben ser 169.254, y el valor no puede ser 169.254.195.xxx.

      La longitud de la máscara debe ser 30, y la dirección debe estar en el mismo bloque CIDR que el valor de tunnel_peer_address.

      La dirección debe ser una dirección de host en un bloque CIDR.

    tunnel_peer_address

    String

    No

    • Especifica la dirección de la interfaz de túnel configurada en el dispositivo de gateway del cliente en modo basado en ruta, por ejemplo, 169.254.76.1/30.
    • Restricciones:

      Los primeros 16 bits deben ser 169.254, y el valor no puede ser 169.254.195.xxx.

      La longitud de la máscara debe ser 30, y la dirección debe estar en el mismo bloque CIDR que el valor de tunnel_local_address.

      La dirección debe ser una dirección de host en un bloque CIDR.

    psk

    String

    No

    • Especifica una clave previamente compartida. Cuando la versión de IKE es v2 y solo se modifica este parámetro, la modificación no tiene efecto.
    • El valor es una string de 8 a 128 caracteres, que debe contener al menos tres tipos de los siguientes: letras mayúsculas, minúsculas, dígitos y caracteres especiales (~!@#$%^()-_+={ },./:;).

    policy_rules

    Array of PolicyRule

    No

    • Especifica reglas de política.
    • Se puede especificar un máximo de cinco reglas de política. Establezca este parámetro solo cuando style se establezca en policy.

    Puede obtener el valor style de una conexión VPN consultando la conexión VPN.

    ikepolicy

    UpdateIkePolicy

    No

    Especifica el objeto de política IKE.

    ipsecpolicy

    UpdateIpsecPolicy

    No

    Especifica el objeto de política IPsec.

    Tabla 4 PolicyRule

    Parámetro

    Tipo

    Obligatorio

    Descripción

    rule_index

    Integer

    No

    • Especifica un ID de regla.
    • El valor varía de 0 a 50.
    • El valor de rule_index en cada regla de política debe ser único.

    source

    String

    No

    • Especifica un bloque CIDR de origen.
    • El valor de source en cada regla de política debe ser único.

    destination

    Array of String

    No

    • Especifica un bloque CIDR de destino.

      Por ejemplo, un bloque CIDR de destino puede ser 192.168.52.0/24.

    • Se puede configurar un máximo de 50 bloques CIDR de destino en cada regla de política.
    Tabla 5 UpdateIkePolicy

    Parámetro

    Tipo

    Obligatorio

    Descripción

    ike_version

    String

    No

    • Especifica la versión de IKE. La modificación de este parámetro interrumpirá la conexión VPN.
    • El valor puede ser v1 o v2.

    phase1_negotiation_mode

    String

    No

    • Especifica el modo de negociación.
    • Rango de valores:

      main: asegura una alta seguridad durante la negociación.

      aggressive: asegura una negociación rápida y una alta tasa de éxito de la negociación.

    • Este parámetro solo tiene efecto para IKEv1.

    authentication_algorithm

    String

    No

    • Especifica un algoritmo de autenticación. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 1.
    • El valor puede ser sha2-512, sha2-384, sha2-256, sha1 o md5.

      Tenga cuidado al usar sha1 y md5 ya que tienen poca seguridad.

    encryption_algorithm

    String

    No

    • Especifica un algoritmo de encriptación. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 1.
    • El valor puede ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 o 3des.

      Tenga cuidado al usar 3des ya que tiene poca seguridad.

    dh_group

    String

    No

    • Especifica el grupo DH utilizado para el intercambio de claves en la fase 1. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 1.
    • El valor puede ser group1, group2, group5, group14, group15, group16, group19, group20 o group21.

    authentication_method

    String

    No

    • Especifica el método de autenticación utilizado durante la negociación IKE.
    • El valor solo puede ser pre-share (valor predeterminado).

    lifetime_seconds

    Integer

    No

    • Especifica la duración de la SA. Cuando expira la vida útil, una SA de IKE se actualiza automáticamente. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 1.
    • The value ranges from 60 to 604800, in seconds.

    local_id_type

    String

    • Especifica el tipo de ID local.
    • El valor puede ser ip o fqdn.

    local_id

    String

    No

    • Especifica el ID local.
    • El valor puede contener un máximo de 255 caracteres, incluidos solo letras mayúsculas, letras minúsculas, dígitos y puntos (.). Este parámetro es obligatorio cuando local_id_type se establece en fqdn. El valor debe ser el mismo que el de peer_id en el dispositivo del mismo nivel.

    peer_id_type

    String

    • Especifica el tipo de ID emparejado.
    • El valor puede ser ip o fqdn.

    peer_id

    String

    No

    • Especifica el ID emparejado.
    • El valor puede contener un máximo de 255 caracteres, incluidos solo letras mayúsculas, letras minúsculas, dígitos y puntos (.). Este parámetro es obligatorio cuando peer_id_type se establece en fqdn. El valor debe ser el mismo que el de local_id en el dispositivo del mismo nivel.

    dpd

    UpdateDpd

    No

    Especifica el objeto DPD.

    Tabla 6 UpdateDpd

    Parámetro

    Tipo

    Obligatorio

    Descripción

    timeout

    Integer

    No

    • Especifica el intervalo para retransmitir los paquetes de DPD.
    • El valor varía de 2 a 60, en segundos. El valor predeterminado es 15.

    interval

    Integer

    No

    • Especifica el período de tiempo de espera inactivo del DPD.
    • El valor varía de 10 a 3600, en segundos. El valor predeterminado es 30.

    msg

    String

    No

    • Especifica el formato de los paquetes de DPD.
    • Rango de valores:

      seq-hash-notify: indica que la carga útil de los paquetes de DPD está en la secuencia de notificación-hash.

      seq-notify-hash: indica que la carga útil de los paquetes de DPD está en la secuencia de hash - notificación.

      El valor predeterminado es seq-hash-notify.

    Tabla 7 UpdateIpsecPolicy

    Parámetro

    Tipo

    Obligatorio

    Descripción

    authentication_algorithm

    String

    No

    • Especifica un algoritmo de autenticación. Tenga cuidado al usar SHA1 y MD5 ya que tienen baja seguridad. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 2.
    • El valor puede ser sha2-512, sha2-384, sha2-256, sha1 o md5. El valor predeterminado es sha2-256.

    encryption_algorithm

    String

    No

    • Especifica un algoritmo de encriptación. Tenga cuidado al usar 3DES, ya que tiene poca seguridad. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 2.
    • El valor puede ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 o 3des. El valor predeterminado es aes-128.

    pfs

    String

    No

    • Especifica el grupo de claves DH que utiliza PFS.
    • El valor puede ser group1, group2, group5, group14, group15, group16, group19, group20, group21 o disable. El valor predeterminado es group14.

    transform_protocol

    String

    No

    • Especifica el protocolo de transferencia.
    • Rango de valores:

      esp: protocolo de carga útil de seguridad encapsulado

      El valor predeterminado es esp.

    lifetime_seconds

    Integer

    No

    • Especifica la duración de un túnel establecido a través de una conexión IPsec. La modificación de este campo solo tiene efecto después de que se envejecen las SA en la fase 2.
    • El valor oscila entre 30 y 604800, en segundos. El valor predeterminado es 3600.

    encapsulation_mode

    String

    No

    • Especifica el modo de encapsulación de paquetes.
    • Rango de valores:

      tunnel: encapsula paquetes en modo túnel.

      El valor predeterminado es tunnel.

  • Ejemplo de las solicitudes
    1. Actualizar la subred del cliente.
    PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id}
    
    {
        "vpn_connection": {
            "peer_subnets": [
                "192.168.1.0/24"
            ]
        }
    }

    2. Actualizar una regla de política.

    PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id}
    
    {
        "vpn_connection": {
            "policy_rules": [{
                "rule_index": 1,
                "source": "10.0.0.0/24",
                "destination": [
                    "192.168.1.0/24"
                ]
            }]
        }
    }

    3. Actualizar la vida útil de la SA.

    PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id}
    
    {
        "vpn_connection": {
            "ikepolicy": {
                "lifetime_seconds": 3600
            },
            "ipsecpolicy": {
                "lifetime_seconds": 3600
            }
        }
    }

    4. Actualizar el nombre de la conexión.

    PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id}
    
    {
        "vpn_connection": {
            "name": "vpn_connection_name"
        }
    }

Respuesta

  • Parámetros de respuesta

    Código de estado devuelto 200: operación exitosa

    Tabla 8 Parámetros en el cuerpo de respuesta

    Parámetro

    Tipo

    Descripción

    vpn_connection

    ResponseVpnConnection

    Especifica el objeto de conexión VPN.

    request_id

    String

    Especifica un ID de solicitud.

    Tabla 9 ResponseVpnConnection

    Parámetro

    Tipo

    Descripción

    id

    String

    • Especifica un ID de conexión VPN.
    • El valor es un UUID que contiene 36 caracteres.

    name

    String

    • Especifica un nombre de conexión VPN. Si no se especifica ningún nombre de conexión VPN, el sistema genera uno automáticamente.
    • El valor es una cadena de 1 a 64 caracteres, que puede contener dígitos, letras, guiones bajos (_), y guiones (-).

    vgw_id

    String

    • Especifica un ID de gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.

    vgw_ip

    String

    • Especifica un ID de EIP o una dirección IP privada del gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres o una dirección IPv4 en notación decimal con puntos (por ejemplo, 192.168.45.7).

    style

    String

    • Especifica el modo de conexión.
    • Rango de valores:

      POLICY: modo basado en políticas

      STATIC: modo de enrutamiento estático

      BGP: Modo de enrutamiento de BGP

    cgw_id

    String

    • Especifica un ID de gateway de cliente.
    • El valor es un UUID que contiene 36 caracteres.

    peer_subnets

    Array of String

    Especifica una subred de cliente. Este parámetro no se devuelve cuando el modo de asociación del gateway de VPN es ER y style es BGP o POLICY.

    tunnel_local_address

    String

    Especifica la dirección de la interfaz de túnel configurada en el gateway VPN en modo basado en ruta. Este parámetro solo es válido cuando style es STATIC o BGP.

    tunnel_peer_address

    String

    Especifica la dirección de la interfaz de túnel configurada en el dispositivo de gateway del cliente en modo basado en ruta. Este parámetro solo es válido cuando style es STATIC o BGP.

    enable_nqa

    Boolean

    • Especifica si NQA está habilitado. Este parámetro solo es válido cuando style es STATIC.
    • El valor puede ser true o false.

    policy_rules

    Array of PolicyRule

    Especifica reglas de política. Las reglas de política solo se devuelven cuando style tiene un valor de POLICY.

    ikepolicy

    IkePolicy

    Especifica el objeto de política IKE.

    ipsecpolicy

    IpsecPolicy

    Especifica el objeto de política IPsec.

    created_at

    String

    Especifica la hora a la que se crea la conexión VPN.

    updated_at

    String

    Especifica la hora de la última actualización.

    enterprise_project_id

    String

    • Especifica un ID de proyecto de empresa.
    • El valor es un UUID que contiene 36 caracteres. El valor debe ser el mismo que el ID del proyecto de empresa del gateway VPN especificada por vgw_id.
    Tabla 10 PolicyRule

    Parámetro

    Tipo

    Descripción

    rule_index

    Integer

    • Especifica un ID de regla.
    • El valor varía de 0 a 50.

    source

    String

    Especifica un bloque CIDR de origen.

    destination

    Array of String

    Especifica un bloque CIDR de destino. Por ejemplo, un bloque CIDR de destino puede ser 192.168.52.0/24. Se puede devolver un máximo de 50 bloques CIDR de destino para cada regla de política.

    Tabla 11 IkePolicy

    Parámetro

    Tipo

    Descripción

    ike_version

    String

    • Especifica la versión de IKE.
    • El valor puede ser v1 o v2.

    phase1_negotiation_mode

    String

    • Especifica el modo de negociación. Este parámetro solo está disponible cuando la versión de IKE es v1.
    • Rango de valores:

      main: asegura una alta seguridad durante la negociación.

      aggressive: asegura una negociación rápida y una alta tasa de éxito de la negociación.

    authentication_algorithm

    String

    • Especifica un algoritmo de autenticación.
    • El valor puede ser sha2-512, sha2-384, sha2-256, sha1 o md5.

    encryption_algorithm

    String

    • Especifica un algoritmo de encriptación.
    • El valor puede ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 o 3des.

    dh_group

    String

    • Especifica el grupo DH utilizado para el intercambio de claves en la fase 1.
    • El valor puede ser group1, group2, group5, group14, group15, group16, group19, group20 o group21.

    authentication_method

    String

    • Especifica el método de autenticación utilizado durante la negociación IKE.
    • Rango de valores:

      pre-share: clave precompartida

    lifetime_seconds

    Integer

    • Especifica la duración de la SA. Cuando expira la vida útil, una SA de IKE se actualiza automáticamente.
    • El valor varía de 60 a 604800, en segundos.

    local_id_type

    String

    • Especifica el tipo de ID local.
    • El valor puede ser ip o fqdn.

    local_id

    String

    Especifica el ID local. Cuando local_id_type se establece en ip se devuelve la dirección IP del gateway de VPN correspondiente a la conexión VPN. Cuando local_id_type se establece en fqdn, se devuelve el ID local especificado durante la creación o actualización de la conexión VPN.

    peer_id_type

    String

    • Especifica el tipo de ID emparejado.
    • El valor puede ser ip, fqdn o any.

    peer_id

    String

    Especifica el ID emparejado. Cuando peer_id_type se establece en ip, se devuelve la dirección IP del gateway del cliente. Cuando peer_id_type se establece en fqdn, se devuelve el ID emparejado especificado durante la creación o actualización de la conexión VPN. Cuando peer_id_type se establece en any, no se devuelve ningún dato.

    dpd

    Dpd

    Especifica el objeto DPD.

    Tabla 12 Dpd

    Parámetro

    Tipo

    Descripción

    timeout

    Integer

    • Especifica el intervalo para retransmitir los paquetes de DPD.
    • El valor varía de 2 a 60, en segundos.

    interval

    Integer

    • Especifica el período de tiempo de espera inactivo del DPD.
    • El valor varía de 10 a 3600, en segundos.

    msg

    String

    • Especifica el formato de los paquetes de DPD.
    • Rango de valores:

      seq-hash-notify: indica que la carga útil de los paquetes de DPD está en la secuencia de notificación-hash.

      seq-notify-hash: indica que la carga útil de los paquetes de DPD está en la secuencia de hash - notificación.

    Tabla 13 IpsecPolicy

    Parámetro

    Tipo

    Descripción

    authentication_algorithm

    String

    • Especifica un algoritmo de autenticación.
    • El valor puede ser sha2-512, sha2-384, sha2-256, sha1 o md5.

    encryption_algorithm

    String

    • Especifica un algoritmo de encriptación.
    • El valor puede ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 o 3des.

    pfs

    String

    • Especifica el grupo de claves DH que utiliza PFS.
    • El valor puede ser group1, group2, group5, group14, group15, group16, group19, group20, group21 o disable.

    transform_protocol

    String

    • Especifica el protocolo de transferencia.
    • Rango de valores:

      esp: protocolo de carga útil de seguridad encapsulado

    lifetime_seconds

    Integer

    • Especifica la duración de un túnel establecido a través de una conexión IPsec.
    • El valor oscila entre 30 y 604800, en segundos.

    encapsulation_mode

    String

    • Especifica el modo de encapsulación de paquetes.
    • Rango de valores:

      tunnel: encapsula paquetes en modo túnel.

  • Ejemplo de las respuestas
    1. Responder a la solicitud de actualización de una conexión VPN
    {
        "vpn_connection": {
            "id": "98c5af8a-****-****-****-ae2280a6f4c3",
            "name": "vpn-1655",
            "vgw_id": "b32d91a4-****-****-****-e907174eb11d",
            "vgw_ip": "0c464dad-****-****-****-c22bb0eb0bde",
            "style": "POLICY",
            "cgw_id": "5247ae10-****-****-****-dd36659a7f5d",
            "peer_subnets": ["192.168.1.0/24"],
            "tunnel_local_address": "169.254.56.225/30",
            "tunnel_peer_address": "169.254.56.226/30",
            "enable_nqa": false,
            "policy_rules": [{
                "rule_index": 1,
                "source": "10.0.0.0/24",
                "destination": [
                    "192.168.1.0/24"
                ]
            }],
            "ikepolicy": {
                "ike_version": "v2",
                "authentication_algorithm": "sha2-256",
                "encryption_algorithm": "aes-128",
                "dh_group": "group14",
                "authentication_method": "pre-share",
                "lifetime_seconds": 86400,
                "local_id_type": "ip",
                "local_id": "10.***.***.134",
                "peer_id_type": "ip",
                "peer_id": "88.***.***.164",
                "dpd": {
                    "timeout": 15,
                    "interval": 30,
                    "msg": "seq-hash-notify"
                }
            },
            "ipsecpolicy": {
                "authentication_algorithm": "sha2-256",
                "encryption_algorithm": "aes-128",
                "pfs": "group14",
                "transform_protocol": "esp",
                "lifetime_seconds": 3600,
                "encapsulation_mode": "tunnel"
            },
            "created_at": "2022-11-26T13:41:34.626Z",
            "updated_at": "2022-11-26T13:41:34.626Z",
            "enterprise_project_id": "0"
        },
        "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae"
    }
    2. Respuesta devuelta cuando no se actualiza una conexión VPN congelada
    {
        "error_code": "VPN.0001",
        "error_msg": "invalid request: ILLEGAL not allowed update vpnConnection",
        "request_id": "8c833634-4560-7897-7740-a7462f5bcbd4"
    }

Códigos de estado

Para obtener más información, véase Códigos de estado.