Rotas aprendidas do eBGP não distribuídas aos vizinhos do iBGP


8

Eu tenho (no GNS3) três Cisco 3640s executando 12.4 (23) conectados em série (R1 -> R2 -> R3). R1 e R2 são pares de eBGP, R2 e R3 são pares de iBGP. R1 anuncia a rede 192.168.1.0/24. R2 recebe essa rota, mas não a anuncia para R3.

As rotas aprendidas com o eBGP não devem ser anunciadas para o iBGP?

Aqui está a configuração completa conforme inserida:

loop0(R1)s0/0 <--> s0/0(R2)s0/1 <--> s0/1(R3)

R1:
configure terminal
interface s0/0
ip address 172.16.1.1 255.255.255.252
no shutdown
interface loopback0
ip address  192.168.1.1 255.255.255.0
router bgp 1
neighbor 172.16.1.2 remote-as 2
network 192.168.1.0 mask 255.255.255.0

R2:
configure terminal
interface s0/0
ip address 172.16.1.2 255.255.255.252
no shutdown
interface s0/1
ip address 172.16.1.5 255.255.255.252
no shutdown
router bgp 2
neighbor 172.16.1.1 remote-as 1
neighbor 172.16.1.6 remote-as 2

R3:
configure terminal
interface s0/1
ip address 172.16.1.6  255.255.255.252
no shutdown
router bgp 2
neighbor 172.16.1.5 remote-as 2

Respostas:


14

Supondo que você não tenha IGP configurado (como EIGRP / OSPF / ISIS / RIP), a explicação mais simples é que o R3 não tem uma rota para o próximo salto do 192.168.1.0/24 quando a atualização do iBGP chegar ao R3.

loop0(R1)s0/0 <-----------> s0/0(R2)s0/1 <-------------> s0/1(R3)
    AS 1                       AS 2                        AS 2

              --------->                  ----------->
              Prefix: 192.168.1.0/24      Prefix: 192.168.1.0/24
              AS-path: 1                  AS-path: 1
              Next-hop: 172.16.1.1        Next-hop: 172.16.1.1
              *via eBGP*                  *via iBGP*

Como o iBGP não redefine o salto seguinte quando recebe a atualização do R1, o salto seguinte do 192.168.1.0/24 (172.16.1.1) deve ser acessível (consulte Por que os roteadores ignoram os caminhos BGP para obter mais detalhes).

A maneira mais básica de testar isso é configurar uma estática no R3:

ip route 172.16.1.0 0.0.0.3 172.16.1.5 name BAD_HACK_FOR_IBGP

Essa é obviamente a solução errada, mas é um teste simples para ilustrar por que as coisas estão quebradas (lembre-se de que talvez você precise esperar um pouco para que o scanner de próximo salto BGP seja executado antes da instalação da rota 192.168.1.0/24) .

Existem duas soluções possíveis que vêm à mente, mas apenas uma realmente faz sentido na maioria das redes ...

  • Melhor solução : Configure um IGP ... escolha o IGP que desejar e anuncie 172.16.1.0/30 em todo o AS 2 nesse IGP
  • Solução opcional : configure a sessão de emparelhamento entre R2 e R3 para definirnext-hop-self

A acessibilidade no próximo salto é um dos problemas mais básicos ao entender o BGP; quase todo mundo se depara com esse problema quando está experimentando o protocolo.


11
Excelente explicação. Eu não sabia que o iBGP passa o próximo salto sem modificação.
precisa saber é o seguinte

Mike, você poderia fornecer um exemplo de quando não gostaria de usar next-hop-self(além de já ter um IGP anunciando o endereço de próximo salto do par do eBGP)? Inicialmente, eu faria outra pergunta para isso, mas achei que seria uma adição fácil à sua resposta. Recentemente, tendo pesquisado o BGP, e eu continuo correndo para isso, fico curioso para saber por que next-hop-self não era o comportamento padrão.
Edd

Posso adicionar informações sobre isso, mas pode demorar alguns dias até eu ter tempo. Breve história: O custo do IGP para o próximo salto do BGP faz parte do algoritmo de seleção de caminho padrão do eBGP
Mike Pennington

0

Você deve anunciar suas interfaces conectadas no R2. porque a única rede 192.168.1.0 não faz agora o que é o próximo salto. Você pode verificar com "show ip bgp" no R3.

Como você pode ver 192.168.1.0 na tabela R3 bgp, mas não inserida na tabela de roteamento. Porque não sabe qual é o próximo salto

Solução:

  1. Redistribuir interfaces conectadas no R2
  2. Diga ao vizinho do EBGP que quem é o próximo salto como " vizinho 172.16.1.2 next-hop-self " no R1 .
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.