Resolver problemas de rotas do BGP e seleção de rota
Este guia visa resolver problemas relacionados às rotas do BGP, incluindo seleção, propagação e prioridades de rota.
Para mais informações sobre a solução de problemas, consulte os seguintes tópicos:
- Resolver problemas de sessões do BGP
- Resolver problemas de peering do BGP
- Resolver problemas de mensagens de registro do Cloud Router
A sessão IPv6 do BGP foi estabelecida, mas não troca rotas IPv4
Verifique se o anexo da VLAN ou o gateway da VPN de alta disponibilidade tem o tipo de pilha necessário de
IPV4_IPV6
. Se o tipo de pilha estiver incorreto no anexo da VLAN, modifique esse anexo. Para um gateway de VPN de alta disponibilidade, recrie esse gateway e os túneis dele.Verifique se o Cloud Router está configurado corretamente. Execute este comando:
gcloud compute routers describe ROUTER-NAME
Na saída, verifique os seguintes valores:
bgpPeers.enableIpv4
étrue
bgpPeers.ipv4NexthopAddress
ebgpPeers.peerIpv4NexthopAddress
estão presentes
Alguns prefixos IPv4 ou IPv6 locais não estão disponíveis
Se alguns prefixos IPv4 ou IPv6 locais não estiverem disponíveis, verifique as cotas e limites ou os intervalos de sub-rede sobrepostos.
As rotas aprendidas estão inativas
Se você configurou uma rota aprendida personalizada, mas está com perda de tráfego, erros de ping ou outros problemas relacionados à rota, faça o seguinte:
- Verifique se a rota está configurada corretamente na sessão do BGP.
- Verifique se a sessão do BGP está ativa.
- Verifique se há rotas descartadas.
- Verifique cotas e limites.
- Verifique se há intervalos de sub-redes sobrepostos.
Para mais informações, consulte Verificar o status de rotas aprendidas personalizadas.
Verifique se há rotas descartadas
Para ver se uma rota foi descartada, execute o seguinte comando:
gcloud compute routers get-status ROUTER_NAME \
--region=REGION
Substitua:
ROUTER_NAME
: o nome do seu Cloud Router.REGION
: a região em que o Cloud Router está localizado.
A resposta será semelhante a esta: procure o routeStatus
definido como
active
:
kind: compute#routerStatusResponse
result:
bestRoutesForRouter:
- asPaths:
- asLists:
- 65200
pathSegmentType: AS_SEQUENCE
creationTimestamp: '2024-03-22T13:57:15.533-07:00'
destRange: 10.128.0.0/20
kind: compute#route
network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/VPC_NAME
nextHopIp: 169.254.73.246
nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
priority: 100
routeStatus: ACTIVE
routeType: BGP
bgpPeerStatus:
- advertisedRoutes:
- destRange: 10.128.0.0/20
kind: compute#route
network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/aneta-vpc
nextHopIp: 169.254.73.245
nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
priority: 100
routeType: BGP
enableIpv6: false
ipAddress: 169.254.73.245
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
md5AuthEnabled: false
name: aneta-bgp
numLearnedRoutes: 1
peerIpAddress: 169.254.73.246
state: Established
status: UP
uptime: 10 hours, 11 minutes, 0 seconds
uptimeSeconds: '36660'
network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/VPC_NAME
O valor bestRoutesForRouter.routeStatus
mostra ACTIVE
para uma rota
ativa e DROPPED
para uma rota descartada.
Verificar cotas e limites
Verifique se os Cloud Routers não excederam os limites para rotas aprendidas. Para ver o número de rotas aprendidas, confira o status do Cloud Router.
Para informações sobre os limites, as mensagens de registro relacionadas e as métricas e como resolver problemas, consulte a tabela a seguir.
Limites | Orientação | ||
---|---|---|---|
Sobre os limites | Há dois limites para as rotas aprendidas. Esses limites não definem diretamente um número máximo de rotas aprendidas. Em vez disso, eles definem o número máximo de prefixos de destino exclusivos:
O primeiro limite é relevante, independentemente do modo de roteamento dinâmico usado pela rede VPC. O segundo limite só faz sentido se a rede VPC usar o modo de roteamento dinâmico global. Para ver detalhes sobre os limites do Cloud Router, consulte Limites. |
Rotas aprendidas | Número máximo de destinos exclusivos para rotas aprendidas que são aplicados a sub-redes em uma determinada região por todos os Cloud Routers na mesma região |
Registros | Quando você encontrar um desses limites, verá uma
mensagem limit-exceeded no Cloud Logging. Para informações sobre como criar uma consulta avançada para visualizar esta mensagem, veja a consulta relacionada na documentação de geração de registros do Cloud Router. |
||
Métricas | Você também pode usar as métricas a seguir para entender seus limites e uso atuais. Essas métricas são precedidas por
Essas métricas estão disponíveis por meio do recurso monitorado |
||
Como resolver problemas | Faça o seguinte para resolver problemas de limite de rota. Nas situações em que o número de rotas excede muito os limites, faz sentido fazer as duas coisas:
|
Verificar intervalos de sub-rede sobrepostos
Verifique se os intervalos de endereços IPv4 e IPv6 de uma sub-rede VPC não se sobrepõem totalmente às rotas divulgadas na rede local. A sobreposição de intervalos IPv4 e IPv6 pode fazer com que as rotas sejam descartadas. Isso também se aplica a rotas estáticas personalizadas que se sobrepõem a uma rota dinâmica aprendida pelo Cloud Router. Os prefixos recebidos pelos Cloud Routers são ignorados (rotas dinâmicas personalizadas não são criadas) nos seguintes cenários:
Quando o prefixo aprendido corresponde exatamente a um intervalo de endereços IPv4 ou IPv6 principal ou secundário de uma sub-rede na rede VPC.
Quando o prefixo aprendido corresponde exatamente ao destino de uma rota estática personalizada na rede VPC.
Quando o prefixo aprendido é mais específico (tem uma máscara de sub-rede maior) em comparação a um intervalo de endereços IPv4 ou IPv6 primário ou secundário de uma sub-rede na rede VPC.
Quando o prefixo aprendido é mais específico (tem uma máscara de sub-rede mais longa) do que o destino de uma rota estática personalizada na sua rede VPC.
Para mais informações, consulte Aplicabilidade e ordem das rotas na visão geral de Rotas da VPC.
Rotas aprendidas de uma rede local não são propagadas para outras redes VPC
Um único Cloud Router não pode divulgar novamente as rotas aprendidas de um peering do BGP para outros, inclusive para Cloud Routers em outras redes VPC.
Por exemplo, na topologia hub e spoke a seguir, o Cloud Router não é compatível com a divulgação de rota entre várias redes VPC.
Para analisar as recomendações de topologias de rede no Google Cloud, consulte Práticas recomendadas e arquiteturas de referência para o design da VPC.
Além disso, é possível usar o Network Connectivity Center para criar e gerenciar topologias hub e spoke no Google Cloud.
Os prefixos não estão sendo importados para as sessões do BGP (prefixo de caminho AS)
A inclusão de caminho AS é irrelevante para o plano de controle e a rede VPC. O tamanho do caminho AS é considerado apenas em cada tarefa de software do Cloud Router, conforme descrito nos cenários a seguir.
Se uma única tarefa do software do Cloud Router aprender o mesmo destino em duas ou mais sessões do BGP:
- A tarefa de software escolhe uma sessão do BGP do próximo salto com o tamanho do caminho AS mais curto.
- A tarefa de software envia informações de destino, próximo salto e MED para o plano de controle do Cloud Router.
- O plano de controle usa as informações para criar uma ou mais rotas candidatas. A prioridade básica de cada candidato é definida como MED recebida.
Se duas ou mais tarefas de software do Cloud Router aprenderem o mesmo destino em duas ou mais sessões do BGP:
- cada tarefa de software escolhe uma sessão do BGP de próximo salto com o tamanho do caminho AS mais curto;
- cada tarefa de software envia informações de destino, próximo salto e MED para o plano de controle do Cloud Router;
- o plano de controle usa as informações para criar dois ou mais trajetos possíveis. A prioridade básica de cada candidato é definida como MED recebida.
Em seguida, o plano de controle do Cloud Router instala uma ou mais rotas dinâmicas na rede VPC, de acordo com o modo de roteamento dinâmico da rede VPC. No modo de roteamento dinâmico global, a prioridade de cada rota dinâmica regional é ajustada em regiões diferentes da região do Cloud Router. Para detalhes sobre como o Google Cloud seleciona uma rota, consulte Ordem de roteamento na documentação da VPC.
Em uma VM com várias NICs, cada NIC recebe rotas diferentes
Esse é o comportamento esperado. É preciso configurar cada controlador de interface de rede (placa de rede) para uma VM com várias placas de rede em uma rede VPC exclusiva. Cada Cloud Router cria rotas dinâmicas personalizadas em uma única rede VPC. Portanto, as rotas aprendidas por um Cloud Router são aplicáveis apenas a uma interface de rede de uma VM com várias placas de rede. Pacotes enviados da interface de rede de uma VM usam apenas as rotas aplicáveis à rede VPC dessa interface.
O tráfego está sendo roteado de maneira assimétrica
O tráfego é roteado de maneira assimétrica quando os tráfegos de entrada e saída usam caminhos diferentes. Por exemplo, é possível ter dois túneis do Cloud VPN. O tráfego de saída da sua rede VPC usa o primeiro túnel, enquanto que o tráfego de entrada na sua rede VPC usa o segundo túnel.
O roteamento assimétrico acontece quando o caminho preferível divulgado pelo roteador local e pelo Cloud Router não se alinha. Para o tráfego de entrada na sua rede VPC, use o Cloud Router para configurar prioridades de rotas divulgadas. Para mais informações, consulte Rotas aprendidas.
Verifique a documentação do dispositivo para saber como funciona a seleção do melhor caminho do BGP, já que outros atributos, como ID do roteador ou ASN de origem, podem afetar o processo. Por exemplo, consulte os seguintes recursos:
Fortinet: Manual do BGP (em inglês)
Juniper: seleção de caminho do BGP (em inglês)
Para o tráfego de saída da sua rede VPC, verifique o valor MED do roteador local.
A rota padrão (0.0.0.0/0
ou ::/0
) está enviando tráfego para o gateway da Internet
Quando você cria uma rede VPC, o Google Cloud cria automaticamente
uma rota padrão com
prioridade 1000
, em que próximo salto é o gateway da Internet padrão.
Rotas com um próximo salto do gateway padrão da Internet só podem ser usadas por VMs que atendem aos requisitos de acesso à Internet.
O uso de rotas com um próximo salto do gateway da Internet padrão também é necessário para acessar as APIs e os serviços do Google, por exemplo, ao usar o Acesso privado do Google.
Os exemplos a seguir descrevem situações que podem fazer com que o tráfego na Internet ou nas APIs e serviços do Google seja bloqueado:
Se você excluir a rota padrão criada automaticamente, isto é, a rota com um próximo salto do gateway da Internet padrão.
Se você substituir a rota padrão criada automaticamente e o próximo salto da rota de substituição for diferente do gateway da Internet padrão.
Se um Cloud Router aprender uma rota com destino
0.0.0.0/0
ou::/0
que tenha uma prioridade mais alta do que a rota padrão criada automaticamente.
O próximo salto não está claro
Para saber como funciona o algoritmo de seleção de rotas do Google Cloud, consulte Aplicabilidade e pedido na documentação de Rotas da VPC.
O tráfego IPv6 não está sendo roteado
Se você estiver com dificuldade para se conectar a hosts IPv6, faça o seguinte:
Verifique se as rotas IPv4 estão sendo anunciadas corretamente. Ao verificar o tráfego IPv4 primeiro, é possível descartar problemas gerais de rede. Se as rotas IPv4 não estiverem sendo divulgadas, execute os procedimentos gerais de solução de problemas listados neste documento.
Inspecione as regras de firewall para garantir que você permita o tráfego IPv6 entre a rede VPC e a rede local.
Verifique se não há sobreposição de intervalos de sub-rede IPv6 na rede VPC e na rede local. Consulte Verificar a sobreposição de intervalos de sub-redes.
Verifique se você excedeu as cotas e os limites das rotas aprendidas. Se você exceder a cota das rotas aprendidas, os prefixos IPv6 serão descartados antes dos prefixos IPv4. Consulte Verificar cotas e limites.
Verifique se todos os componentes que exigem a configuração do IPv6 foram configurados corretamente.
A sub-rede VPC é configurada para usar o tipo de pilha
IPV4_IPV6
.A sub-rede VPC tem
--ipv6-access-type
definido comoINTERNAL
.As VMs do Compute Engine na sub-rede são configuradas com endereços IPv6.
O gateway da VPN de alta disponibilidade ou o anexo da VLAN para a Interconexão dedicada está configurado para usar o tipo de pilha
IPV4_IPV6
.O peering do BGP está ativado para usar IPv6, e os endereços corretos do próximo salto do IPv6 são configurados para a sessão do BGP.
A seguir
Para mais informações sobre como usar o Cloud Logging para monitorar o Cloud Router, consulte Acessar registros e métricas.
Se você precisar de mais suporte, consulte Como receber suporte.
Para informações sobre estados da sessão do BGP, consulte Estados da sessão do BGP.
Para informações sobre mensagens de diagnóstico e estados de sessão relacionados à detecção de encaminhamento bidirecional (BFD, na sigla em inglês), consulte Mensagens de diagnóstico e estados de sessões de BFD.
Sobre problemas relacionados ao uso do Cloud Router com o dispositivo roteador, consulte Solução de problemas do dispositivo roteador na documentação do Network Connectivity Center.