使用zebra搭建BGP Route-Server示例

digest agree 精华[复制链接]
发表于 : 2017-11-25 16:01:30 最新回复:2017-11-30 14:29:08
1976 10
忧郁的红雨伞  导师  

各位好
    相信大家都听过IXP(NAP)的概念也就是帮助多ISP互联的第三方组织这类组织除了提供基础设施和传输资源外通常还会部署BGP Route Server来解决EBGP全互联的问题下面通过一个在Linux上的开源路由工具zebra演示Route Server的简单工作原理。
      






   示意图1主要说明多个AS通过IXP基础传输链路设施互联如果需要互联就需要在多AS边界路由器间建立Full的EBGP邻居在引入Route Server后所有AS边界路由器仅需要与RS建立EBGP邻居关系由RS在各AS间“反射路由”。
   使用eNSP与Linux配合完成一个简答的实验拓扑使用网云工具与主机物理网卡桥接主机中运行一个Ubuntu虚拟机与物理网卡桥接在其上运行zebra工具作为Route Server。
        
     按照上图的示意配置个路由器接口的IP地址并根据AS关系分别与Route Server192.168.10.254 AS100建立EBGP邻居关系为了便于测试RS的路由策略功能同时在AS10、20BGP路由器上宣告12.1.1.0/24前缀在AS30、40 BGP路由器上宣告34.1.1.0/24前缀。
   RS的BGP配置如下将R1、2、3、4指定为自身的RS-Client          
  在BGP邻居建立完毕后查看RS的BGP RIB信息可以看到RS的BGP RIB中已经学到了各AS宣告的12.1.1.0/24、34.1.1.0/24前缀。

        由于RS的作用是在不同AS之间反射路由因此在自身的路由表中并不会保存这些有效的BGP路由因此在Linux主机上仅有两条直连路由。


   通过在RS上配置针对R2与R4邻居部署路由导入策略以实现R2与R4之间的路由控制策略如下
 
         这些策略的目的是在RS上控制想R2和R4所通告的路由前缀策略内的逻辑关系是match相应的BGP邻居地址然后调用相应的路由过滤、操作策略例如本例中的AS4的import策略主要是为了实现向R4路由器通告路由时仅通告用R2路由器通告的12.1.1.0/24前缀并同时将路由的MED值设置为20.        在正确配置并针对相应邻居应用策略后通过在各RS-client上验证策略的生效情况 1.在R1路由器上查看BGP路由表34.1.1.0/24前缀的优选BGP路由有R3192.168.10.253 AS4发布的
<RS-Client-AS10>display bgp routing-table 
 BGP Local router ID is 1.1.1.1  
Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 3      
Network                   NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   12.1.1.0/24               0.0.0.0         0                     0      i *                               
                                   192.168.10.252  0                     0      20i
 *>   34.1.1.0/24        192.168.10.253  0                     0      30i
2.而在R2路由器上查看BGP路由表34.1.1.0/24前缀的优选路由为R4192.168.10.44 AS4发布的另外在R2的BGP表中也不存在R1路由器发布的12.1.1.0/24前缀因为该路由前缀并不在RS上针对R2配置的导入规则的允许规则中R4发布的34.1.1.0/24前缀的MED值也根据策略设置为300

<RS-client-AS20>display bgp routing-table 
 BGP Local router ID is 2.2.2.2  
Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 2      
Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   12.1.1.0/24        0.0.0.0                 0                     0      i 
*>   34.1.1.0/24        192.168.10.44   300                   0      40i

3.同理在R3与R4路由器上针对12.1.1.0/24前缀也有类似结果R4路由器接收的R2路由器宣告的12.1.1.0/24前缀的MED也能根据策略设置为了20
<RS-Client-AS30>display bgp routing-table  
BGP Local router ID is 3.3.3.3  
Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 3      
Network                      NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   12.1.1.0/24        192.168.10.251  0                     0      10i 
*>   34.1.1.0/24               0.0.0.0         0                     0     
 i *                              192.168.10.44   0                     0      40i

<RS-Client-AS40>display bgp routing-table 
 BGP Local router ID is 4.4.4.4  
Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 2      
Network                  NextHop               MED        LocPrf    PrefVal Path/Ogn
 *>   12.1.1.0/24        192.168.10.252  20                    0      20i 
*>   34.1.1.0/24        0.0.0.0                  0                     0      i

4.在R1与R2路由器上分别使用12.1.1.1作为源地址tracert 34.1.1.1可以看到数据被分别转发到了R3与R4而并没有根据RS优选过后的BGP路有更新均发送给R1路由器

<RS-Client-AS10>tracert -a 12.1.1.1 34.1.1.1
 traceroute to  34.1.1.1(34.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break 
 1 192.168.10.253 90 ms  40 ms  40 ms 

<RS-client-AS20>tracert -a 12.1.1.1 34.1.1.1
 traceroute to  34.1.1.1(34.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break 
 1 192.168.10.44 70 ms  50 ms  50 ms 

   另外在完成RS的配置后在所有的RS-Client路由器收到RS发射的路由更新后会出现下面的错误提示并重置BGP邻居关系   
   <RS-Client-AS10>Nov 25 2017 15:51:27-08:00 RS-Client-AS10 %BGP/3/STATE_CHG_UPDOWN(l)[2]:The status of the peer 192.168.10.254 changed from ESTABLISHED to IDLE. (InstanceName=Public, StateChangeReason=First AS not Equal to Peer AS)      
      该问题原因是EBGP邻居在向邻居发送Update时会将自身的AS number 添加到AS-list的最前面接收到的EBGP邻居接收到该更新后会检测第一个AS Number是不是该EBGP邻居的AS number可通过下面命令关闭该行为
    <RS-Client-AS10>system-view
            Enter system view, return user view with Ctrl+Z.
   [RS-Client-AS10]bgp 10        
   [RS-Client-AS10-bgp]undo check-first-as 
      最后有一句话对RS做一个简单小结RS可以被作为一台EBGP RR使用在不同的EBGP邻居间发射路由同时在反射路由器的时候还可以配置超越BGP选路规则的路由策略从而实现多AS互联时的集中路由控制。
  
      通过查看R4的有关12.1.1.0/24前缀的BGP RIB表项可以看到虽然该路由器使用RS192.168.10.254发送的但是原始下一跳并没有做改变同时MED 20值也按策略修改为了20这也证明了RS仅仅是在RS-Client间反射路由那么如果R4要访问12.1.1.0/24前缀数据包会直接转发给R2的接口地址192.168.10.252而不会经过RS转接。


<RS-Client-AS40>display bgp routing-table 12.1.1.0 24
 BGP local router ID : 4.4.4.4 Local AS number : 40
 Paths:   1 available, 1 best, 1 select 
BGP routing table entry information of 12.1.1.0/24: From: 192.168.10.254 (10.255.255.255) 
Route Duration: 00h23m10s  
 Direct Out-interface: GigabitEthernet0/0/0 
Original nexthop: 192.168.10.252 
Qos information : 0x0 
AS-path 20, origin igp, MED 20, pref-val 0, valid, external, best, select, active, pre 255 Not advertised to any peer yet
 
谢谢。
本帖最后由 忧郁的红雨伞 于 2017-11-25 16:06 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1E币 +10 收起 理由
馥紫 + 10 赞一个

查看全部评分

  • x
  • 常规:

点评 回复

壹粥壹菜壹世界
跳转到指定楼层
社区管理员咕噜噜  管理员   发表于 2017-11-25 16:48:22 已赞(0) 赞(0)

厉害啦,楼主,赞!
  • x
  • 常规:

点评 回复

企业互动社区精华帖管理规则
关注!关注!关注!
社区管理员咕噜噜  管理员   发表于 2017-11-25 16:49:21 已赞(0) 赞(0)

  • x
  • 常规:

点评 回复

ibm_titan 发表于 2017-11-30 09:34
谢谢咕噜噜管理员艾特,O(∩_∩)O哈哈~ 
共祝愿祖国好 发表于 2017-11-27 00:58
感谢! 
企业互动社区精华帖管理规则
关注!关注!关注!
忧郁的红雨伞  导师   发表于 2017-11-25 16:54:25 已赞(0) 赞(0)

感谢。不过还差的很远。
  • x
  • 常规:

点评 回复

壹粥壹菜壹世界
伟正  新锐   发表于 2017-11-25 22:36:46 已赞(0) 赞(0)

谢谢分享!
  • x
  • 常规:

点评 回复

ibm_titan  新锐   发表于 2017-11-30 09:34:41 已赞(0) 赞(0)

讲的不错,太多,慢慢消化吧!O(∩_∩)O哈哈~
  • x
  • 常规:

点评 回复

忧郁的红雨伞  导师   发表于 2017-11-30 12:13:33 已赞(0) 赞(0)

感谢。
  • x
  • 常规:

点评 回复

壹粥壹菜壹世界
zsl_jacky     发表于 2017-11-30 12:17:37 已赞(0) 赞(0)

讲的太好了,谢谢分享!很好的学习资料!
  • x
  • 常规:

点评 回复

忧郁的红雨伞  导师   发表于 2017-11-30 14:29:08 已赞(0) 赞(0)

zsl_jacky 发表于 2017-11-30 12:17 讲的太好了,谢谢分享!很好的学习资料!
感谢。
  • x
  • 常规:

点评 回复

壹粥壹菜壹世界
发表回复
您需要登录后才可以回帖 登录 | 注册

如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
快速回复 返回顶部