Puede usar las API de CSM para automatizar la configuración de VPN entre VPC o VNet.
No se pueden utilizar las API de CSM para configurar la VPN mediante endpoints locales.
- Ambos extremos del túnel VPN deben estar en la nube pública con PCG implementadas en ellos y en un estado en ejecución o
up
.
Las siguientes entidades se configuran mediante las API de CSM. También puede utilizar estas API para anular la configuración de la VPN.
Para las entidades de NSX-T Data Center que admiten etiquetas, la API reutiliza las entidades previamente creadas mediante la aplicación de una etiqueta con el nuevo identificador de sesión de VPN, por ejemplo, CsmVpnSessionId:<csm-vpn-session-id-new>
.
-
Para cada Endpoint de origen y destino:
-
El servicio VPN de IPSec está configurado con el nombre
cloud-vpn-service-<vpc/vnet-id>
. -
El enrutamiento de BGP está configurado con el nombre
cloud-routing-config-<vpc/vnet-id>
. Si BGP aún no estaba habilitado, la API lo habilita y asigna un número AS con el formato:55555.<1-64999>
.
-
-
Para cada PCG en los endpoints de origen y destino:
-
La redistribución de rutas BGP está habilitada para las rutas estáticas de nivel 0 y los segmentos conectados de nivel 1.
-
La dirección IP pública se asigna a la interfaz de vínculo superior de la PCG y se asocia a la dirección IP privada de VPN-secundaria en la interfaz de vínculo superior de la PCG.
-
Se crea un endpoint local de VPN de IPSec con el nombre
cloud-vpn-local-endpoint-<gateway-id>-<preferred/non-preferred>
.
-
-
Para cada combinación de PCG entre los endpoints de origen y destino:
-
La sesión de VPN de IPSec basada en rutas se creó con el nombre
<csm-vpn-session-id>-<Preferred/non-preferred>To<Preferred/non-preferred>-<hash-from-source-and-destination-PCG-ids>
-
Se agregó el vecino de BGP en la puerta de enlace de nivel 0 para cada sesión de VPN de IPSec configurada.
-
Configurar/actualizar sesiones de VPN
- Para configurar una nueva sesión de VPN, haga lo siguiente:
-
GET /api/v1/csm/vpn/endpoints
-
POST /api/v1/csm/vpn/session Example Request: POST https://<nsx-csm>/api/v1/csm/vpn/sessions { "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }
-
- Para actualizar el nombre para mostrar de una sesión de VPN existente:
PUT /api/v1/csm/vpn/sessions/<session-id> Example Request: PUT https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2 { "display_name": "New VPN session", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }
Obtener el estado de las sesiones de VPN existentes
- Para obtener el estado de todas las sesiones:
GET /api/v1/csm/vpn/sessions/status
- Para obtener el estado de una sesión específica, proporcione el ID de sesión:
GET /api/v1/csm/vpn/sessions/<session-id>/status
Eliminar sesiones
DELETE /api/v1/csm/vpn/sessions/<session-id>
Solucionar problemas
- Obtenga el estado del ID de sesión específico:
GET /api/v1/csm/vpn/sessions/<session-id>/status
- Puede ver el punto de error en la respuesta. Realice los cambios necesarios para resolver el error.
- Vuelva a crear las entidades restantes para el mismo ID de sesión con la llamada API:
POST /api/v1/csm/vpn/sessions/<session-id>?action=recreate
Para obtener más información sobre la API, consulte la versión más reciente de la Guía de REST API de NSX-T Data Center en https://code.vmware.com/.