Quagga continua anunciando rotas

4

Eu configurei o BGP em dois roteadores usando o qugga. Quando desço a interface que contém o bloco de IPs que estou anunciando, zerba remove a rota da sua tabela, mas o bgpd continua anunciando. Eu posso ver que ainda é anunciado através das tabelas BGP vizinhas, bem como o comando show ip bgp nei 172.16.14.1 ad do roteador que está fazendo a publicidade. Essa interface contém a rota completa que está sendo anunciada, portanto, não há agregação.

Como alguém se depara com isso antes ... parece fundamentalmente quebrar a principal funcionalidade de um protocolo de roteamento ...

Atualização:
Então, no roteador eu tenho o seguinte para uma tabela BGP.

so-rt1# show ip bgp
BGP table version is 0, local router ID is 172.16.14.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0          12.12.12.12                   200      0 5555 i
*  15.15.15.0/24    172.16.14.2              0    100      0 i
*>                  0.0.0.0                  0         32768 i

Total number of prefixes 2

Para a rede 15.15.15.0/24, que eu anuncio, a rota de conexão direta (a última entrada) é a rota preferida. Se eu desligar a interface que contém 15.15.15.0/24, não só a rota diretamente conectada não é removida da tabela BGP, ainda é a rota preferida. Então, depois de desligar essa interface, a tabela BGP permanece exatamente a mesma.

A Zebra está ciente de que a rota 15.15.15.0/24 diretamente conectada não está mais lá. Eu vejo isso com show ip route enquanto a interface está ativa e a entrada sumiu quando eu desliguei. Então, o problema que eu acho é que a tabela do BGP de alguma forma não está obtendo as atualizações que eu acredito que deveria da zebra.

    
por Kyle Brandt 21.07.2010 / 17:43

1 resposta

2

Se eu entendi a pergunta corretamente, você tem uma rota IGP (ou local) para a rede e a anota no BGP. Quando a rota desaparece no IGP (ou local) você quer que o BGP puxe a rota.

Se esse for o caso, você está fazendo coisas erradas (TM), e Quagga não permitirá que você faça isso facilmente. Do manual para o comando de rede:

BGP: network A.B.C.D/M

    This command adds the announcement network.             

    router bgp 1
     network 10.0.0.0/8

    This configuration example says that network 10.0.0.0/8 will be announced 
    to all neighbors. Some vendors' routers don't advertise routes if they 
    aren't present in their IGP routing tables; bgp doesn't care about IGP 
    routes when announcing its routes. 

Isso se deve ao aumento de flapping que você pode obter facilmente se exportar informações de IGP no BGP. Nós já temos uma rota suficiente na internet, e é considerado uma má prática redistribuir informações de roteamento do IGP para o BGP. O BGP não é um IGP e não o utiliza como um;)

Além disso, eu não consigo ver casos bons para puxar a rota da Internet (ela causa um flapping e você corre o risco de ficar umedecido por horas ou dias), a menos que você esteja acabando em uma situação de split-AS a rota desapareceu e deseja proteger-se dos problemas de roteamento estranhos que isso pode causar. (Nesse caso, você deve considerar se deseja que o roteador permaneça on-line. As situações do Split-AS são desagradáveis!)

A solução correta (TM) é deixar a rota o mais estável possível, independentemente do que seu IGP esteja fazendo. Se você perder a conexão com a rede, basta soltar o tráfego localmente. Certifique-se de não voltar ao seu provedor de trânsito se a rota IGP para a rede estiver inoperante.

A regra básica é "nunca altere seus anúncios do BGP, a menos que seja algo que toda a Internet tenha que conhecer". Que o seu IGP está batendo não é algo que o resto da Internet se preocupa.

Editar:

Pelo que entendi, sua rede é assim:

Provider (AS 5555) --------------------- Provider (AS 5555)
 (12.12.12.12)                                   |
     | eBGP                                      |eBGP
     |                                           |
  Router1---------15.15.15.0/24---------------Router2
172.16.14.1                                 172.16.14.2
     |                  iBGP                     |
      --------------------------------------------

E o seu problema é que se você derrubar a interface no Roteador1 em direção a 15.15.15.0/24, você quer que ele pare de anunciar a rede para que você mude os dados para 172.16.14.2. Esse tipo de mudança automática na sua política de peering não é algo que você normalmente faz, e até onde eu sei, não é algo suportado pelo Quagga. Em vez disso, espera-se que você redirecione os dados pelo IGP e mantenha seus colegas estáticos. Se você fizesse alterações em seus peerings, alteraria o MED (MULTI_EXIT_DISC) para direcionar o tráfego para o roteador correto.

Observe que, se a remoção de 15.15.15.0/24 dividir seu AS, você terá modos de falha adicionais, nenhum deles é bom.

    
por 21.07.2010 / 18:22