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
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
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
Não
Especifica o objeto da política IKE.
ipsecpolicy
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
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
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
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
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
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
- 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
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
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
Especifica o objeto da política IKE.
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
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
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
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
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
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
- 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.