A página contém detalhes sobre como solucionar problemas comuns de rede.
Solução de problemas de inicialização da rede
Esta seção mostra alguns dos erros comuns que podem ocorrer ao concluir o processo de bootstrap de rede.
Erro de geração de configuração
Para concluir a instalação da rede, os arquivos de configuração de rede são instalados
na máquina bootstrap. Se você encontrar um erro de geração de configuração, verifique
os arquivos YAML localizados em /root/cellcfg para a configuração de chave com falha.
A inicialização ficou travada no ping da fase 1.
Se o processo de bootstrap da rede ficar parado no ping da fase 1, siga estas etapas para encontrar o problema:
- Extraia o local da configuração de switch gerada do registro de inicialização:
/tmp/network-bootstrap/ID - Encontre o switch parado analisando o arquivo de configuração dele com o endereço IP.
- Faça login no switch e verifique o registro de operações.
A inicialização foi interrompida no ping da fase 2
Se o processo de bootstrap da rede ficar parado no ping da fase 2, siga estas etapas para encontrar o problema:
- Extraia o local da configuração de switch gerada do registro de inicialização:
/tmp/network-bootstrap/ID - Encontre o switch parado analisando o arquivo de configuração dele com o endereço IP de gerenciamento.
- Verifique a configuração do switch de gerenciamento para identificar possíveis problemas de acesso na rede de gerenciamento.
Solução de problemas de reconciliação do dia 2 da rede
Visão geral
O GDC usa o recurso de substituição de configuração fornecido pelo Cisco NX-OS durante a reconciliação do switch para substituir a configuração em execução em um switch por uma configuração completamente nova. As etapas que a operação de substituição de configuração realiza internamente são:
- Calcula a diferença entre a configuração em execução atual e a configuração fornecida pelo usuário.
- Gera um arquivo de patch, que é a diferença entre a configuração em execução e a configuração de entrada.
- Faz a validação semântica no arquivo de patch.
- Aplica o arquivo de patch.
- Verifica se o arquivo de patch foi adicionado corretamente comparando o running-config com a configuração de entrada. Caso contrário, reverte para a configuração anterior
- Um timer é iniciado antes da execução do comando "configure replace commit" ou da reversão da nova configuração.
A falha pode ocorrer em cada uma das etapas anteriores, mas geralmente acontece durante as etapas 3, 4 e 1. Confira a seguir algumas maneiras de resolver erros com configure replace.
Etapas comuns de solução de problemas
Verificar o status geral da troca
No servidor administrador raiz, execute kubectl describe aggswitch/mb-ab-aggsw01 -n
gpc-system (substitua o nome da chave pelo nome necessário).
O objeto Kubernetes de troca no cluster de administrador raiz mostra o exec e verifica os registros na descrição do objeto se a última substituição de configuração falhar.
Verificar o status da última operação de substituição de configuração
No console de troca, execute show config-replace status:
O status vai fornecer as seguintes informações:
- Status geral, como "concluído", "falha" etc.
- Se a substituição de configuração foi confirmada ou está aguardando confirmação.
- Horário de início e término da última operação de substituição de configuração
Verificar quais configurações foram aplicadas pela última operação de substituição de configuração
No console do switch, execute show config-replace log exec.
O registro de execução da substituição de configuração mostra os registros gerados ao aplicar as configurações determinadas pela operação de substituição de configuração como a configuração de patch, ou seja, a diferença entre a configuração em execução e a configuração de entrada.
Esses registros às vezes têm erros que são ignorados pela operação de substituição de configuração e não causam falha na substituição de configuração como um todo. A menos que um erro seja a última linha do registro de execução na seção "Executando patch", ele provavelmente não é a causa de uma falha na substituição da configuração.
Verifica se a verificação da última operação de substituição de configuração foi bem-sucedida
No console do switch, execute show config-replace log verify.
Após a etapa de execução da substituição de configuração, a operação compara a nova configuração em execução do switch com a configuração de entrada. Essas configurações precisam ser iguais. Caso contrário, a substituição da configuração vai falhar e reverter para a configuração anterior.
O registro de verificação tem duas seções.
Configuration To Be Added Missing in Running-config: lista as configurações presentes na configuração de entrada, mas não na nova configuração em execução.Configuration To Be Removed Present in Running-config: lista as configurações presentes na nova configuração em execução, mas não na configuração de entrada.
Verificar todos os comandos executados no switch
No console de troca, execute show accounting log start-time 2022 Sep 13 20:00:00
(substituindo o horário de início por um horário necessário).
Os registros de contabilidade mostram todos os comandos executados no switch. Esses registros podem ser úteis para ver quais comandos foram executados no switch via NXAPI ou manualmente. Eles também podem dar uma ideia de quando exatamente cada operação de substituição de configuração foi executada e quantas vezes ela foi executada.
Verificar quais chamadas da NX-API foram feitas para o switch e de onde
No console do switch, execute show nxapi-server logs
Os registros da NX-API mostram os registros relacionados às chamadas da NXAPI feitas para o switch. Como nossa pilha de automação faz chamadas NXAPI para os switches por vários motivos, incluindo a execução da substituição de configuração, isso é útil para ver quais chamadas NXAPI foram feitas e de onde elas vieram.
Solução de problemas de interconexão
Visão geral da API Interconnect
A API Interconnect configura as conexões externas de uma célula do data center do GDC. Há três tipos de interconexões
- Interconexão de data center (DCI): interconexão de um data center do GDC com outro data center do GDC usando os switches de borda de plano de dados.
- Interconexão de peering do cliente (CPI, na sigla em inglês): interconexão de um data center do GDC com a rede da organização usando os switches de borda de folha do plano de dados.
- Centro de operações de rede (NOC): interconexão de um data center do GDC com o centro de operações de rede usando os switches de borda de plano de dados e os switches de agregação de gerenciamento.
Os seguintes objetos de API estão presentes:
InterconnectLink: esse objeto de API define as portas físicas que se conectam a switches externos.InterconnectAttachment: esse objeto de API define os anexos que existem além doInterconnectLinkconfigurado. As informações contidas em cada anexo definem o seguinte:- Tipo de interconexão
- Informações do BGP
- Informações do ID da VLAN
- Políticas de rota configuradas
RoutePolicy: esse objeto de API modela as políticas usadas para compartilhar rotas com pares BGP de interconexão.
Solução de problemas
Verificar o status de InterconnectLink e InterconnectAttachment
Os objetos de API InterconnectLink e InterconnectAttachment expõem muitas informações que podem esclarecer o status atual.
InterconnectLink: as seguintes informações são expostas para cada porta física que se conecta a switches externos.Up: informações de status sobre se a porta está ativa ou inativa.DownReason: motivo de a porta estar inativa.
InterconnectAttachment: as seguintes informações são expostas para cada um dos anexos de interconexão configurados.BGPStatus: status da sessão do BGP, por exemplo, "Up" ou "Down".UpTime: carimbo de data/hora da última vez que a sessão do BGP foi iniciada.PrefixCounters: contadores que mostram o total de prefixosReceived,SenteWithdrawn.
Verificar políticas de roteamento
RoutePolicy define uma lista de prefixos e a ação a ser tomada, por exemplo, "Permitir" ou "Negar".
Liste todas as políticas de rota associadas ao recurso InterconnectAttachment para verificar se os endereços IP fazem parte de RoutePolicy válidos.
Verificar prefixos de rota/tráfego do BGP em switches de borda em firewalls
O caminho de dados de interconexão também atravessa dois firewalls da PANW: o firewall do sistema de detecção e prevenção de intrusões (IDPS) e o firewall de perímetro. Mesmo que os prefixos de rota sejam aprendidos na sessão do BGP, é possível que os firewalls os descartem.
Verificar os prefixos de rota aprendidos em vários VRFs
O tráfego externo passa por várias VRFs nos switches de agregação ao transitar pelos diferentes firewalls. A verificação dos prefixos de rota do BGP aprendidos nesses pontos de VRF indica que os prefixos de rota/tráfego foram descartados nos firewalls.
Todo o tráfego externo é colocado nas VRFs externas *-external-vrf
dependendo do cluster de origem ou destino do tráfego nos switches de borda.
Exemplo: root-external-vrf tem tráfego com origem ou destino para o cluster de administrador raiz.
Depois que o tráfego passa pelo firewall do IDPS, ele é colocado em uma das seguintes VRFs de interconexão:
oc-vrfdci-vrfcp-vrf
Para o tráfego destinado ao NOC, há um firewall de perímetro adicional. Depois disso, o tráfego chega a octransit-vrf.
Faça login nos switches de borda e use o comando a seguir para mostrar os prefixos de rota aprendidos em várias VRFs:
show bgp vrf <vrf_name> all
Em que vrf_name pode ser uma das VRFs.
Solução de problemas do BGP do ANG
Arquivo kubeconfig do cluster
Verifique se você tem os seguintes valores de KUBECONFIG_FILE para verificar os objetos:
ROOT_ADMIN_KUBECONFIG: o arquivokubeconfigdo cluster de administrador raiz.ORG_ADMIN_KUBECONFIG: o arquivokubeconfigdo cluster de administrador da organização.ORG_SYSTEM_KUBECONFIG: o arquivokubeconfigdo cluster do sistema da organização.ORG_USER_KUBECONFIG: o arquivokubeconfigdo cluster de usuário da organização.
Cluster travado no estado de provisionamento
Verifique se o objeto
NodePoolestá pronto.kubectl --kubeconfig KUBECONFIG_FILE \ get nodepools -ASe os objetos do pool de nós não forem criados ou não estiverem prontos, verifique
NodePoolClaime a conectividade do nó.Verifique se o objeto
ClusterBGPPeerestá pronto.Verifique se os objetos
ClusterBGPPeerforam criados para flat-ip-bgp-x, lb-bgp-x e node-x:kubectl --kubeconfig KUBECONFIG_FILE \ get clusterbgppeers -A ... ORG_NAME-system-cluster flat-ip-bgp-peer-0 16h ORG_NAME-system-cluster lb-bgp-peer-0 21h ORG_NAME-system-cluster node-10.251.100.10-peer-10.0.224.0 21hSe os objetos não forem criados, verifique os objetos
NetworkGatewayGroupeBGPPeer.Verifique se os
BGPSessions estão funcionando.kubectl --kubeconfig KUBECONFIG_FILE \ get bgpsessions -ASe as sessões do BGP não estiverem ativas, consulte Sessões do BGP não estabelecidas.
A sessão do BGP não foi estabelecida
Confira EBGPNeighbor em TORSwitchInternal
Verifique
ClusterBGPRouterpara conferir a chave TOR pareada de cada interface.As interfaces de
ORG_NAMEClusterBGPRoutersão usadas para fazer peering com todos os clusters deORG_NAME.apiVersion: network.private.gdc.goog/v1alpha1 kind: ClusterBGPRouter metadata: labels: clusterbgpreconciler.system.private.gdc.goog/overlay-network: external name: external-vrf-cluster-bgp-router namespace: ORG_NAME spec: clusterASN: 64513 interfaces: - ip: 10.0.252.48 switchMetadata: rackName: alatl14-aa switchRef: kind: TORSwitch name: alatl14-aa-torsw01 - ip: 10.0.252.49 switchMetadata: rackName: alatl14-aa switchRef: kind: TORSwitch name: alatl14-aa-torsw02 networkASN: 65014Para cada
TORSwitchInternal, verifiquespec.ebgpNeighborspara saber se todos os objetosClusterBGPPeerestão configurados.
Depurar sessões do BGP em switches TOR
- Use SSH em um dos switches TOR pareados.
Verifique os vizinhos do BGP da ANG para
ORG_NAME:> sh run bgp router bgp 65014 ... vrf ORG_NAME-external-vrf ... neighbor 10.251.100.3 inherit peer ANG update-source loopback200 neighbor 10.251.100.4 inherit peer ANG update-source loopback200 ... vrf ORG_NAME-internal-vrf ... neighbor 172.20.128.5 inherit peer ANG update-source loopback100 neighbor 172.20.128.6 inherit peer ANG update-source loopback100 ...Verifique o status da sessão do BGP:
> sh bgp ses vrf ORG_NAME-external-vrf > sh bgp ses vrf ORG_NAME-internal-vrfVer registros do BGP:
> debug ip bgp all > no debug ip bgp all (disable log mode)Mova a depuração usando bash:
> run bash > sudo tcpdmp -i any port 179 -vvv