Crea un tunnel VPN

Questa pagina descrive come aggiungere un tunnel VPN da un gateway VPN a un altro.

Un tunnel VPN è un tunnel IPsec criptato tra la rete di un'organizzazione e una rete remota. Collega un'interfaccia VPNGateway a un'interfaccia PeerGateway e utilizza la risorsa VPNBGPPeer per scambiare informazioni di routing sul tunnel.

Prima di iniziare

Per creare un tunnel VPN, devi disporre di quanto segue:

  • Un gateway VPN e una risorsa gateway VPN peer esistenti. Per ulteriori informazioni, consulta Creare un gateway VPN e un gateway peer.
  • Un oggetto peer BGP VPN esistente. Per ulteriori informazioni, vedi Creare una sessione BGP VPN.
  • Un secret esistente. Per saperne di più, vedi Creare il secret con una PSK.
  • I ruoli di identità e accesso necessari:

    • Amministratore VPN: dispone delle autorizzazioni di lettura e scrittura su tutte le risorse correlate alla VPN. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore VPN (vpn-admin).
    • Visualizzatore VPN: dispone di autorizzazioni di lettura su tutte le risorse correlate alla VPN. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore VPN (vpn-viewer).
    • Per ulteriori informazioni, vedi Definizioni dei ruoli.

Crea un tunnel VPN

Fai riferimento alle risorse VPNGateway, PeerGateway, VPNBGPPeer e Secret create nei passaggi precedenti per creare il tunnel.

Per creare un tunnel VPN:

  1. Crea l'oggetto VPNTunnel:

    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
    

    Sostituisci quanto segue:

    • MANAGEMENT_API_SERVER: il percorso kubeconfig del server API zonale. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per i dettagli.
    • VPN_TUNNEL_NAME: il nome del tunnel VPN in uso.
    • VPN_GW_NAME: il nome del gateway VPN.
    • VPN_INTERFACE_NAME: il nome dell'interfaccia VPN.
    • PEER_GW_NAME: il nome del gateway VPN peer.
    • PEER_INTERFACE_NAME: il nome dell'interfaccia gateway VPN peer.
    • VPN_BGP_PEER_NAME: il nome del peer BGP VPN. Per ulteriori informazioni, consulta Creare una sessione BGP VPN.
    • PSK_NAME: il nome della PSK che hai creato in Crea il secret con una PSK.
  2. Verifica che l'oggetto VPN_TUNNEL_NAME sia stato riconciliato correttamente esaminando il campo Status. Visualizza i dettagli del tunnel VPN:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
    

    Esamina l'output, che deve essere simile all'esempio seguente:

    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. Gli oggetti VPNGateway, PeerGateway e VPNBGPPeer devono avere stati aggiornati dopo essere stati referenziati da un VPNTunnel. Ad esempio, se verifichi che VPNBGPPeer è stato riconciliato correttamente, visualizzi i valori di stato aggiornati. Visualizza i dettagli dell'oggetto VPNBGPPeer:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
    

    Esamina l'output. I valori di stato sono ora aggiornati:

    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
    

Passaggi successivi