Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

Diretrizes e limitações

BGP e uso de memória

BGP e failover

Resolução de rota recursiva

Operação de máquina de estado finito BGP

Configurar

Configuração do eBGP

Diagrama de Rede

Configuração do ASA-1

Configuração do ASA-2

Configuração do iBGP

Diagrama de Rede

Configuração do ASA-1

Configuração do ASA-2

Diferenças entre eBGP e iBGP

eBGP-Multihop

Configuração do ASA-1

Configuração do ASA-2

Filtragem de rota BGP

Configuração de ASA BGP em Multi-Contexto

Verificar

Verificar a vizinhança do eBGP

Rotas BGP

Configuração do ASA-1

Configuração do ASA-2

Detalhe de Rota eBGP Específica

Resumo de BGP

Verificar a vizinhança iBGP

Detalhe de rota iBGP específica

Valor TTL para pacotes BGP

Processo de resolução de rota recursiva

ASA BGP e recurso de reinicialização normal

Troubleshoot

Debug

Introduction

Este documento descreve as etapas necessárias para ativar o roteamento BGP (Border Gateway Protocol) (eBGP/iBGP) e outros problemas.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Protocolos de roteamento dinâmico

- Visão geral do Cisco BGP

- Estudos de caso de BGP

Componentes Utilizados

Este documento é baseado no Cisco Firepower 2100 Series Firewall que executa o software Cisco ASA versão 9.16

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

Este documento também aborda como estabelecer um processo de roteamento BGP, configurar parâmetros BGP gerais, filtrar rotas em um Adaptive Security Appliance (ASA) e solucionar problemas relacionados à vizinhança. Esse recurso foi introduzido na versão 9.2.1 do software ASA.

Diretrizes e limitações

- O BGP é suportado em modo único e multimodo com a família de endereços IPv4 e IPv6.

- O multimodo é equivalente à família de endereços Cisco IOS® BGP VPNv4 (VPN Routing and Forwarding (VRF)). Por roteador de contexto, o BGP é semelhante a cada família de endereços IPv4 VRF no Cisco IOS.

- Somente um número de Sistema Autônomo (AS) é suportado para todos os contextos semelhantes a um AS global para todas as famílias de endereços no Cisco IOS.

- Não suporta o modo de firewall transparente. O BGP é suportado somente no modo roteado.

- O sistema não adiciona entradas de rota para o endereço IP recebido via PPPoE na tabela de rotas do PC. O BGP sempre procura na tabela de rotas do PC para iniciar a sessão TCP, portanto o BGP não forma uma sessão TCP. Assim, o BGP sobre PPPoE não é suportado.

- Para evitar oscilações de adjacência devido a atualizações de rota que são descartadas se a atualização de rota for maior que o MTU mínimo no link, certifique-se de configurar o mesmo MTU nas interfaces em ambos os lados do link.

- A tabela BGP da unidade membro não está sincronizada com a tabela de unidade de controle. Somente sua tabela de roteamento é sincronizada com a tabela de roteamento da unidade de controle.

- O número AS pode ser configurado com o uso do comando router bgp <as_num>, que pode ser usado para habilitar a família de endereços por contexto.

- O BGP tem seis processos que suportam todos os contextos, e os detalhes estão disponíveis com o comando show process. Esses processos são Tarefa BGP, Programador BGP, Varredura BGP, Roteador BGP, E/S BGP e Evento BGP.
ASA-1(config)# show proc | in BGP

Mwe 0x00000000010120d0 0x00007ffecc8ca5c8 0x0000000006136380

0  0x00007ffecc8c27c0 29432/32768  BGP Task

Mwe 0x0000000000fb3acd 0x00007ffecba47b48 0x0000000006136380

11 0x00007ffecba3fd00 31888/32768  BGP Scheduler

Lwe 0x0000000000fd3e40 0x00007ffecd3373e8 0x0000000006136380

26 0x00007ffecd32f5f0 30024/32768  BGP Scanner

Mwe 0x0000000000fd70b9 0x00007ffecd378cd8 0x0000000006136380

10 0x00007ffecd370eb0 28248/32768  BGP Router

Mwe 0x0000000000fc9f84 0x00007ffecd32f3e8 0x0000000006136380

2 0x00007ffecd3275a0 30328/32768  BGP I/O

Mwe 0x000000000100c125 0x00007ffecd33f458 0x0000000006136380

0 0x00007ffecd337640 32032/32768  BGP Event

- O contexto do sistema tem configurações globais comuns a todos os contextos semelhantes ao Cisco IOS, que tem configurações globais para todas as famílias de endereços.

- As configurações que têm o controle sobre o cálculo do melhor caminho, o vizinho de registro, a descoberta da Unidade Máxima de Transição (MTU - Maximum Transition Unit) do caminho TCP, os temporizadores globais para manutenção de atividade, o tempo de espera e assim por diante estão disponíveis no contexto do sistema no modo de comando BGP do roteador.

- O suporte ao comando de política BGP está no contexto por usuário do modo de família de endereços.

- Todas as comunidades padrão e atributos de caminho são suportados.

- O RTBH (Remote Triggered Black Hole, buraco negro disparado remotamente) é suportado com a configuração de rota null0 estática.

- As informações do próximo salto foram adicionadas à própria tabela de roteamento de entrada no processador de rede (NP). Anteriormente, isso estava disponível apenas na tabela de roteamento de saída. Essa alteração foi concluída para suportar a adição de rotas BGP nas tabelas de encaminhamento NP (como as rotas BGP não têm uma interface de saída identificada no CP, não há como determinar com qual tabela de roteamento de saída atualizar as informações do próximo salto).

- Há suporte para a Pesquisa de Rota Recursiva.

- A redistribuição com outros protocolos, como conectados, estáticos, Routing Information Protocol (RIP), Open Shortest Path First (OSPF) e Enhanced Interior Gateway Routing Protocol (EIGRP) é suportada.

- O comando no router bgp <as_no> [com prompt de confirmação] remove as configurações do BGP em todos os contextos.

- Os bancos de dados de controle de rotas, como mapas de rotas, lista de acesso, listas de prefixos, listas de comunidades e listas de acesso as-path são virtualizados e fornecidos por contexto.

- Um novo comando, show asp table routing address <addr> resolve, é introduzido para exibir as rotas BGP recursivamente resolvidas na tabela de encaminhamento NP.

- Um novo comando, show bgp system-config, é introduzido em multimodo para exibir configurações BGP de contexto do sistema.

- Suporte de interface de loopback para tráfego BGP

- Suporte de BGP para IPv6

- Suporte de BGP para mapas anunciados

- Suporte de BGP para clustering ASA

- Reinicialização normal suportada para IPv6

BGP e uso de memória

O comando show route summary é usado para obter o uso de memória de protocolos de roteamento individuais.

BGP e failover

- O BGP é suportado nas configurações de HA Ativo/Standby e Ativo/Ativo.

- Somente a unidade Ativa escuta na porta TCP 179 para conexões BGP de pares.

- A unidade em Standby não participa do peering BGP e, portanto, não ouve na porta TCP 179 e não mantém as tabelas BGP.

- As adições e exclusões de rotas BGP são replicadas da unidade Ativa para a unidade em Standby.

- Após o failover, a nova unidade ativa escuta a porta 179 do TCP e inicia o estabelecimento de adjacência do BGP com os correspondentes.

- Sem Nonstop Forwarding (NSF), o estabelecimento de adjacência leva tempo com o peer novamente após o failover, dentro do qual as rotas BGP não são aprendidas do peer. Isso depende da próxima manutenção de atividade do BGP (padrão de 60 segundos) do peer para o qual o ASA responde com restauração (RST), o que leva a uma terminação de conexão antiga na extremidade do peer e, subsequentemente, uma nova conexão seguinte é estabelecida.

- Durante o período de reconvergência de BGP, a nova unidade Ativa continua a encaminhar o tráfego com as rotas replicadas anteriormente.

- O período do temporizador de reconvergência do BGP está definido atualmente como 210 segundos (o comando show route failover mostra o valor do temporizador) para dar tempo suficiente para que o BGP estabeleça adjacências e troque rotas com seus pares.

- Depois que o temporizador de reconvergência de BGP expira, todas as rotas de BGP obsoletas são removidas da Routing Information Base (RIB).

- O router-id BGP é sincronizado da unidade Ativa para a unidade em Espera. O cálculo do ID do roteador BGP está desabilitado na unidade em standby.

- O comando write standby é fortemente desencorajado já que a sincronização em massa não acontece nesse caso, o que leva à perda de rotas dinâmicas no standby.

Resolução de rota recursiva

- As informações de interface de saída para rotas BGP não estão disponíveis no CP (uma consequência direta do fato de que os vizinhos BGP podem estar a vários saltos de distância, ao contrário de outros protocolos de roteamento).

- As rotas BGP com as informações do próximo salto são adicionadas à tabela de roteamento de entrada NP, mas ainda não foram resolvidas.

- Quando o primeiro pacote de um fluxo que corresponde a um prefixo de rota BGP entra no ASA no caminho lento, a rota é resolvida e a interface de saída é determinada recursivamente que procura a tabela de roteamento de entrada NP.

- Sempre que a tabela de roteamento é alterada (do PC), um timestamp de tabela de roteamento específico do contexto é incrementado.

- Quando o próximo pacote de um fluxo que corresponde a uma rota BGP entra no ASA no caminho rápido, o ASA compara o carimbo de data/hora da entrada da rota com o carimbo de data/hora da tabela de roteamento específico do contexto. Se os dois timestamps não coincidirem, o processo de resolução de rota recursiva é iniciado novamente e o timestamp da entrada de rota é atualizado para ser o mesmo timestamp da tabela de roteamento. Você pode verificar os timestamps com o comando show asp table routing. O comando show asp table routing address <route> mostra o carimbo de data/hora de uma determinada entrada de rota e o comando show asp table routing mostra o carimbo de data/hora da tabela de roteamento.

- O processo de resolução de rota recursiva para um prefixo de destino pode ser forçado quando você insere o comando show asp table routing address <addr> resolve.

- A profundidade das pesquisas de rotas recursivas está restrita atualmente a quatro. Pacotes que exigem consulta após quatro são descartados com a razão de descarte "Sem rota para host (sem rota)" e não há nenhuma razão de descarte especial para falha de pesquisa recursiva.

- A resolução de rota recursiva é suportada apenas para rotas BGP (não rotas estáticas).

Operação de máquina de estado finito BGP

Os peers BGP passam por vários estados antes de se tornarem vizinhos adjacentes e trocam informações de roteamento. Em cada um dos estados, os peers devem enviar e receber mensagens, processar dados de mensagens e inicializar recursos antes de passarem para o próximo estado. Esse processo é conhecido como Máquina de Estado Finito (FSM) BGP. Se o processo falhar em qualquer ponto, a sessão será desativada e os correspondentes farão a transição de volta para um estado Ocioso e começarão o processo novamente. Cada vez que uma sessão é desativada, todas as rotas do peer que não está ativado são removidas das tabelas, o que causa tempo de inatividade.

1. IDLE - o ASA pesquisa a tabela de roteamento para ver se existe uma rota para alcançar o vizinho.

2. CONNECT - o ASA encontrou uma rota para o vizinho e concluiu o handshake TCP de três vias.

3. ATIVO - o ASA não recebeu acordo sobre os parâmetros do estabelecimento.

4. OPEN SENT - a mensagem Open é enviada, com parâmetros para a sessão BGP.

5. CONFIRMAÇÃO DE ABERTURA - o ASA recebeu um acordo sobre os parâmetros para estabelecer uma sessão.

6. ESTABLISHED - o peering é estabelecido e o roteamento é iniciado.

Configurar

Configuração do eBGP

O BGP executa entre roteadores em diferentes sistemas autônomos. Por padrão, no eBGP (peering em dois sistemas autônomos (ASs) diferentes), o TTL IP é definido como 1, o que significa que os peers são considerados como diretamente conectados. Nesse caso, quando um pacote passa por um roteador, o TTL se torna 0 e o pacote é descartado além disso. Nos casos em que os dois vizinhos não estão diretamente conectados (por exemplo, o peering com interfaces de loopback ou o peering quando os dispositivos estão a vários saltos de distância), você precisa adicionar o comando neighbor x.x.x ebgp-multihop <TTL>. Caso contrário, a vizinhança BGP não pode ser estabelecida. Além disso, um peer eBGP anuncia todas as melhores rotas que conhece ou aprendeu de seus peers (seja peer eBGP ou peer iBGP), o que não é o caso do iBGP.

Diagrama de Rede

Configuração do ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 200

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuração do ASA-2

router bgp 200

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuração do iBGP

No iBGP, não há restrição de que os vizinhos devem ser conectados diretamente. No entanto, um peer do iBGP não pode anunciar o prefixo aprendido de um peer do iBGP para outro peer do iBGP. Essa restrição existe para evitar loops dentro do mesmo AS. Para esclarecer isso, quando uma rota é passada para um peer eBGP, o número AS local é adicionado ao prefixo no as-path, portanto, se recebermos o mesmo pacote de volta que declara nosso AS no as-path, sabemos que é um loop e que o pacote é descartado. No entanto, quando uma rota é anunciada a um peer iBGP, o número AS local não é adicionado ao as-path, já que os peers estão no mesmo AS.

Diagrama de Rede

Configuração do ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 100

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuração do ASA-2

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Diferenças entre eBGP e iBGP

- Peers eBGP entre dois AS diferentes, enquanto o iBGP está entre o mesmo AS.

- As rotas aprendidas dos peers eBGP são anunciadas a outros peers (eBGP ou iBGP). No entanto, as rotas aprendidas de um peer iBGP não são anunciadas a outros peers iBGP.

- Por padrão, os peers eBGP são definidos com TTL = 1, o que significa que os vizinhos são considerados diretamente conectados, o que não é o caso do iBGP. Para alterar esse comportamento para o eBGP, insira o comando neighbor x.x.x ebgp-multihop <TTL>. Multihop é o termo usado somente no eBGP.

- As rotas eBGP têm uma distância administrativa de 20, enquanto o iBGP é 200.

- O próximo salto permanece inalterado quando a rota é anunciada a um peer iBGP. No entanto, ele é alterado quando é anunciado para um peer eBGP por padrão.

eBGP-Multihop

Um ASA com vizinhança BGP com outro ASA que está a um salto de distância. Para a vizinhança, você precisa se certificar de que haja conectividade entre os vizinhos. Faça ping para confirmar a conectividade. Verifique se a porta TCP 179 é permitida em ambas as direções nos dispositivos intermediários.

Configuração do ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 198.51.100.1 remote-as 200

neighbor 198.51.100.1 ebgp-multihop 2

neighbor 198.51.100.1 activate

network 192.168.10.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuração do ASA-2

router bgp 200

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 ebgp-multihop 2

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Filtragem de rota BGP

Com o BGP você pode controlar uma atualização de roteamento que é enviada e recebida. Neste exemplo, uma atualização de roteamento está bloqueada para o prefixo de rede 172.16.30.0/24 que está atrás do ASA-2. Para filtragem de rota, você pode usar somente a ACL PADRÃO.

access-list bgp-in line 1 standard deny 172.16.30.0 255.255.255.0

access-list bgp-in line 2 standard permit any4

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 200

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

distribute-list bgp-in in

no auto-summary

no synchronization

exit-address-family

!

Verifique a tabela de roteamento.

ASA-1(config)# show bgp cidr-only

BGP table version is 6, local router ID is 203.0.113.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.10.10.0/24    203.0.113.2          0             0  200 i

*> 10.106.44.0/24   0.0.0.0              0         32768  i

*> 10.180.10.0/24   203.0.113.2          0             0  200 i

*> 172.16.20.0/24   0.0.0.0              0         32768  i

*> 192.168.10.0/16   0.0.0.0             0         32768  i

Verifique as contagens de ocorrências da ACL (Access Control List [Lista de controle de acesso]).

ASA-1(config)# show access-list bgp-in

access-list bgp-in; 2 elements; name hash: 0x3f99de19

access-list bgp-in line 1 standard deny 172.16.30.0 255.255.255.0 (hitcnt=1) 0xb5abad25

access-list bgp-in line 2 standard permit any4 (hitcnt=4) 0x59d08160

Da mesma forma, você pode usar uma ACL para filtrar o que é enviado com "out" no comando distribute-list.

Configuração de ASA BGP em Multi-Contexto

O BGP é suportado em vários contextos. No caso de multicontexto, você primeiro precisa definir o processo do roteador BGP no contexto do sistema. Se você tentar criar um processo BGP sem defini-lo no contexto do sistema, receberá este erro.

ASA-1/admin(config)# router bgp 100

%BGP process cannot be created in non-system context

ERROR: Unable to create router process

First we Need to define it in system context.

ASA-1/admin(config)#changeto context system

ASA-1(config)# router bgp 100

ASA-1(config-router)#exit

Now create bgp process in admin context.

ASA-1(config)#changeto context admin

ASA-1/admin(config)# router bgp 100

ASA-1/admin(config-router)#

Verificar

Verificar a vizinhança do eBGP

Verifique a conexão TCP na porta 179.

ASA-1(config)# show asp table socket

Protocol  Socket    State      Local Address                    Foreign Address

SSL       00001478  LISTEN     172.16.20.1:443                  0.0.0.0:*

TCP       000035e8  LISTEN     203.0.113.1:179                  0.0.0.0:*

TCP       00005cd8  ESTAB      203.0.113.1:44368                203.0.113.2:179

SSL       00006658  LISTEN     10.106.44.221:443                0.0.0.0:*

Mostre os vizinhos BGP.

ASA-1(config)# show bgp neighbors

BGP neighbor is 203.0.113.2,  context single_vf,  remote AS 200, external link >> eBGP

BGP version 4, remote router ID 203.0.113.2

BGP state = Established, up for 00:04:42

Last read 00:00:13, last write 00:00:17, hold time is 180, keepalive interval is

60 seconds

Neighbor sessions:

1 active, is not multisession capable (disabled)

Neighbor capabilities:

Route refresh: advertised and received(new)

Four-octets ASN Capability: advertised and received

Address family IPv4 Unicast: advertised and received

Multisession Capability:

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent       Rcvd

Opens:         1          1

Notifications: 0          0

Updates:       2          2

Keepalives:    5          5

Route Refresh: 0          0

Total:         8          8

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

Session: 203.0.113.2

BGP table version 7, neighbor version 7/0

Output queue size : 0

Index 1

1 update-group member

Sent       Rcvd

Prefix activity:         ----       ----

Prefixes Current:      3          3          (Consumes 240 bytes)

Prefixes Total:        3          3

Implicit Withdraw:     0          0

Explicit Withdraw:     0          0

Used as bestpath:      n/a        3

Used as multipath:     n/a        0

Outbound    Inbound

Local Policy Denied Prefixes: --------    -------

Bestpath from this peer:     3          n/a

Total:                       3          0

Number of NLRIs in the update sent: max 3, min 0

Address tracking is enabled, the RIB does have a route to 203.0.113.2

Connections established 1; dropped 0

Last reset never

Transport(tcp) path-mtu-discovery is enabled

Graceful-Restart is disabled

Rotas BGP

Configuração do ASA-1

ASA-1(config)# show route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is 10.106.44.1 to network 0.0.0.0

B        10.10.10.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

B        10.180.10.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

B        172.16.30.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

Configuração do ASA-2

ASA-2# show route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

B        10.106.44.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

B        172.16.20.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

B     192.168.10.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

Para ver rotas para um ASA específico, insira o comando show route bgp <AS-No.>.

ASA-1(config)# show route bgp ?

exec mode commands/options:

100  Autonomous system number

|    Output modifiers

<cr>

Detalhe de Rota eBGP Específica

ASA-1(config)# show route 172.16.30.0

Routing entry for 172.16.30.0 255.255.255.0

Known via "bgp 100", distance 20, metric 0

Tag 200, type external

Last update from 203.0.113.2 0:09:43 ago

Routing Descriptor Blocks:

* 203.0.113.2, from 203.0.113.2, 0:09:43 ago

Route metric is 0, traffic share count is 1

AS Hops 1-----------------------------------> ASA HOP is one

Route tag 200

MPLS label: no label string provided

ASA-1(config)# show bgp cidr-only

BGP table version is 7, local router ID is 203.0.113.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.10.10.0/24    203.0.113.2          0             0  200 i

*> 10.106.44.0/24   0.0.0.0              0         32768  i

*> 10.180.10.0/24   203.0.113.2          0             0  200 i

*> 172.16.20.0/24   0.0.0.0              0         32768  i

*> 172.16.30.0/24   203.0.113.2          0             0  200 i

Resumo de BGP

ASA-1(config)# show bgp summary

BGP router identifier 203.0.113.1, local AS number 100

BGP table version is 7, main routing table version 7

6 network entries using 1200 bytes of memory

6 path entries using 480 bytes of memory

2/2 BGP path/bestpath attribute entries using 416 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 2120 total bytes of memory

BGP activity 6/0 prefixes, 6/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

203.0.113.2     4          200 16      17             7    0    0 00:14:19  3

ASA-1(config)# show route summary

IP routing table maximum-paths is 3

Route Source    Networks    Subnets     Replicates  Overhead    Memory (bytes)

connected       0           8           0           704         2304

static          2           5           0           616         2016

ospf 1          0           0           0           0           0

Intra-area: 0 Inter-area: 0 External-1: 0 External-2: 0

NSSA External-1: 0 NSSA External-2: 0

bgp 100         0           3           0           264         864

External: 3 Internal: 0 Local: 0

internal        7                                               3176

Total           9           16          0           1584        8360

Verificar a vizinhança iBGP

ASA-1(config)# show bgp neighbors

BGP neighbor is 203.0.113.2,  context single_vf,  remote AS 100, internal link >> iBGP

BGP version 4, remote router ID 203.0.113.2

BGP state = Established, up for 00:02:19

Last read 00:00:13, last write 00:00:17, hold time is 180, keepalive interval is

60 seconds

Neighbor sessions:

1 active, is not multisession capable (disabled)

Neighbor capabilities:

Route refresh: advertised and received(new)

Four-octets ASN Capability: advertised and received

Address family IPv4 Unicast: advertised and received

Multisession Capability:

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent       Rcvd

Opens:         1          1

Notifications: 0          0

Updates:       2          2

Keepalives:    5          5

Route Refresh: 0          0

Total:         8          8

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

Session: 203.0.113.2

BGP table version 7, neighbor version 7/0

Output queue size : 0

Index 1

1 update-group member

Sent       Rcvd

Prefix activity:         ----       ----

Prefixes Current:      3          3          (Consumes 240 bytes)

Prefixes Total:        3          3

Implicit Withdraw:     0          0

Explicit Withdraw:     0          0

Used as bestpath:      n/a        3

Used as multipath:     n/a        0

Outbound    Inbound

Local Policy Denied Prefixes: --------    -------

Bestpath from this peer:     3          n/a

Total:                       3          0

Number of NLRIs in the update sent: max 3, min 0

Address tracking is enabled, the RIB does have a route to 203.0.113.2

Connections established 1; dropped 0

Last reset never

Transport(tcp) path-mtu-discovery is enabled

Graceful-Restart is disabled

Detalhe de rota iBGP específica

ASA-1(config)# show route 172.16.30.0

Routing entry for 172.16.30.0 255.255.255.0

Known via "bgp 100", distance 20, metric 0, type internal

Last update from 203.0.113.2 0:07:05 ago

Routing Descriptor Blocks:

* 203.0.113.2, from 203.0.113.2, 0:07:05 ago

Route metric is 0, traffic share count is 1

AS Hops 0            -------------------->> ASA HOP is 0 as it's internal route

MPLS label: no label string provided

Valor TTL para pacotes BGP

Por padrão, os vizinhos BGP precisam estar diretamente conectados. Isso ocorre porque o valor TTL para pacotes BGP é sempre 1 (padrão). Portanto, no caso de um vizinho BGP não estar diretamente conectado, você precisa definir um valor multi-hop BGP que depende de quantos saltos existem em todo o caminho.

Aqui está um exemplo de um caso de valor TTL de conectado diretamente:

ASA-1(config)#show cap bgp detail

5: 06:30:19.789769 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 70

203.0.113.1.44368 > 203.0.113.2.179: S [tcp sum ok] 3733850223:3733850223(0)

win 32768 <mss 1460,nop,nop,timestamp 15488246 0> (DF) [tos 0xc0]  [ttl 1] (id 62822)

6: 06:30:19.792286 a0cf.5b5c.5060 6c41.6a1f.25e3 0x0800 Length: 58

203.0.113.22.179 > 203.0.113.1.44368: S [tcp sum ok] 1053711883:1053711883(0)

ack 3733850224 win 16384 <mss 1360> [tos 0xc0]  [ttl 1] (id 44962)

7: 06:30:19.792302 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 54

203.0.113.1.44368 > 203.0.113.22.179: . [tcp sum ok] 3733850224:3733850224(0)

ack 1053711884 win 32768 (DF) [tos 0xc0]  [ttl 1] (id 52918)

Se os vizinhos não estiverem diretamente conectados, você precisará inserir o comando bgp multihop para definir quantos SALTOS um vizinho deve aumentar o valor TTL no cabeçalho IP.

Aqui está um exemplo de um valor TTL no caso de multi-hop (neste caso, o vizinho BGP está a 1 SALTO de distância):

ASA-1(config)#show cap bgp detail

5: 13:10:04.059963 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 70

203.0.113.1.63136 > 198.51.100.1.179: S [tcp sum ok] 979449598:979449598(0)

win 32768 <mss 1460,nop,nop,timestamp 8799571 0> (DF) [tos 0xc0]  (ttl 2, id 62012)

6: 13:10:04.060681 a0cf.5b5c.5060 6c41.6a1f.25e3 0x0800 Length: 70 198.51.100.1.179 >

203.0.113.1.63136: S [tcp sum ok] 0:0(0) ack 979449599 win 32768 <mss 1460,nop,nop,

timestamp 6839704 8799571> (DF) [tos 0xac]  [ttl 1] (id 60372)

7: 13:10:04.060696 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 66

203.0.113.1.63136 >198.51.100.1.179: . [tcp sum ok] 979449599:979449599(0) ack 1

win 32768 <nop,nop,timestamp 8799571 6839704> (DF) [tos 0xc0]  (ttl 2, id 53699)

Processo de resolução de rota recursiva

ASA-1(config)# show asp table routing

route table timestamp: 66

in   255.255.255.255 255.255.255.255 identity

in   203.0.113.1     255.255.255.255 identity

in   203.0.113.254  255.255.255.255 via 10.13.14.4, outside

in   192.0.2.78   255.255.255.255 via 10.16.17.4, DMZ

in   192.168.0.1     255.255.255.255 identity

in   172.16.20.1     255.255.255.255 identity

in   10.106.44.190   255.255.255.255 identity

in   10.10.10.0      255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 66)

in   172.16.30.0     255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 64)

in   10.180.10.0     255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 65)

in   203.0.113.0     255.255.255.0   outside

in   172.16.10.0     255.255.255.0   via 10.13.14.4, outside

in   192.168.10.0    255.255.255.0   via 10.13.14.20, outside

in   192.168.20.0    255.255.255.0   via 10.16.17.4, DMZ

in   172.16.20.0     255.255.255.0   inside

in   10.106.44.0     255.255.255.0   management

in   192.168.0.0     255.255.0.0     DMZ

ASA BGP e recurso de reinicialização normal

BGP support for nonstop forwarding

We added support for BGP Nonstop Forwarding.

We introduced the following new commands: bgp graceful-restart, neighbor ha-mode graceful-restart

Troubleshoot

- Após a configuração, você precisa garantir que os dois dispositivos tenham conectividade. Verifique a conectividade da porta 179 do ICMP e do TCP.

- Se os peers BGP não estiverem diretamente conectados, certifique-se de ter o eBGP multihop configurado.

- Se a conectividade estiver correta, o soquete TCP pode estar no estado ESTAB na saída do comando show asp table socket.
ASA-1(config)# show asp table socket

Protocol  Socket    State      Local Address                    Foreign Address

SSL       00001478  LISTEN     172.16.20.1:443                  0.0.0.0:*

TCP       000035e8  LISTEN     203.0.113.1:179                  0.0.0.0:*

TCP       00005cd8  ESTAB      203.0.113.1:44368                203.0.113.2:179

SSL       00006658  LISTEN     10.106.44.221:443                0.0.0.0:*

- Após um handshake triplo, ambos os peers trocam mensagens BGP OPEN e negociam parâmetros.

- Após a troca de parâmetros, ambos os peers trocam informações de roteamento com uma mensagem BGP UPDATE.

%ASA-7-609001: Built local-host identity:203.0.113.1

%ASA-7-609001: Built local-host outside:203.0.113.2

%ASA-6-302013: Built outbound TCP connection 14 for outside:203.0.113.2/179

(203.0.113.2/179) to identity:203.0.113.1/43790 (203.0.113.1/43790)

%ASA-3-418018: neighbor 203.0.113.2 Up

Se a vizinhança não for formada mesmo após um handshake triplo de TCP bem-sucedido, o problema está no BGP FSM. Colete uma captura de pacote e syslogs do ASA e verifique com qual estado você tem problemas.

Debug

Nota:Consulte Informações Importantes sobre Comandos de Depuração antes de usar comandos debug.

Insira o comando debug ip bgp para solucionar problemas relacionados à vizinhança e à atualização de roteamento.

ASA-1(config)# debug ip bgp ?

exec mode commands/options:

A.B.C.D     BGP neighbor address

events      BGP events

in          BGP Inbound information

ipv4        Address family

keepalives  BGP keepalives

out         BGP Outbound information

range       BGP dynamic range

rib-filter  Next hop route watch filter events

updates     BGP updates

<cr>

Insira o comando debug ip bgp events para solucionar problemas relacionados à vizinhança.

BGP: 203.0.113.2 active went from Idle to Active

BGP: 203.0.113.2 open active, local address 203.0.113.1

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Adding topology IPv4 Unicast:base

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Send OPEN

BGP: 203.0.113.2 active went from Active to OpenSent

BGP: 203.0.113.2 active sending OPEN, version 4, my as: 100, holdtime 180 seconds,

ID cb007101

BGP: 203.0.113.2 active rcv message type 1, length (excl. header) 34

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Receive OPEN

BGP: 203.0.113.2 active rcv OPEN, version 4, holdtime 180 seconds

BGP: 203.0.113.2 active rcv OPEN w/ OPTION parameter len: 24

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 1, length 4

BGP: 203.0.113.2 active OPEN has MP_EXT CAP for afi/safi: 1/1

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 2

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 128, length 0

BGP: 203.0.113.2 active OPEN has ROUTE-REFRESH capability(old) for all address-families

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 2

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 2, length 0

BGP: 203.0.113.2 active OPEN has ROUTE-REFRESH capability(new) for all address-families

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 65, length 4

BGP: 203.0.113.2 active OPEN has 4-byte ASN CAP for: 200

BGP: 203.0.113.2 active rcvd OPEN w/ remote AS 200, 4-byte remote AS 200

BGP: 203.0.113.2 active went from OpenSent to OpenConfirm

BGP: 203.0.113.2 active went from OpenConfirm to Established

Insira o comando debug ip bgp updates para solucionar problemas relacionados à atualização de roteamento.

BGP: TX IPv4 Unicast Mem global 203.0.113.2 Changing state from DOWN to WAIT

(pending advertised bit allocation).

BGP: TX IPv4 Unicast Grp global 4 Created.

BGP: TX IPv4 Unicast Wkr global 4 Cur Blocked (not in list).

BGP: TX IPv4 Unicast Wkr global 4 Ref Blocked (not in list).

BGP: TX IPv4 Unicast Rpl global 4 1 Created.

BGP: TX IPv4 Unicast Rpl global 4 1 Net bitfield index 0 allocated.

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Added to group (now has 1 members).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Staying in WAIT state

(current walker waiting for net prepend).

BGP: TX IPv4 Unicast Top global Start net prepend.

BGP: TX IPv4 Unicast Top global Inserting initial marker.

BGP: TX IPv4 Unicast Top global Done net prepend (0 attrs).

BGP: TX IPv4 Unicast Grp global 4 Starting refresh after prepend completion.

BGP: TX IPv4 Unicast Wkr global 4 Cur Start at marker 1.

BGP: TX IPv4 Unicast Grp global 4 Message limit changed from 100 to 1000 (used 0 + 0).

BGP: TX IPv4 Unicast Wkr global 4 Cur Unblocked

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Changing state from WAIT to ACTIVE

(ready).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 No refresh required.

BGP: TX IPv4 Unicast Top global Collection done on marker 1 after 0 net(s).

BGP(0): 203.0.113.2 rcvd UPDATE w/ attr: nexthop 203.0.113.2, origin i, metric 0,

merged path 200, AS_PATH

BGP(0): 203.0.113.2 rcvd 10.10.10.0/24

BGP(0): 203.0.113.2 rcvd 172.16.30.0/24

BGP(0): 203.0.113.2 rcvd 10.180.10.0/24-----------------> Routes rcvd from peer

BGP: TX IPv4 Unicast Net global 10.10.10.1/32 Changed.

BGP: TX IPv4 Unicast Net global 172.16.30.0/24 Changed.

BGP: TX IPv4 Unicast Net global 10.180.10.0/24 Changed.

BGP(0): Revise route installing 1 of 1 routes for 10.10.10.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 10.10.10.0/24 RIB done.

BGP(0): Revise route installing 1 of 1 routes for 172.16.30.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 172.16.30.0/24 RIB done.

BGP(0): Revise route installing 1 of 1 routes for 10.180.10.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 10.180.10.0/24 RIB done.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab Ready in READ-WRITE.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab All topologies are EOR ready.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab Executing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Processing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 1.

BGP: TX IPv4 Unicast Top global Appending nets from attr 0x00007ffecc9b7b88.

BGP: TX IPv4 Unicast Wkr global 4 Cur Attr change from 0x0000000000000000 to

0x00007ffecc9b7b88.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.10.10.0/24 Skipped.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 172.16.30.0/24 Skipped.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.180.10.0/24 Skipped.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Top global Added tail marker with version 4.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 4.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Wkr global 4 Cur Done (end of list), processed 1 attr(s),

0/3 net(s), 0 pos.

BGP: TX IPv4 Unicast Grp global 4 Checking EORs (0/1).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Send EOR.

BGP: TX IPv4 Unicast Grp global 4 Converged.

BGP: TX IPv4 Unicast Tab Processed 1 walker(s).

BGP: TX IPv4 Unicast Tab Generation completed.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 1.

BGP: TX IPv4 Unicast Top global Collection reached marker 1 after 0 net(s).

BGP: TX IPv4 Unicast Top global First convergence done.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 1.

BGP: TX IPv4 Unicast Top global Collection reached marker 1 after 0 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 4 after 3 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 4 after 0 net(s).

BGP: TX IPv4 Unicast Net global 192.168.10.0/24 Changed.

BGP: TX IPv4 Unicast Net global 172.16.20.0/24 Changed.

BGP: TX IPv4 Unicast Net global 10.106.44.0/24 Changed.

BGP(0): nettable_walker 10.106.44.0/24 route sourced locally

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 10.106.44.0/24

BGP: TX IPv4 Unicast Net global 10.106.44.0/24 RIB done.

BGP(0): nettable_walker 172.16.20.0/24 route sourced locally

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 172.16.20.0/24

BGP: TX IPv4 Unicast Net global 172.16.20.0/24 RIB done.

BGP(0): nettable_walker 192.168.10.0/24 route sourced locally---------> Routes

advertised

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 192.168.10.0/24

BGP: TX IPv4 Unicast Net global 192.168.10.0/24 RIB done.

BGP: TX IPv4 Unicast Tab RIB walk done version 8, added 1 topologies.

BGP: TX IPv4 Unicast Tab Executing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Processing.

BGP: TX IPv4 Unicast Top global Appending nets from attr 0x00007ffecc9b7c70.

BGP: TX IPv4 Unicast Wkr global 4 Cur Attr change from 0x0000000000000000 to

0x00007ffecc9b7c70.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 10.106.44.0/24 Set advertised bit (total 1).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.106.44.0/24 Formatted.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 172.16.20.0/24 Set advertised bit (total 2).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 172.16.20.0/24 Formatted.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 192.168.10.0/24 Set advertised bit (total 4).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 192.168.10.0/24 Formatted.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Top global Added tail marker with version 8.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 8.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Wkr global 4 Cur Replicating.

BGP: TX IPv4 Unicast Wkr global 4 Cur Done (end of list), processed 1 attr(s),

4/4 net(s), 0 pos.

BGP: TX IPv4 Unicast Grp global 4 Start minimum advertisement timer (30 secs).

BGP: TX IPv4 Unicast Wkr global 4 Cur Blocked (minimum advertisement interval).

BGP: TX IPv4 Unicast Grp global 4 Converged.

BGP: TX IPv4 Unicast Tab Processed 1 walker(s).

BGP: TX IPv4 Unicast Tab Generation completed.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 4.

BGP: TX IPv4 Unicast Top global Collection reached marker 4 after 0 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 8 after 4 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 8 after 0 net(s).

BGP: TX Member message pool under period (60 < 600).

BGP: TX IPv4 Unicast Tab RIB walk done version 8, added 1 topologies.

Insira estes comandos para solucionar este recurso:

- show asp table socket

- show bgp neighbor

- show bgp Summary

- show route bgp

- show bgp cidr-only

- show route summary