Lister les routes BGP

Cette page explique comment lister les routes annoncées et les routes apprises sur des sessions BGP (Border Gateway Protocol) individuelles, ce qui peut vous aider à résoudre les problèmes liés à vos routes Cloud Router. Vous pouvez lister des routes avant ou après l'application de règles de routage BGP à une route. Pour résoudre les problèmes liés aux routes annoncées et apprises, nous vous recommandons de suivre les sections suivantes dans l'ordre.

Avant de commencer

gcloud

Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, procédez comme suit :

  1. Installez la dernière version de la CLI Google Cloud ou appliquez la mise à jour correspondante.
  2. Définissez une région et une zone par défaut.

API

Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.

Lister les routes BGP avant l'application des règles

Console

Procédez comme suit :

  1. Dans la Trusted Cloud console, accédez à la page Cloud Router.

    Accéder à Cloud Router

  2. Sur la page Cloud Router, cliquez sur l'onglet Sessions BGP.

  3. Sélectionnez l'homologue de la session BGP que vous souhaitez lister. La page d'informations sur la session BGP s'affiche. Les routes annoncées sont listées dans la section Routes annoncées.

gcloud

Exécutez la commande gcloud compute routers list-bgp-routes :

gcloud compute routers list-bgp-routes ROUTER_NAME \
    --address-family=ADDRESS_FAMILY \
    --no-policy-applied \
    --peer=PEER_NAME \
    --region=REGION \
    --route-direction=ROUTE_DIRECTION

Remplacez les éléments suivants :

  • ROUTER_NAME : nom de votre routeur Cloud Router

  • ADDRESS_FAMILY: famille d'adresses IP pour laquelle afficher les routes:

    • IPV4: pour les adresses BGP basées sur IPv4
    • IPV6: pour les adresses BGP basées sur IPv6
  • PEER_NAME : nom du pair BGP

  • REGION: région dans laquelle se trouve votre routeur Cloud Router

  • ROUTE_DIRECTION: direction pour laquelle afficher les itinéraires:

    • INBOUND: routes apprises auprès du pair BGP
    • OUTBOUND: routes annoncées au pair BGP

Le résultat ressemble à ce qui suit :

---
asPaths:
- asns:
  - 64515
  type: AS_PATH_TYPE_SEQUENCE
destination:
  prefix: 192.168.1.0/24
med: 100
origin: BGP_ORIGIN_INCOMPLETE
---
asPaths:
- asns:
  - 64515
  type: AS_PATH_TYPE_SEQUENCE
destination:
  prefix: 192.168.2.0/24
med: 333
origin: BGP_ORIGIN_INCOMPLETE

API

Utilisez la méthode routers.listBgpRoutes :

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/listBgpRoutes
{
  "addressFamily": "ADDRESS_FAMILY",
  "peer": "PEER_NAME",
  "policyApplied": FALSE,
  "routeType": "ROUTE_TYPE"
}

Remplacez les éléments suivants :

  • PROJECT_ID : projet qui contient votre routeur cloud.

  • REGION: région dans laquelle se trouve votre routeur Cloud Router

  • ROUTER_NAME : nom de votre routeur Cloud Router

  • ADDRESS_FAMILY: famille d'adresses IP pour laquelle afficher les routes:

    • IPV4: pour les adresses BGP basées sur IPv4
    • IPV6: pour les adresses BGP basées sur IPv6
  • PEER_NAME : nom du pair BGP

  • ROUTE_TYPE: type de route à afficher:

    • LEARNED: route apprise auprès du pair BGP
    • ADVERTISED: route annoncée au pair BGP

Le résultat ressemble à ce qui suit :

{
  "kind": "compute#routersListBgpRoutes",
  "result": [
    {
      "destination": {
        "prefix": "10.0.1.0/24"
      },
      "med": 100
    },
    {
      "destination": {
        "prefix": "10.0.2.0/24"
      },
      "med": 338
    }
  ]
}

Lister les routes BGP après l'application des règles

Console

  1. Dans la Trusted Cloud console, accédez à la page Cloud Router.

    Accéder à Cloud Router

  2. Sur la page Cloud Router, cliquez sur l'onglet Sessions BGP.

  3. Sélectionnez l'homologue de la session BGP que vous souhaitez lister. La page d'informations sur la session BGP s'affiche. Les routes annoncées sont listées dans la section Routes annoncées.

gcloud

Exécutez la commande gcloud compute routers list-bgp-routes :

gcloud compute routers list-bgp-routes ROUTER_NAME \
    --address-family=ADDRESS_FAMILY \
    --policy-applied \
    --peer=PEER_NAME \
    --region=REGION \
    --route-direction=ROUTE_DIRECTION

Remplacez les éléments suivants :

  • ADDRESS_FAMILY: famille d'adresses IP pour laquelle afficher les routes:

    • IPV4: pour les adresses BGP basées sur IPv4
    • IPV6: pour les adresses BGP basées sur IPv6
  • PEER_NAME : nom du pair BGP

  • ROUTE_DIRECTION: direction pour laquelle afficher les itinéraires:

    • INBOUND: routes apprises auprès du pair BGP
    • OUTBOUND: routes annoncées au pair BGP

Le résultat ressemble à ce qui suit :

---
asPaths:
- asns:
- 64515
type: AS_PATH_TYPE_SEQUENCE
communities:
- 65535:65281
destination:
prefix: 192.168.1.0/24
med: 100
origin: BGP_ORIGIN_INCOMPLETE
---
asPaths:
- asns:
- 64515
type: AS_PATH_TYPE_SEQUENCE
communities:
- 65535:65281
destination:
prefix: 192.168.2.0/24
med: 333
origin: BGP_ORIGIN_INCOMPLETE

API

Utilisez la méthode routers.listBgpRoutes :

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/listBgpRoutes
{
"addressFamily": "ADDRESS_FAMILY",
"peer": "PEER_NAME",
"policyApplied": TRUE,
"routeType": "ROUTE_TYPE"
}

Remplacez les éléments suivants :

  • PROJECT_ID : projet qui contient votre routeur cloud.

  • REGION: région dans laquelle se trouve votre routeur Cloud Router

  • ROUTER_NAME : nom de votre routeur Cloud Router

  • ADDRESS_FAMILY: famille d'adresses IP pour laquelle afficher les routes:

    • IPV4: pour les adresses BGP basées sur IPv4
    • IPV6: pour les adresses BGP basées sur IPv6
  • PEER_NAME : nom du pair BGP

  • ROUTE_TYPE: type de route à afficher:

    • LEARNED: route apprise auprès du pair BGP
    • ADVERTISED: route annoncée au pair BGP

Le résultat ressemble à ce qui suit :

{
  "kind": "compute#routersListBgpRoutes",
  "result": [
    {
      "destination": {
        "prefix": "10.0.1.0/24"
      },
      "asPaths": [
        {
          "type": "AS_PATH_TYPE_SEQUENCE",
          "asns": [
            64514
          ]
        }
      ],
      "origin": "BGP_ORIGIN_INCOMPLETE",
      "med": 100
    },
    {
      "destination": {
        "prefix": "10.0.2.0/24"
      },
      "asPaths": [
        {
          "type": "AS_PATH_TYPE_SEQUENCE",
          "asns": [
            64514
          ]
        }
      ],
      "origin": "BGP_ORIGIN_INCOMPLETE",
      "med": 338
    }
  ]
}

Consulter les meilleurs itinéraires dynamiques

Vérifiez les meilleurs itinéraires dynamiques par routeur cloud, par région et par VPC:

gcloud

Exécutez la commande gcloud compute routers get-status :

gcloud compute routers get-status ROUTER_NAME \
    --region=REGION

Le résultat contient les informations suivantes:

  • bestRoutesForRouter: représente les meilleurs chemins pour un routeur cloud spécifique.
  • bestRoutes: représente les meilleurs routes par région d'un routeur Cloud de ce VPC.

Le résultat ressemble à ce qui suit pour bestRoutesForRouter:

  bestRoutesForRouter:
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-26T18:28:54.346-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.0.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel0
    priority: 100
    routeStatus: ACTIVE
    routeType: BGP
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-27T12:44:56.575-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.1.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel1
    priority: 100
    routeStatus: ACTIVE
    routeType: BGP

Le résultat ressemble à ce qui suit pour bestRoutes:

  bestRoutes:
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-26T18:33:50.505-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.0.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel0
    priority: 100
    routeType: BGP
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-27T12:46:49.028-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.1.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel1
    priority: 100
    routeType: BGP

Le résultat inclut les valeurs suivantes :

  • PROJECT_ID : projet qui contient votre routeur cloud.

  • NETWORK_NAME : nom du réseau VPC.

  • REGION : nom de la région

API

Utilisez la méthode routers.getRouterStatus :

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus

Remplacez les éléments suivants :

  • PROJECT_ID : projet qui contient votre routeur cloud.

  • REGION: région dans laquelle se trouve votre routeur Cloud Router

  • ROUTER_NAME : nom de votre routeur Cloud Router

Le résultat comprend les informations suivantes:

  • bestRoutes: représente les meilleurs routes par région d'un routeur Cloud de ce VPC.
  • bestRoutesForRouter: représente les meilleurs chemins pour un routeur cloud spécifique.

Le résultat ressemble à ce qui suit pour bestRoutes:

    "bestRoutes": [
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T11:20:40.323-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
        "destRange": "200.0.0.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "nextHopOrigin": "INCOMPLETE"
      },

Le résultat ressemble à ce qui suit pour bestRoutesForRouter:

    "bestRoutesForRouter": [
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T11:20:50.240-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
        "destRange": "10.2.1.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      },
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T01:50:01.725-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/on-prem",
        "destRange": "200.0.0.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      },
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-06T05:30:06.277-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/on-prem",
        "destRange": "10.2.1.0/24",
        "priority": 100,
        "nextHopIp": "169.254.1.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      }
    ],

Le résultat inclut les valeurs suivantes :

  • PROJECT_ID : projet qui contient votre routeur cloud.

  • REGION: région dans laquelle se trouve votre routeur Cloud Router

  • ROUTER_NAME : nom de votre routeur Cloud Router

  • TUNNEL_NAME: nom de votre tunnel VPN, le cas échéant

Afficher la table de routage du plan de transfert VPC

Procédez comme suit :

  1. Dans la Trusted Cloud console, accédez à la page Routes.

    Accéder à la page Routes

  2. Dans l'onglet Routes effectives, sélectionnez le réseau pour lequel vous souhaitez lister les routes.

  3. Dans la liste Région, sélectionnez la région dans laquelle vous souhaitez afficher les itinéraires, puis cliquez sur Afficher.