linux – Quagga不断宣布下线路线

我使用qugga在两台路由器上设置了BGP.当我关闭保存我正在宣传的IP块的接口时,zerba会从其表中删除路由,但bgpd会继续对其进行广告宣传.我可以看到它仍然通过相邻的BGP表以及来自正在进行广告的路由器的show ip bgp nei 172.16.14.1 ad命令进行通告.此接口保存正在通告的完整路由,因此没有聚合.

正如任何人之前遇到过这样……它似乎从根本上打破了路由协议的主要功能……

更新:
所以在路由器中我有以下的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

对于我宣布的15.15.15.0/24网络,直接连接路由(最后一个条目)是首选的路由.如果我关闭了保存15.15.15.0/24的接口,不仅直接连接的路由没有从BGP表中删除,它仍然是首选路由.因此,在关闭该接口后,BGP表保持完全相同.

Zebra知道直接连接的15.15.15.0/24路由不再存在.当界面启动时我用show ip route看到它,当我关闭它时输入就消失了.所以我认为问题是BGP表在某种程度上没有得到我认为应该来自zebra的更新.

解决方法

如果我正确理解了这个问题,你就有了一条通往网络的IGP(或本地)路由,并通过BGP对其进行了通知.当路由在IGP(或本地)中消失时,您希望BGP拉出路由.

如果是这样你就错了(TM),而且Quagga不会让你轻易做到这一点.从network命令的手册:

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.

这是因为如果在BGP中导出IGP信息,可以轻松获得增加的振荡.我们已经在互联网上有足够的路由流失,并且将路由信息从IGP重新分配到BGP中被认为是不好的做法. BGP不是IGP,不要滥用它;)

此外,我无法真正看到从互联网上拉出路线的任何好的情况(它会导致拍打,你可能会受到几个小时或几天的挫折),除非你最终陷入分裂AS的情况,如果这条特定的路线消失了并希望保护自己免受可能导致的奇怪路由问题. (在这种情况下,您应该考虑是否希望路由器保持在线状态.分离AS的情况很糟糕!)

正确的解决方案(TM)是让路线保持尽可能稳定,无论您的IGP在做什么.如果丢失了与网络的连接,只需在本地丢弃流量即可.如果到网络的IGP路由已关闭,请确保不将其循环回到传输提供商.

基本规则是“永远不要改变你的BGP公告,除非它是整个互联网必须知道的东西”.您的IGP正在徘徊不是互联网其他人关心的问题.

编辑:

根据我的理解,您的网络看起来像这样:

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                     |
      --------------------------------------------

而你的问题是,如果你把Router1上的接口转向15.15.15.0/24,你希望它停止宣布网络,所以你将数据移到172.16.14.2.这种类型的自动更改你的对等策略不是你通常做的事情,据我所知,不是Quagga支持的东西.相反,您需要通过IGP重新路由数据并使您的对等方保持静态.如果您要对对等进行更改,则可以更改MED(MULTI_EXIT_disC)以将流量引导到正确的路由器.

请注意,如果取下15.15.15.0/24拆分您的AS,则会有其他故障模式,这些模式都不是很好.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...