Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-08-04 GMT+08:00

Atualização de uma conexão de VPN

Função

Esta API é usada para atualizar uma conexão de VPN com um ID de conexão especificado.

URI

PUT /v5/{project_id}/vpn-connection/{vpn_connection_id}
Tabela 1 Descrição do parâmetro

Parâmetro

Tipo

Obrigatório

Descrição

project_id

String

Sim

Especifica o ID do projeto. Você pode obter o ID do projeto, referindo-se a Obtenção do ID do projeto.

vpn_connection_id

String

Sim

Especifica um ID de conexão de VPN.

Solicitação

  • Parâmetros de solicitação
    Tabela 2 Parâmetros de solicitação

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    vpn_connection

    UpdateVpnConnectionRequestBodyContent

    Sim

    Especifica o objeto da conexão de VPN.

    Tabela 3 UpdateVpnConnectionRequestBodyContent

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    name

    String

    Não

    • Especifica o status de uma conexão de VPN.
    • O valor é uma cadeia de 1 a 64 caracteres, que pode conter dígitos, letras, sublinhados (_) e hifens (-).

    cgw_id

    String

    Não

    • Especifica um ID de gateway do cliente.
    • O valor é um UUID contendo 36 caracteres.

    peer_subnets

    Array of String

    Não

    • Especifica uma sub-rede do cliente.
    • Restrições:

      este parâmetro não é necessário quando o modo de associação do gateway VPN é definido como er e style é definido como policy ou bgp. Este parâmetro é obrigatório em outros cenários.

      Os blocos CIDR da VPC reservada, como 100.64.0.0/10 e 214.0.0.0/8, não podem ser usados como sub-redes do cliente.

      Um máximo de 50 sub-redes de cliente podem ser configuradas para cada conexão de VPN.

    tunnel_local_address

    String

    Não

    • Especifica o endereço da interface de túnel configurado no gateway de VPN no modo baseado em rota, por exemplo, 169.254.76.1/30.
    • Restrições:

      os primeiros 16 bits devem ser 169.254 e o valor não pode ser 169.254.195.xxx.

      O comprimento da máscara deve ser 30, e o endereço deve estar no mesmo bloco CIDR como o valor de tunnel_peer_address.

      O endereço precisa ser um endereço de host em um bloco CIDR.

    tunnel_peer_address

    String

    Não

    • Especifica o endereço da interface de túnel configurado no dispositivo de gateway do cliente no modo baseado em rota, por exemplo, 169.254.76.1/30.
    • Restrições:

      os primeiros 16 bits devem ser 169.254 e o valor não pode ser 169.254.195.xxx.

      O comprimento da máscara deve ser 30, e o endereço deve estar no mesmo bloco CIDR como o valor do tunnel_local_address.

      O endereço precisa ser um endereço de host em um bloco CIDR.

    psk

    String

    Não

    • Especifica uma chave pré-compartilhada. Quando a versão do IKE é v2 e somente este parâmetro é modificado, a modificação não tem efeito.
    • O valor é uma cadeia de 8 a 128 caracteres, que deve conter pelo menos três tipos dos seguintes: letras maiúsculas, minúsculas, dígitos e caracteres especiais (~!@#$%^()-_+={ },./:;).

    policy_rules

    Array of PolicyRule

    Não

    • Especifica regras de política.
    • Um máximo de cinco regras de política podem ser especificadas. Defina este parâmetro apenas quando style estiver definido como policy.

    Você pode obter o valor de style de uma conexão de VPN por consulta da conexão de VPN.

    ikepolicy

    UpdateIkePolicy

    Não

    Especifica o objeto da política IKE.

    ipsecpolicy

    UpdateIpsecPolicy

    Não

    Especifica o objeto da política IPsec.

    Tabela 4 PolicyRule

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    rule_index

    Integer

    Não

    • Especifica um ID da regra.
    • O valor varia de 0 a 50.
    • O valor de rule_index em cada regra de política deve ser exclusivo.

    source

    String

    Não

    • Especifica um bloco CIDR de origem.
    • O valor de source em cada regra de política deve ser exclusivo.

    destination

    Array of String

    Não

    • Especifica um bloco CIDR de destino.

      Por exemplo, um bloco CIDR de destino pode ser 192.168.52.0/24.

    • Um máximo de 50 blocos CIDR de destino podem ser configurados em cada regra de política.
    Tabela 5 UpdateIkePolicy

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    ike_version

    String

    Não

    • Especifica a versão do IKE. Modificar esse parâmetro interromperá a conexão de VPN.
    • O valor pode ser v1 ou v2.

    phase1_negotiation_mode

    String

    Não

    • Especifica o modo de negociação.
    • Intervalo de valores:

      main: garante alta segurança durante a negociação.

      aggressive: garante negociação rápida e uma alta taxa de sucesso de negociação.

    • Este parâmetro tem efeito apenas para IKEv1.

    authentication_algorithm

    String

    Não

    • Especifica um algoritmo de autenticação. A modificação deste campo tem efeito somente depois que as SAs na fase 1 são envelhecidas.
    • O valor pode ser sha2-512, sha2-384, sha2-256, sha1 ou md5.

      Tenha cuidado ao usar sha1 e md5, pois eles têm baixa segurança.

    encryption_algorithm

    String

    Não

    • Especifica um algoritmo de criptografia. A modificação deste campo tem efeito somente depois que as SAs na fase 1 são envelhecidas.
    • O valor pode ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 ou 3des.

      Tenha cuidado ao usar 3des, pois tem baixa segurança.

    dh_group

    String

    Não

    • Especifica o grupo de DH usado para troca de chaves na fase 1. A modificação deste campo tem efeito somente depois que as SAs na fase 1 são envelhecidas.
    • O valor pode ser group1, group2, group5, group14, group15, group16, group19, group20 ou group21.

    authentication_method

    String

    Não

    • Especifica o método de autenticação usado durante a negociação de IKE.
    • O valor só pode ser pre-share (valor padrão).

    lifetime_seconds

    Integer

    Não

    • Especifica o tempo de vida da associação de segurança. Quando o tempo de vida expira, uma associação de segurança de IKE é atualizada automaticamente. A modificação deste campo tem efeito somente depois que as associações de segurança na fase 1 são envelhecidas.
    • O valor varia de 60 a 604800, em segundos.

    local_id_type

    String

    Sim

    • Especifica o tipo de ID local.
    • O valor pode ser ip ou fqdn.

    local_id

    String

    Não

    • Especifica o ID local.
    • O valor pode conter no máximo 255 caracteres, incluindo apenas letras maiúsculas, minúsculas, dígitos e pontos (.). Este parâmetro é obrigatório quando local_id_type é definido como fqdn. O valor deve ser o mesmo do peer_id no dispositivo de par.

    peer_id_type

    String

    Sim

    • Especifica o tipo do ID de par.
    • O valor pode ser ip ou fqdn.

    peer_id

    String

    Não

    • Especifica o ID de par.
    • O valor pode conter no máximo 255 caracteres, incluindo apenas letras maiúsculas, minúsculas, dígitos e pontos (.). Este parâmetro é obrigatório quando peer_id_type é definido como fqdn. O valor deve ser o mesmo do local_id no dispositivo de par.

    dpd

    UpdateDpd

    Não

    Especifica o objeto da DPD.

    Tabela 6 UpdateDpd

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    timeout

    Integer

    Não

    • Especifica o intervalo para retransmissão de pacotes da DPD.
    • O valor varia de 2 a 60, em segundos. O valor padrão é 15.

    interval

    Integer

    Não

    • Especifica o período de tempo limite de inatividade da DPD.
    • O valor varia de 10 a 3600, em segundos. O valor padrão é 30.

    msg

    String

    Não

    • Especifica o formato dos pacotes da DPD.
    • Intervalo de valores:

      seq-hash-notify: indica que a carga útil de pacotes da DPD está na sequência de hash-notify.

      seq-notify-hash: indica que a carga útil de pacotes da DPD está na sequência de notify-hash.

      O valor padrão é seq-hash-notify.

    Tabela 7 UpdateIpsecPolicy

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    authentication_algorithm

    String

    Não

    • Especifica um algoritmo de autenticação. Tenha cuidado ao usar SHA1 e MD5, pois eles têm baixa segurança. A modificação deste campo tem efeito somente depois que as SAs na fase 2 são envelhecidas.
    • O valor pode ser sha2-512, sha2-384, sha2-256, sha1 ou md5. O valor padrão é sha2-256.

    encryption_algorithm

    String

    Não

    • Especifica um algoritmo de criptografia. Tenha cuidado ao usar o 3DES, pois ele tem baixa segurança. A modificação deste campo tem efeito somente depois que as SAs na fase 2 são envelhecidas.
    • O valor pode ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 ou 3des. O valor padrão é aes-128.

    pfs

    String

    Não

    • Especifica o grupo de chaves DH usado pelo PFS.
    • O valor pode ser group1, group2, group5, group14, group15, group16, group19, group20, group21 ou disable. O valor padrão é group14.

    transform_protocol

    String

    Não

    • Especifica o protocolo de transferência.
    • Intervalo de valores:

      esp: encapsulamento de protocolo de carga útil de segurança

      O valor padrão é esp.

    lifetime_seconds

    Integer

    Não

    • Especifica o tempo de vida de um túnel estabelecido através de uma conexão IPsec. A modificação deste campo tem efeito somente depois que as associações de segurança na fase 2 são envelhecidas.
    • O valor varia de 30 a 604800, em segundos. O valor padrão é 3600.

    encapsulation_mode

    String

    Não

    • Especifica o modo de encapsulamento de pacotes.
    • Intervalo de valores:

      tunnel: encapsula pacotes em modo túnel.

      O valor padrão é tunnel.

  • Exemplo de solicitações
    1. Atualizar a sub-rede do cliente.
    PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id}
    
    {
        "vpn_connection": {
            "peer_subnets": [
                "192.168.1.0/24"
            ]
        }
    }

    2. Atualizar uma regra 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. Atualizar o tempo de vida da SA.

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

    4. Atualizar o nome da conexão.

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

Resposta

  • Parâmetros de resposta

    Código de status 200 retornado: operação bem-sucedida

    Tabela 8 Parâmetros no corpo da resposta

    Parâmetro

    Tipo

    Descrição

    vpn_connection

    ResponseVpnConnection

    Especifica o objeto da conexão de VPN.

    request_id

    String

    Especifica um ID da solicitação.

    Tabela 9 ResponseVpnConnection

    Parâmetro

    Tipo

    Descrição

    id

    String

    • Especifica um ID de conexão de VPN.
    • O valor é um UUID contendo 36 caracteres.

    name

    String

    • Especifica um nome de conexão de VPN. Se nenhum nome de conexão de VPN for especificado, o sistema gerará um automaticamente.
    • O valor é uma cadeia de 1 a 64 caracteres, que pode conter dígitos, letras, sublinhados (_) e hifens (-).

    vgw_id

    String

    • Especifica um ID de gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.

    vgw_ip

    String

    • Especifica um ID do EIP ou um endereço IP privado do gateway de VPN.
    • O valor é um UUID contendo 36 caracteres ou um endereço IPv4 em notação decimal pontilhada (por exemplo, 192.168.45.7).

    style

    String

    • Especifica o modo de conexão.
    • Intervalo de valores:

      POLICY: modo baseado em políticas

      STATIC: modo de roteamento estático

      BGP: modo de roteamento BGP

    cgw_id

    String

    • Especifica um ID de gateway de cliente.
    • O valor é um UUID contendo 36 caracteres.

    peer_subnets

    Array of String

    Especifica uma sub-rede de cliente. Este parâmetro não é retornado quando o modo de associação do gateway de VPN é ER e style é BGP ou POLICY.

    tunnel_local_address

    String

    Especifica o endereço da interface de túnel configurado no gateway de VPN no modo baseado em rota. Este parâmetro é válido somente quando style é STATIC ou BGP.

    tunnel_peer_address

    String

    Especifica o endereço da interface de túnel configurado no dispositivo de gateway de cliente no modo baseado em rota. Este parâmetro é válido somente quando style é STATIC ou BGP.

    enable_nqa

    Boolean

    • Especifica se NQA está ativada. Este parâmetro é válido somente quando style é STATIC.
    • O valor pode ser true ou false.

    policy_rules

    Array of PolicyRule

    Especifica regras de política. As regras de política são retornadas somente quando style é POLICY.

    ikepolicy

    IkePolicy

    Especifica o objeto da política IKE.

    ipsecpolicy

    IpsecPolicy

    Especifica o objeto de política IPsec.

    created_at

    String

    Especifica a hora em que a conexão de VPN é criada.

    updated_at

    String

    Especifica a hora da última atualização.

    enterprise_project_id

    String

    • Especifica um ID do projeto empresarial.
    • O valor é um UUID contendo 36 caracteres. O valor deve ser o mesmo que o ID do projeto empresarial do gateway de VPN especificado por vgw_id.
    Tabela 10 PolicyRule

    Parâmetro

    Tipo

    Descrição

    rule_index

    Integer

    • Especifica um ID da regra.
    • O valor varia de 0 a 50.

    source

    String

    Especifica um bloco CIDR de origem.

    destination

    Array of String

    Especifica um bloco CIDR de destino. Por exemplo, um bloco CIDR de destino pode ser 192.168.52.0/24. Um máximo de 50 blocos CIDR de destino pode ser retornado para cada regra de política.

    Tabela 11 IkePolicy

    Parâmetro

    Tipo

    Descrição

    ike_version

    String

    • Especifica a versão do IKE.
    • O valor pode ser v1 ou v2.

    phase1_negotiation_mode

    String

    • Especifica o modo de negociação. Esse parâmetro está disponível somente quando a versão do IKE é v1.
    • Intervalo de valores:

      main: garante alta segurança durante a negociação.

      aggressive: garante negociação rápida e uma alta taxa de sucesso de negociação.

    authentication_algorithm

    String

    • Especifica um algoritmo de autenticação.
    • O valor pode ser sha2-512, sha2-384, sha2-256, sha1 ou md5.

    encryption_algorithm

    String

    • Especifica um algoritmo de criptografia.
    • O valor pode ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 ou 3des.

    dh_group

    String

    • Especifica o grupo de DH usado para troca de chaves na fase 1.
    • O valor pode ser group1, group2, group5, group14, group15, group16, group19, group20 ou group21.

    authentication_method

    String

    • Especifica o método de autenticação usado durante a negociação de IKE.
    • Intervalo de valores:

      pre-share: chave pré-compartilhada

    lifetime_seconds

    Integer

    • Especifica o tempo de vida da SA. Quando o tempo de vida expira, uma SA de IKE é atualizada automaticamente.
    • O valor varia de 60 a 604800, em segundos.

    local_id_type

    String

    • Especifica o tipo de ID local.
    • O valor pode ser ip ou fqdn.

    local_id

    String

    Especifica o ID local. Quando local_id_type é definido como ip, o endereço IP do gateway de VPN correspondente à conexão VPN é retornado. Quando local_id_type é definido como fqdn, o ID local especificado durante a criação ou atualização da conexão de VPN é retornado.

    peer_id_type

    String

    • Especifica o tipo do ID de par.
    • O valor pode ser ip, fqdn ou any.

    peer_id

    String

    Especifica o ID de par. Quando peer_id_type é definido como ip, o endereço IP do gateway de cliente é retornado. Quando peer_id_type é definido como fqdn, o ID de par especificado durante a criação ou atualização da conexão de VPN é retornado. Quando peer_id_type é definido como any, nenhum dado é retornado.

    dpd

    Dpd

    Especifica o objeto da DPD.

    Tabela 12 Dpd

    Parâmetro

    Tipo

    Descrição

    timeout

    Integer

    • Especifica o intervalo para retransmissão de pacotes da DPD.
    • O valor varia de 2 a 60, em segundos.

    interval

    Integer

    • Especifica o período de tempo limite de inatividade da DPD.
    • O valor varia de 10 a 3600, em segundos.

    msg

    String

    • Especifica o formato dos pacotes da DPD.
    • Intervalo de valores:

      seq-hash-notify: indica que a carga útil de pacotes da DPD está na sequência de hash-notify.

      seq-notify-hash: indica que a carga útil de pacotes da DPD está na sequência de notify-hash.

    Tabela 13 IpsecPolicy

    Parâmetro

    Tipo

    Descrição

    authentication_algorithm

    String

    • Especifica um algoritmo de autenticação.
    • O valor pode ser sha2-512, sha2-384, sha2-256, sha1 ou md5.

    encryption_algorithm

    String

    • Especifica um algoritmo de criptografia.
    • O valor pode ser aes-256-gcm-16, aes-128-gcm-16, aes-256, aes-192, aes-128 ou 3des.

    pfs

    String

    • Especifica o grupo de chaves DH usado pelo PFS.
    • O valor pode ser group1, group2, group5, group14, group15, group16, group19, group20, group21 ou disable.

    transform_protocol

    String

    • Especifica o protocolo de transferência.
    • Intervalo de valores:

      esp: encapsulamento de protocolo de carga útil de segurança

    lifetime_seconds

    Integer

    • Especifica o tempo de vida de um túnel estabelecido através de uma conexão IPsec.
    • O valor varia de 30 a 604800, em segundos.

    encapsulation_mode

    String

    • Especifica o modo de encapsulamento de pacotes.
    • Intervalo de valores:

      tunnel: encapsula pacotes em modo túnel.

  • Exemplo de respostas
    1. Resposta à solicitação de atualização de uma conexão de 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. Resposta retornada quando uma conexão de VPN congelada não é atualizada
    {
        "error_code": "VPN.0001",
        "error_msg": "invalid request: ILLEGAL not allowed update vpnConnection",
        "request_id": "8c833634-4560-7897-7740-a7462f5bcbd4"
    }

Códigos de status

Para mais detalhes, consulte Códigos de status.