Crea una sessione BGP VPN

Questa pagina descrive le specifiche che una sessione BGP (Border Gateway Protocol) VPN deve rispettare e come creare una sessione BGP VPN.

La VPN con air gap di Google Distributed Cloud (GDC) supporta il routing dinamico utilizzando una sessione BGP IPv4 per ogni tunnel VPN. La sessione BGP consente ai peer BGP nella rete remota e nell'organizzazione GDC di annunciare le route tra loro.

Prima di iniziare

Per creare una sessione BGP VPN, devi disporre dei ruoli di identità e accesso necessari:

  • Amministratore VPN: dispone di autorizzazioni di lettura e scrittura su tutte le risorse relative alla VPN. Chiedi all'amministratore dell'organizzazione IAM di concederti il ruolo VPN Admin (vpn-admin).
  • Visualizzatore VPN: dispone di autorizzazioni in lettura su tutte le risorse relative alla VPN. Chiedi all'amministratore dell'organizzazione IAM di concederti il ruolo Visualizzatore VPN (vpn-viewer).
  • Per saperne di più, consulta Definizioni dei ruoli.

Specifiche della sessione BGP VPN

Il peer BGP nell'organizzazione supporta un intervallo keepalive BGP di 30 secondi, con un timer di blocco di 90 secondi.Per ogni sessione BGP, gli indirizzi IPv4 devono soddisfare i seguenti requisiti:

  • Ogni indirizzo IPv4 BGP deve appartenere alla stessa subnet /30 che rientra nell'intervallo 169.254.0.0/16.
  • Ogni indirizzo IPv4 BGP è il primo o il secondo host della subnet /30. Il primo e l'ultimo indirizzo IP della subnet sono riservati agli indirizzi di rete e di broadcast.
  • Ogni intervallo di indirizzi BGP per ogni sessione BGP deve essere univoco tra tutte le sessioni BGP VPN dell'organizzazione.

L'autenticazione MD5 non è supportata. Si tratta di un metodo per verificare l'integrità e l'autenticità dei dati utilizzando l'algoritmo di hashing MD5.

Crea una sessione BGP VPN

Per creare una sessione BGP per il tunnel VPN, segui questi passaggi:

  1. Crea un oggetto VPNBGPPeer nel cluster di amministrazione dell'organizzazione nello spazio dei nomi della piattaforma:

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: VPNBGPPeer
    metadata:
      name: VPN_BGP_PEER_NAME
    spec:
      remote:
        name: REMOTE_PEER_NAME
        ip: REMOTE_PEER_IP
        asn: REMOTE_PEER_ASN
      local:
        name: LOCAL_PEER_NAME
        ip: LOCAL_PEER_IP
        asn: LOCAL_PEER_ASN
    EOF
    

    Sostituisci quanto segue:

    • MANAGEMENT_API_SERVER: il percorso kubeconfig del server API di zona. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per i dettagli.
    • VPN_BGP_PEER_NAME: il nome del peer BGP della VPN.
    • REMOTE_PEER_NAME: il nome del peer BGP nella rete remota.
    • REMOTE_PEER_IP: l'indirizzo IPv4 BGP della subnet /30 del peer BGP nella rete remota.
    • REMOTE_PEER_ASN: il numero di sistema autonomo (ASN) configurato per la rete remota.
    • LOCAL_PEER_NAME: un nome per il peer BGP nell'organizzazione GDC.
    • LOCAL_PEER_IP: l'indirizzo IPv4 BGP della subnet /30 del peer BGP nell'organizzazione GDC.
    • LOCAL_PEER_ASN: l'ASN configurato per l'organizzazione GDC.
  2. Verifica che l'oggetto VPN_BGP_PEER_NAME sia stato riconciliato correttamente esaminando il campo Status. Recupera i dettagli dell'oggetto VPNBGPPeer:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
    

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

      Status:
        Conditions:
          Last Transition Time:  2024-05-10T00:26:13Z
          Message:               Ready
          Observed Generation:   1
          Reason:                Ready
          Status:                True
          Type:                  ValidIPs
          Last Transition Time:  2024-05-10T00:26:00Z
          Message:               Used by 0 VPNTunnels, must be used by a single VPNTunnel
          Observed Generation:   1
          Reason:                GetResourceFailed
          Status:                False
          Type:                  TunnelsAttached
          Last Transition Time:  2024-05-10T00:26:00Z
          Message:               TunnelsAttached or ValidIPs Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  Reconciled
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               ValidIPs or Reconciled Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  AdvertisedRoutesReady
          Last Transition Time:  2024-05-10T00:26:13Z
          Message:               Ready
          Observed Generation:   1
          Reason:                Ready
          Status:                True
          Type:                  ReceivedRoutesValid
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               TunnelsAttached Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  ReceivedRoutesReady
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               Condition "TunnelsAttached" is not ready.
          Observed Generation:   1
          Reason:                NotReady
          Status:                False
          Type:                  Ready
      ```
    

VPNBGPPeer deve essere collegato a VPNTunnel. Questo passaggio viene gestito in Crea un tunnel VPN.

Passaggi successivi