Auf dieser Seite wird beschrieben, wie Sie einen VPN-Tunnel von einem VPN-Gateway zu einem anderen hinzufügen.
Ein VPN-Tunnel ist ein verschlüsselter IPsec-Tunnel zwischen dem Netzwerk einer Organisation und einem Remote-Netzwerk. Dabei wird eine VPNGateway
-Schnittstelle mit einer PeerGateway
-Schnittstelle verbunden und die VPNBGPPeer
-Ressource wird verwendet, um Routinginformationen über den Tunnel auszutauschen.
Hinweise
Zum Erstellen eines VPN-Tunnels benötigen Sie Folgendes:
- Ein vorhandenes VPN-Gateway und eine VPN-Peer-Gateway-Ressource. Weitere Informationen finden Sie unter VPN-Gateway und Peer-Gateway erstellen.
- Ein vorhandenes BGP-Peer-Objekt für das VPN. Weitere Informationen finden Sie unter VPN-BGP-Sitzung erstellen.
- Ein vorhandenes Secret. Weitere Informationen finden Sie unter Secret mit einem PSK erstellen.
Die erforderlichen Identitäts- und Zugriffsrollen:
- VPN-Administrator: Hat Lese- und Schreibberechtigungen für alle VPN-bezogenen Ressourcen. Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „VPN-Administrator“ (
vpn-admin
) zuzuweisen. - VPN-Betrachter: Hat Leseberechtigungen für alle VPN-bezogenen Ressourcen. Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „VPN Viewer“ (
vpn-viewer
) zuzuweisen. - Weitere Informationen finden Sie unter Rollendefinitionen.
- VPN-Administrator: Hat Lese- und Schreibberechtigungen für alle VPN-bezogenen Ressourcen. Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „VPN-Administrator“ (
VPN-Tunnel erstellen
Verweisen Sie auf die Ressourcen VPNGateway
, PeerGateway
, VPNBGPPeer
und Secret
, die Sie in den vorherigen Schritten erstellt haben, um den Tunnel zu erstellen.
So erstellen Sie einen VPN-Tunnel:
Erstellen Sie das
VPNTunnel
-Objekt:kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF apiVersion: networking.gdc.goog/v1 kind: VPNTunnel metadata: name: VPN_TUNNEL_NAME spec: vpnInterface: name: VPN_GW_NAME namespace: platform interface: VPN_INTERFACE_NAME peerInterface: name: PEER_GW_NAME namespace: platform interface: PEER_INTERFACE_NAME vpnBGPPeer: name: VPN_BGP_PEER_NAME namespace: platform ikeKey: name: PSK_NAME namespace: platform EOF
Ersetzen Sie Folgendes:
MANAGEMENT_API_SERVER
: Der kubeconfig-Pfad des zonalen API-Servers. Wenn Sie noch keine kubeconfig-Datei für den API-Server in Ihrer Zielzone generiert haben, lesen Sie die Informationen unter Anmelden.VPN_TUNNEL_NAME
: Name des verwendeten VPN-Tunnels.VPN_GW_NAME
: der Name des VPN-Gateways.VPN_INTERFACE_NAME
: der Name der VPN-Schnittstelle.PEER_GW_NAME
: der Name des Peer-VPN-Gateways.PEER_INTERFACE_NAME
: der Name der Peer-VPN-Gatewayschnittstelle.VPN_BGP_PEER_NAME
: der Name des VPN-BGP-Peers. Weitere Informationen finden Sie unter VPN-BGP-Sitzung erstellen.PSK_NAME
: der Name des PSK, den Sie unter Secret mit einem PSK erstellen erstellt haben.
Prüfen Sie, ob das
VPN_TUNNEL_NAME
-Objekt korrekt abgeglichen wurde, indem Sie das FeldStatus
untersuchen. Details zum VPN-Tunnel abrufen:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
Die Ausgabe sollte in etwa so aussehen:
Status: Conditions: Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Last Transition Time: 2024-05-10T00:33:31Z Message: Tunnel is established. Observed Generation: 1 Reason: Ready Status: True Type: TunnelEstablished State: Established
Die Objekte
VPNGateway
,PeerGateway
undVPNBGPPeer
müssen aktualisierte Status haben, nachdem auf sie von einemVPNTunnel
verwiesen wurde. Wenn Sie beispielsweise bestätigen, dass dieVPNBGPPeer
korrekt abgeglichen wurde, werden aktualisierte Statuswerte angezeigt. Rufen Sie die Details desVPNBGPPeer
-Objekts ab:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
Sehen Sie sich die Ausgabe an. Die Statuswerte wurden jetzt aktualisiert:
Status: Advertised: Prefix: 10.0.0.16/28 Prefix: 10.0.1.32/27 Prefix: 172.16.0.0/14 Prefix: 172.20.0.0/17 Prefix: 172.20.128.0/17 Prefix: 2002:4860:100e:fa00::/58 Conditions: Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ValidIPs Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: TunnelsAttached Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: AdvertisedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesValid Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Received: Prefix: 192.168.100.0/24 Prefix: 193.188.200.0/24 State: Established