VPN-Tunnel erstellen

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-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:

  1. 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.
  2. Prüfen Sie, ob das VPN_TUNNEL_NAME-Objekt korrekt abgeglichen wurde, indem Sie das Feld Status 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
    
  3. Die Objekte VPNGateway, PeerGateway und VPNBGPPeer müssen aktualisierte Status haben, nachdem auf sie von einem VPNTunnel verwiesen wurde. Wenn Sie beispielsweise bestätigen, dass die VPNBGPPeer korrekt abgeglichen wurde, werden aktualisierte Statuswerte angezeigt. Rufen Sie die Details des VPNBGPPeer-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
    

Nächste Schritte