Mostrar rutas BGP

En esta página se describe cómo enumerar las rutas anunciadas y las rutas aprendidas en sesiones BGP (protocolo de pasarela fronteriza) individuales, lo que puede ayudarte a solucionar problemas con las rutas de Cloud Router. Puedes enumerar las rutas antes o después de que se apliquen las políticas de ruta de BGP a una ruta. Para solucionar problemas con las rutas anunciadas y aprendidas, te recomendamos que completes las siguientes secciones en orden.

Antes de empezar

gcloud

Si quieres usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:

  1. Instala o actualiza a la versión más reciente de Google Cloud CLI.
  2. Define una región y una zona predeterminadas.

API

Si quieres usar los ejemplos de API de esta guía, configura el acceso a la API.

Mostrar rutas BGP antes de aplicar las políticas

Consola

Sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Cloud Router.

    Ir a Cloud Router

  2. En la página Cloud Router, haga clic en la pestaña Sesiones BGP.

  3. Selecciona el peer de la sesión BGP que quieras mostrar. Se muestra la página de detalles de la sesión de BGP. Las rutas anunciadas se muestran en la sección Rutas anunciadas.

gcloud

Usa el comando 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

Haz los cambios siguientes:

  • ROUTER_NAME: el nombre de tu Cloud Router

  • ADDRESS_FAMILY: la familia de direcciones IP de la que se van a mostrar las rutas:

    • IPV4: para direcciones BGP basadas en IPv4
    • IPV6: para direcciones BGP basadas en IPv6
  • PEER_NAME: el nombre del par de BGP

  • REGION: región en la que se encuentra tu Cloud Router

  • ROUTE_DIRECTION: la dirección en la que se mostrarán las rutas:

    • INBOUND: rutas aprendidas del par de BGP
    • OUTBOUND: rutas anunciadas al par de BGP

El resultado debería ser similar al siguiente:

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

Usa el método 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"
}

Haz los cambios siguientes:

  • PROJECT_ID: el proyecto que contiene tu Cloud Router

  • REGION: región en la que se encuentra tu Cloud Router

  • ROUTER_NAME: el nombre de tu Cloud Router

  • ADDRESS_FAMILY: la familia de direcciones IP de la que se van a mostrar las rutas:

    • IPV4: para direcciones BGP basadas en IPv4
    • IPV6: para direcciones BGP basadas en IPv6
  • PEER_NAME: el nombre del par de BGP

  • ROUTE_TYPE: el tipo de ruta que se va a mostrar:

    • LEARNED: ruta aprendida del par de BGP
    • ADVERTISED: ruta anunciada al par de BGP

El resultado debería ser similar al siguiente:

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

Mostrar rutas BGP después de aplicar las políticas

Consola

  1. En la Google Cloud consola, ve a la página Cloud Router.

    Ir a Cloud Router

  2. En la página Cloud Router, haga clic en la pestaña Sesiones BGP.

  3. Selecciona el peer de la sesión BGP que quieras mostrar. Se muestra la página de detalles de la sesión de BGP. Las rutas anunciadas se muestran en la sección Rutas anunciadas.

gcloud

Usa el comando 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

Haz los cambios siguientes:

  • ADDRESS_FAMILY: la familia de direcciones IP de la que se van a mostrar las rutas:

    • IPV4: para direcciones BGP basadas en IPv4
    • IPV6: para direcciones BGP basadas en IPv6
  • PEER_NAME: el nombre del par de BGP

  • ROUTE_DIRECTION: la dirección en la que se mostrarán las rutas:

    • INBOUND: rutas aprendidas del par de BGP
    • OUTBOUND: rutas anunciadas al par de BGP

El resultado debería ser similar al siguiente:

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

Usa el método 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"
}

Haz los cambios siguientes:

  • PROJECT_ID: el proyecto que contiene tu Cloud Router

  • REGION: región en la que se encuentra tu Cloud Router

  • ROUTER_NAME: el nombre de tu Cloud Router

  • ADDRESS_FAMILY: la familia de direcciones IP de la que se van a mostrar las rutas:

    • IPV4: para direcciones BGP basadas en IPv4
    • IPV6: para direcciones BGP basadas en IPv6
  • PEER_NAME: el nombre del par de BGP

  • ROUTE_TYPE: el tipo de ruta que se va a mostrar:

    • LEARNED: ruta aprendida del par de BGP
    • ADVERTISED: ruta anunciada al par de BGP

El resultado debería ser similar al siguiente:

{
  "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
    }
  ]
}

Consultar las mejores rutas dinámicas

Consulta las mejores rutas dinámicas por router de Cloud Router y por región por VPC:

gcloud

Usa el comando gcloud compute routers get-status:

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

La salida incluye la siguiente información:

  • bestRoutesForRouter: representa las mejores rutas de un Cloud Router específico.
  • bestRoutes: representa las mejores rutas por región de un Cloud Router de esa VPC.

La salida de bestRoutesForRouter es similar a la siguiente:

  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

La salida de bestRoutes es similar a la siguiente:

  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

La salida incluye los siguientes valores:

  • PROJECT_ID: el proyecto que contiene tu Cloud Router

  • NETWORK_NAME: nombre de la red VPC

  • REGION: el nombre de la región

API

Usa el método routers.getRouterStatus:

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

Haz los cambios siguientes:

  • PROJECT_ID: el proyecto que contiene tu Cloud Router

  • REGION: región en la que se encuentra tu Cloud Router

  • ROUTER_NAME: el nombre de tu Cloud Router

La salida incluye la siguiente información:

  • bestRoutes: representa las mejores rutas por región de un Cloud Router de esa VPC.
  • bestRoutesForRouter: representa las mejores rutas de un Cloud Router específico.

La salida de bestRoutes es similar a la siguiente:

    "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"
      },

La salida de bestRoutesForRouter es similar a la siguiente:

    "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"
      }
    ],

La salida incluye los siguientes valores:

  • PROJECT_ID: el proyecto que contiene tu Cloud Router

  • REGION: región en la que se encuentra tu Cloud Router

  • ROUTER_NAME: el nombre de tu Cloud Router

  • TUNNEL_NAME: si procede, el nombre de tu túnel VPN

Ver la tabla de rutas del plano de reenvío de la VPC

Sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Rutas.

    Ir a Rutas

  2. En la pestaña Rutas eficaces, selecciona la cadena de la que quieras ver las rutas.

  3. En la lista Región, selecciona la región en la que quieras mostrar las rutas y, a continuación, haz clic en Ver.