• 文章搜索:
  • 灵犀一指

        • 分享到...

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

    楚留香传奇之龙泉VPN缺省路由丢失谜案

    作者:  |  上传时间:2014-11-26  |  关键字:楚留香传奇之龙泉VPN缺省路由丢失谜案

    这是艘精巧的三桅船,洁白的帆,狭长的船身,坚实而光润的木质,给人一种安定、迅速,而华丽的感觉。

    这是初夏,阳光灿烂,海水湛蓝,海鸥轻巧地自船桅间滑过,生命是多彩的,充满了青春的欢乐。

    往常这个时节,他要么舒适地躺在甲板上,让温暖的阳光晒着他宽阔的、赤裸着的、古铜色的背,感受海风温暖而潮湿,从船舷穿过,吹起他漆黑的头发,要么与好友美人执杯浅酌,谈笑人生。

    海天辽阔,远处的地平线已只剩下一片朦胧的灰影,这里是他自己的世界,绝不会有他厌恶的访客。

    可今日,他却被一件来历不明的物什挑起了兴致。看着桌上不知何时出现的信笺,楚留香挑了下眉头。可知蓉蓉、甜儿和红袖下船去采买,船此时仅停靠岸边不过半个时辰,虽只剩他一人,可楚留香自信,能在他毫无察觉的情况下将信放在桌上之人,江湖上寥寥无几。且此信笺纸为淡蓝,带着郁金香的香气,分明与他平时“踏月留香”的信笺一般无二。

    既然出现在此处,那该是想让他查看了。待确认无毒后,楚留香打开信笺,看到落款之人不由苦笑,竟是他,也就难怪了。只见信上所述“近期偶遇一谜题,欲与君探讨,明晚湖边,盼与君一见。”楚留香不由生了好奇心,可知那人不但诗、词、书、画,样样妙绝,精通的实在太多,让他感到为难的……,嘿,楚留香的兴致顿时由五分提到了十分,明晚,定要打探个清楚。

    是夜,湖畔,楚留香如约而至。

    烟水迷蒙中,湖上竟泛着一叶孤舟。孤舟上端坐着个身穿月白色僧衣的少年僧人,正在扶琴。星月相映下,只见他目如朗星,唇红齿白,面目皎好如少女,而神情之温文,风采之潇洒,却又非世上任何女子所能比拟。

    他全身上下,看来一尘不染,竟似方自九天之上垂云而下。

    楚留香眨着眼睛笑了,目中闪动着顽皮、幽默的光芒,无声跃入水中潜至舟旁,才冒出个头来,道:“大师心中,竟也有什么过不去的事么?”

    叮咚一声,琴音骤顿,那僧人虽也吃了一惊,但神态却仍然不失安详,寒目瞧了一眼,展颜笑道:“楚兄每次来见贫僧时,难道都要湿淋淋的么?”

    这少年僧人正是名满天下的“妙僧”无花。

    既然人已到,无花收起琴,拿出一个盒子递给楚留香:“前日无意间得来,竟至今未曾想到解法,觉得有趣,便邀楚兄一起探讨”。

    “世间竟也有你秒僧无花解不了的难题,那我可要好好想想”楚留香笑着接过盒子,打开一看,是一张纸,写了江湖上最近发生的一件谜题,内容如下:

    益州、司州、徐州的运营商边缘交换机同属于MPLS骨干网,通过运行MP-BGP传递私网VPN-IPv4路由信息,益州PE为H3C S8512交换机,司州PE与徐州PE为H3C S9512E交换机,荆州龙泉山庄的网络边缘设备为H3C S5500EI交换机。龙泉山庄CE分别与益州PE、司州PE、徐州PE设备相连,从而实现多归属,在龙泉山庄CE上与益州PE、司州PE、徐州PE的互连端口绑定同一VPN实例,并加入到OSPF多实例进程。为实现益州PE、司州PE、徐州PE两两之间的VPN私网流量优先通过MPLS骨干传送,益州PE和司州PE、司州PE和徐州PE之间建立了OSPF Sham Link。因江湖纷争,龙泉山庄庄主与益州牧不和,两方门客盛怒之下竟将益州PE和龙泉山庄CE之间的物理链路拆除。既然益州PE和龙泉山庄CE之间没有了直连物理链路,那么留着益州PE和司州PE之间的OSPF Sham Link也是多余,遂将益州PE与司州PE之间的Sham Link一并拆除。本以为这一小小的改动不会有何影响,可谁知网络变更完成之后龙泉山庄的门客如疯魔一般到处惹是生非,一打听原来是龙泉山庄CE无法上网,VPN私网业务全部中断!这时方才发现,龙泉山庄CE上的VPN默认路由竟然不胫而走。

    附上网络拓扑图谱一卷:

    删除Sham Link之前,龙泉CE侧可学到所有VPN私网路由和缺省路由,路由信息如下:

    < S5500>display ip routing-table vpn-instance LXSZ_VPN

    Routing Tables: LXSZ_VPN

    Destinations : 10 Routes : 10

    Destination/Mask Proto Pre Cost NextHop Interface

    0.0.0.0/0 O_ASE 150 1 10.135.232.126 Vlan32

    10.135.232.29/32 Direct 0 0 127.0.0.1 InLoop0

    10.135.232.120/30 Direct 0 0 10.135.232.122 Vlan31

    10.135.232.122/32 Direct 0 0 127.0.0.1 InLoop0

    关于0.0.0.0缺省路由的Type5 LSA如下,删除Sham Link前后缺省路由的Type5 LSA没有任何变化:

    OSPF LSDB ASE 信息

    益州PE发布的Type5 LSA

    司州PE发布的Type5 LSA

    徐州PE发布的Type5LSA

    Type : External

    LS ID : 0.0.0.0

    Adv Rtr : 10.135.232.1

    LS Age : 1213

    Len : 36

    Options : None

    Seq# : 80003283

    Checksum : 0x861c

    Net Mask : 0.0.0.0

    TOS 0 Metric: 1

    E Type : 2

    Forwarding Address:0.0.0.0

    Tag : 1

    Type : External

    LS ID : 0.0.0.0

    Adv Rtr : 10.135.232.48

    LS Age : 483

    Len : 36

    Options : E

    Seq# : 80003348

    Checksum : 0x9559

    Net Mask : 0.0.0.0

    TOS 0 Metric: 1

    E Type : 2

    Forwarding Address:0.0.0.0

    Tag : 3489725934

    Type : External

    LS ID : 0.0.0.0

    Adv Rtr : 10.135.232.6

    LS Age : 839

    Len : 36

    Options : E

    Seq# : 800032b1

    Checksum : 0xc2ed

    Net Mask : 0.0.0.0

    TOS 0 Metric: 1

    E Type : 2

    Forwarding Address:0.0.0.0

    Tag : 3489725934

    楚留香寻思,难怪这无花和尚会这般认真,原来是龙泉山庄出事。龙泉山庄在江湖上向来地位显赫,一旦有事必然是各路高手纷至沓来前来援助,当下也认真起来,一边理顺思路求解谜题,一边笑嘻嘻的说道:“我知你素来渊博,想着既然来寻我解谜,必是不同凡响,此刻才知,果然如此。”

    无花皱眉叹道:“我也知晓,如此良夜,你我若谈论些俗事易事,算是辜负了这清风明月。”

    楚留香道:“我本是个俗人,尤其是此刻,除了这些俗事外,别的事我全无兴趣。”

    无花笑道:“既如此,还请香帅赐教了。”

    楚留香放松身体半躺在船上,看着面前“面如凝脂,眼如点漆”的人,仿佛没被他的外貌带来一丝影响。“赐教不敢,还是先听听你想法吧。”

    无花正色道:“也好,且听我分析下来龙去脉。”

    只见无花从怀中取出一幅拓扑图纸,此图武林人士皆不陌生,正是练习MPLS VPN神功的入门图谱。“此处用一个更为清晰干练的MPLS VPN组网来梳理问题症结。香帅请看:

    PE1与PE2两台路由器作为MPLS VPN骨干网的边界路由器,通过建立BGP VPNv4邻居关系传递私网路由,CE1与PE1之间、CE2与PE2之间运行OSPF多实例。

    在CE2在OSPF多实例进程内宣告一个Loopback口5.5.5.5/32,此时在CE1上可以看到如下Type3 LSA:

    <CE1>display ospf lsdb summary 5.5.5.5

    OSPF Process 2 with Router ID 4.4.4.4

    Area: 0.0.0.1

    Link State Database

    Type : Sum-Net

    Ls id : 5.5.5.5

    Adv rtr : 11.11.11.11

    Ls age : 763

    Len : 28

    Options : E DN

    seq# : 80000001

    chksum : 0xc5d4

    Net mask : 255.255.255.255

    Tos 0 metric: 2

    同时,在PE1的OSPF多实例进程中引入一条缺省路由,此时在CE1上可以看到如下Type5 LSA:

    [CE1]display ospf lsdb ase 0.0.0.0

    OSPF Process 2 with Router ID 4.4.4.4

    Link State Database

    Type : External

    Ls id : 0.0.0.0

    Adv rtr : 11.11.11.11

    Ls age : 76

    Len : 36

    Options : E

    seq# : 80000001

    chksum : 0xefe3

    Net mask : 0.0.0.0

    TOS 0 Metric: 1

    E type : 2

    Forwarding Address : 0.0.0.0

    Tag : 3489660929

    虽然本地已收到相应的LSA信息,但此时的路由表中,仅仅包含关于缺省路由的路由条目,却没有关于5.5.5.5/32的路由条目。这是何缘故?”

    香帅笑而不语,无花知道问题难不住香帅,但仍旧款款道出原委:“通过与普通组网的OSPFLSA对比不难得知,CE1所接收的Type3 LSA和Type5 LSA比较特别,关于5.5.5.5的Type3 LSA中DN位被置位,而0.0.0.0的Type5 LSA中Tag字段被填充为了一串数字3489660929。

    RFC4577规定,如若是PE路由器产生Type3 LSA发送给CE,则DN bit必须被置位。为了避免产生路由环路,PE路由器的OSPF 进程在进行SPF计算时,忽略DN bit置位的Type3LSA。此案中,CE2通过Sham Link发布LSA时,PE1作为ABR,将Type3 LSA中的DN位置位后传递予CE1。

    如此就可以解释为何CE上没有到达5.5.5.5/32网段的路由了。当然,这里说的是Type3 LSA,并非Tpye5 LSA。现场的情形是这样,在CE上存在关于Type5 LSA的情形之下,仍然无法学习到缺省路由,这又该如何解释?

    与Type3 LSA的处理思路类似,当PE路由器以Type5LSA或者Type7LSA的形式发布BGP路由时,使用一类特殊的OSPF Route Tag预防路由环,称为VPN Route Tag。PE向CE发布Type5或Type7 LSA时,PE作为ASBR,在LSA中填写VPN Route Tag。倘若是一台PE接收到了这一Type5或Type7 LSA,则比较此LSA中VPN Route Tag值与本地的VPN Route Tag值是否相同,如若相同,那么这条LSA将被忽略,不再参与SPF计算。

    同时协议规定,在PE的私网OSPF进程中需要过滤下一跳为Sham Link的OSPF路由,也就是PE上的Sham Link主要目的是为CE计算OSPF路由提供服务,而PE本身仍然需要通过BGP VPNv4来学习对端的私网路由,通过这一点可以保证,Sham Link学到的OSPF路由不会被倒回到BGP中,以此来防止路由环路。”

    说着便从袖中取出一卷画卷,展开后是一幅山水图,楚留香见无花轻轻揭去表面一层,露出此卷的真面目。此画分上下两卷,香帅好奇,拿在手中细看,上卷融汇了配置了Sham Link后PE上运行SPF算法时对LSA的筛选过程:

    而下卷则提炼了MCE上运行SPF算法时对LSA的筛选过程:

    香帅见无花和尚分析的有理有据,两卷图谱条理清晰,足见MPLS VPN功力深厚,不仅拍手称赞。

    “那么,VPN Route Tag的值是如何计算出来的呢?”

    “计算方法不难,一说便知。”讲到此处,无花颇为得意。

    VPN Route Tag=(1101(4位)∪任意(000000000000)(12位)∪BGP AS Number(16位))2

    益州、司州、徐州的BGP 自治系统号皆为65006,因此

    VPN Route Tag=(1101∪000000000000∪1111110111101110)2=(3489725934)10

    说到此处,无花眉头皱起,仿佛遇到了什么难事,楚留香静静听着,片刻后,无花声音重又想起:“自此,本以为事情已明白大半,可还有些线索始终无法对上,香帅不妨猜猜。”

    楚留香翻身坐起,微微思索了一刻钟,指着纸上一处道:“就在此处。现场的S5500EI只是充当CE的角色,并非PE,为什么也需要比较VPN Route Tag值呢?”

    无花笑道:“不愧是香帅,怕也只有你能这么快发现问题所在!”

    两人仔细查看S5500EI的配置文件,不一会儿便找到了疑点。设备上存在一组多余的配置:

    bgp 65006

    undo synchronization

    两人相对一笑,随即明白了问题所在。由于设备上存在BGP的配置,系统会认为自己是一台PE设备,对于接收到的Type5 LSA,会将其VPN Route Tag值与本地的VPN Route Tag值进行比较。因为VPN Route Tag值只与BGP自治系统号有关,而本地的BGP自治系统号与PE的BGP自治系统号完全相同,因此这条缺省路由的Type5 LSA就无法参与SPF计算了。

    楚留香道:“如此便对了,可是仍有疑点。”

    无花正刻微笑道:“愿闻其详。”

    楚留香道:“龙泉山庄CE路由器分别从益州PE、司州PE和徐州PE三处收到缺省路由Type5 LSA,为何在删除Sham Link之前却能够学习到缺省路由?”

    无花轻轻叹道:“香帅,果然是无花知音,这正式困扰无花之处。”

    楚留香笑道:“无花,你着相了,何为看山不是山,看水不是水?你身处其中,自然有些事看不透,其实答案早已摆在你眼前,你瞧。”

    只见香帅手指益州、司州、徐州三处PE的Type5 LSA,仔细一看不难发现,三台PE路由器所生成的缺省路由Type5 LSA中,只有S8512交换机所产生的缺省路由Type5 LSA的VPN Route Tag值为1,难道S8512交换机不是PE?原来,S8512交换机运行老的Comware V3版本,在老版本中,PE发布的Type 5 LSA中填充的VPN Route Tag值恒定为1,不会变化,这个值与CE本地的VPN Route Tag值当然完全不同,因此这条LSA有资格参与正常的SPF计算并计算出缺省路由。

    为了印证这一说法,龙泉山庄对CE的配置进行修改,发现只要删除CE路由器的BGP配置,包含默认路由在内的大量路由条目都会写入路由表,因为删除BGP配置后,所有PE发布的Type5 LSA就都可以正常参与SPF计算了。当然,这都是后话了。

    听到此处,无花干咳两声,继续补充道:“那就是了。断开益州PE和龙泉山庄CE的物理链路还好,可断开益州PE和司州PE的Sham Link,龙泉山庄CE就再无法算出如何算出益州发布过来的缺省路由了。只是这时候益州PE发来的缺省路由Type5 LSA尚未老化,如若只看缺省路由Type5 LSA的前后变化,还真是让人摸不着头脑。”

    至此,问题已经真相大白,无花已知问题在何处,面色虽看不出丝毫变化,但内心已全然失了平静,只因他也想到了谜题最终的解决方法。

    轻轻抿下杯中的凉茶,也咽下了心里的叹息,最终,仍是由楚留香道出了这个困扰他几日的谜底:“首先,删除CE路由器上的BGP配置。

    CE只是通过OSPF多实例来学习VPN私网路由,并不需要运行BGP协议,删除BGP配置后,将不会比较接收的Type5 LSA与本地的VPN Route Tag值,这样所有的Type5 LSA都有资格参与SPF算法的计算过程,可以正常计算出相关路由。

    当然,还需要在OSPF多实例进程中增加 vpn-instance-capability simple配置,取消对Type3 LSA的DN位、Type5 LSA VPN Route Tag的检测。在MCE应用情况下,CE上配置的OSPF多实例仅仅是为了隔离不同VPN的路由,而不是来进行路由还原的,这种情况下进行路由计算不应该受防环路处理的影响,为此设备提供了专门的命令来实现MCE设备上OSPF多实例路由的正常计算。”

    楚留香说罢,无花的神色和内心已全然恢复冷静:

    “很好,我今日也算证实,我的确不是你的对手。”

    楚留香叹了口气,道:“但无论如何,你的分析思路的确风采十足。”

    无花发出一声短促的笑,道:“我若胜了,会更加风采的。”

    楚留香笑道:“何时,你我能再续谈禅下棋之约?”

    无花笑道:“谁若会忘记香帅之约,那人必定是个白痴。”

    相视而笑,一切已不需要再多言语。

    楚留香笑着站起身子,一跃而入水中,全未溅起丝毫水花。

    无花目送他游鱼般的滑去,微微笑道:“能与此人相识,无论为友为敌,都可算是一件乐事。”