Sie können CSM-APIs verwenden, um das VPN-Setup zwischen VPCs oder VNets zu automatisieren.
Sie können CSM-APIs nicht zum Einrichten von VPN mithilfe von lokalen Endpoints verwenden.
- Beide Endpoints für den VPN-Tunnel müssen sich in der Public Cloud befinden, wobei PCGs darin bereitgestellt sind und der Status „Wird ausgeführt“ oder
up
lautet.
Die folgenden Entitäten werden mithilfe von CSM-APIs konfiguriert. Sie können diese APIs auch verwenden, um die Konfiguration des VPN-Setup aufzuheben.
Bei NSX-Entitäten, die Tags unterstützen, verwendet die API zuvor erstellte Entitäten, indem darauf ein Tag mit der neuen VPN-Sitzungs-ID angewendet wird, z. B. CsmVpnSessionId:<csm-vpn-session-id-new>
.
-
Für jeden Quell- und Ziel-Endpoint:
-
Der IPSec-VPN-Dienst ist konfiguriert mit dem Namen
cloud-vpn-service-<vpc/vnet-id>
. -
Das BGP-Routing ist konfiguriert mit dem Namen
cloud-routing-config-<vpc/vnet-id>
. Wenn das BGP nicht bereits aktiviert war, erfolgt dies durch die API und es wird eine AS-Nummer in folgendem Format zugewiesen:55555.<1-64999>
.
-
-
Für jedes PCG in Quell- und Ziel-Endpoints:
-
Die BGP-Routen-Umverteilung ist für statische Tier-0-Routen und verbundene Tier-1-Segmente aktiviert.
-
Eine öffentliche IP wird der Uplink-Schnittstelle des PCG zugewiesen und mit einer VPN-sekundären privaten IP der Uplink-Schnittstelle des PCG verknüpft.
-
Ein lokaler IPSec-VPN-Endpoint wird erstellt mit dem Namen
cloud-vpn-local-endpoint-<gateway-id>-<preferred/non-preferred>
.
-
-
Für jede PCG-Kombination zwischen Quell- und Ziel-Endpoints:
-
Eine routenbasierte IPSec-VPN-Sitzung wird erstellt mit dem Namen
<csm-vpn-session-id>-<Preferred/non-preferred>To<Preferred/non-preferred>-<hash-from-source-and-destination-PCG-ids>
. -
Ein BGP-Nachbar wird auf dem Tier-0-Gateway für jede konfigurierte IPSec-VPN-Sitzung hinzugefügt.
-
Konfigurieren/Aktualisieren von VPN-Sitzungen
- Um eine neue VPN-Sitzung zu konfigurieren, gehen Sie wie folgt vor:
-
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" } }
-
- So aktualisieren Sie den Anzeigennamen einer vorhandenen VPN-Sitzung:
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" } }
Abrufen des Status vorhandener VPN-Sitzungen
- So rufen Sie den Status aller Sitzungen ab:
GET /api/v1/csm/vpn/sessions/status
- So rufen Sie den Status einer bestimmten Sitzung ab, indem Sie die Sitzungs-ID bereitstellen:
GET /api/v1/csm/vpn/sessions/<session-id>/status
Löschen von Sitzungen
DELETE /api/v1/csm/vpn/sessions/<session-id>
Fehlerbehebung
- Rufen Sie den Status für die jeweilige Sitzungs-ID ab:
GET /api/v1/csm/vpn/sessions/<session-id>/status
- Sie können die Fehlerquelle in der Antwort sehen. Nehmen Sie die erforderlichen Änderungen vor, um den Fehler zu beheben.
- Erstellen Sie die verbleibenden Entitäten für die gleiche Sitzungs-ID mithilfe des folgenden API-Aufrufs neu:
POST /api/v1/csm/vpn/sessions/<session-id>?action=recreate
Weitere Informationen zur API finden Sie in der aktuellen Version des Handbuchs zur NSX-REST API unter https://code.vmware.com/.