• 文章搜索:
  • 灵犀一指

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    神仙眷侣走江湖——OSPF与BFD联动后BFD Session DOWN问题排查技巧

    作者:  |  上传时间:2014-05-20  |  关键字:神仙眷侣走江湖——OSPF与BFD联动后BFD Session DOWN问题排查技巧

    某日,因特奈特王朝天子一袭圣旨昭告天下:各大IP门派需安装号称“神器”的路由器,由朝廷统一管理维护,以便加强对各门派的管理。各派掌门平日深感因特奈特天子之皇恩浩荡,纷纷群起呼应。

    按照王朝之规划,东方大派“华三派”将与西方大派“哈尼派”等数大门派使用OSPF协议对接。华三派果断使用江湖人称“琉琉”的SR6602-X路由器。“琉琉”性能出众,稳定性强,曾获众江湖前辈的交口称赞。

    网络既成,OSPF协议得以稳定运行。但天有不测风云,数月后,东方大陆出现了一场规模不大的地震,却偏偏将“琉琉”与“哈尼派”设备连接的光纤震断了!这次故障导致“华三派”与“哈尼派”之间的通信中断了数十秒之久,造成了严重的损失。

    这场意外使“华三派”决定拿出自身的看家本领:BFD。OSPF与BFD号称一对“神仙眷侣”,在江湖中相伴相随。使用OSPF与BFD联动后,链路再次中断时,业务可迅速切换至其它链路。

    由于“哈尼派”设备无法支持BFD功能,所以“琉琉”配置了BFD ECHO方式。负责配置的是“华三派”资深工程师小Z。小Z混迹江湖多年,个人问题仍然没有解决,十分倾慕OSPF和BFD的不离不弃。但此次配置完成后,使用display bfd sesion命令查看,却发现状态为DOWN:

    [SR6602-X]display bfd session

    Total session number: 1 Up session number: 0 Init mode: Active

    IPv4 session working under Echo mode

    LD SourceAddr DestAddr State Holdtime Interface

    4099 10.0.0.1 10.0.0.2 Down / GE0/0/1

    OSPF和BFD居然分开了!小Z是个重情重义之人,决定帮二者团圆:

    1、首先排查“琉琉”BFD配置是否正确。

    (1)“琉琉”需在G0/0/1口使能OSPF BFD功能,检查后,发现配置正确无误:

    #

    interface GigabitEthernet0/0/1

    ……

    ospf bfd enable echo //此命令需要加echo参数

    #

    (2)在“琉琉”上需配置BFD ECHO报文源地址,检查后,正确无误:

    #

    interface LoopBack0

    ip address 1.1.1.1 255.255.255.255

    #

    bfd echo-source-ip 1.1.1.1

    #

    注:建议将BFD ECHO报文的源地址配置成“琉琉”的Loopback地址。

    2、在“琉琉”上使用debug命令查看BFD报文的收发情况:

    #

    acl number 3000

    rule 0 permit ip source 1.1.1.1 0 destination 10.0.0.1 0 //匹配BFD ECHO报文的源地址、目的地址

    #

    <SR6602>terminal debugging

    Info: Current terminal debugging is on.

    <SR6602>terminal monitor

    Info: Current terminal monitor is on.

    <SR6602>debugging ip packet acl 3000

    此时“琉琉”弹出大量DEBUG信息,以下DEBUG可见其能够发出BFD报文,也能够收到对端路由器回复的BFD报文:

    *Jan 26 00:20:59:860 2014 SR6602-X DPIPFWD/7/debug_case:

    Sending, interface = GigabitEthernet0/0/1, version = 4, headlen = 20, tos = 192,

    pktlen = 46, pktid = 1243, offset = 0, ttl = 255, protocol = 17,

    checksum = 0, s = 1.1.1.1, d = 10.0.0.1

    prompt: Sending the packet from local

    *Jan 26 00:20:59:860 2014 SR6602-X DPIPFWD/7/debug_case:

    Receiving, interface = GigabitEthernet0/0/1, version = 4, headlen = 20, tos = 192,

    pktlen = 46, pktid = 1243, offset = 0, ttl = 254, protocol = 17,

    checksum = 43809, s = 1.1.1.1, d = 10.0.0.1

    prompt: Receiving IP packet

    注:如果“琉琉”无法收到对端路由器回复的BFD报文,请检查:

    (1)“琉琉”是否存在影响将BFD报文发给“哈尼派”设备的配置。

    (2)“哈尼派”设备的相关配置。

    3、检查“琉琉”配置,看是否存在配置影响到BFD报文上送自身CPU

    此步骤主要排查“琉琉”G0/0/1接口配置,看是否存在NAT、PBR、Firewall等。通过排查,发现G0/0/1接口配置了入方向的Firewall:

    #

    interface GigabitEthernet0/0/1

    firewall packet-filter 3001 inbound

    ……

    #

    acl number 3001

    ……

    rule 85 deny udp //BFD ECHO报文为UDP报文,这条规则导致BFD ECHO报文被过滤掉,从而无法上送CPU

    #

    此时,小Z终于找到了导致BFD Session无法UP的原因。所以后续对这条规则进行处理:

    (1)R24XX及之前的版本:将此条规则删除后,需在用户视图下使用reset session命令重建会话。

    (2)R26XX及之后的版本:将此条规则删除即可。

    此时,在“琉琉”上发现BFD Session UP了,问题得到解决。小Z松了一口气:“OSPF呀BFD,终于让你二人团聚了,你们也祝我早日寻到心中的佳人吧!”

    [SR6602-X]dis bfd session

    Total session number: 1 Up session number: 1 Init mode: Active

    IPv4 session working under Echo mode:

    LD SourceAddr DestAddr State Holdtime Interface

    4102 10.0.0.1 10.0.0.2 Up 2000ms GE0/0/1