CONFIG prefix-list

router(config)#ip prefix-list list-name seq permit/deny network/len ge/le

prefix-list 本来是为BGP设计的。可以匹配路由条目的网络地址部分和掩码部分


ip prefix-list NAME permit 172.16.0.0/22 ge 24 le 24

    /22 : 前缀22bit相同的

    ge24:掩码范围最小24位

    le24:掩码范围最大24位

    当没有ge,掩码范围最小和前缀相同

    当有ge,没有le时,le=32

    当没有ge,le。ge与le都跟前缀相同


ip prefix-list A permit 0.0.0.0/0 ge 32          //所有主机路由

ip prefix-list B permit 128.0.0.0/2 ge16       //所有B类子网

ip prefix-list C permit 0.0.0.0/0 le 32           //所有路由

ip prefix-list D permit 0.0.0.0/0                   //默认路由

ip prefix-list E permit 0.0.0.0/1 le 24           //A类的不超过24位的子网


IP prefix-list A permit 10.0.0.0/8 le32            //A类私网地址

IP prefix-list B permit 172.16.0.0/12 le32       //B类私网地址

ip prefix-list C permit 192.168.0.0/16 le32   //C类私网地址


###############################################################

outbound route filtering ORF


作用:

        - 用来减少不必要的BGP流量和CPU的占用

        - 路由器吧入方向的过滤配置交换给邻居路由器在出方向做

        - ORF的报文被封装在route refresh  ,在open报文中协商

        

当AS1有100条路由,而AS2只需要10条,此时,AS2可以配置ORF,filter-list给AS1 ,AS1就只给AS2所需要的10条

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第1张图片

配置:nei x.x.x.x capability orf prefix-list send/receive/both

    router bgp 100

        address-family ipv4 unicast

        nei 172.16.1.2 remot 200

        nei 172.16.1.2 ebgp-multihop

        nei 172.16.1.2 capability orf prefix-list send

    ip prefix-list FILTER seq 10 permit 192.168.1.10/24

     show 邻居 show ip bgp nei x.x.x.x   //可以看到capabilities

实验

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第2张图片

如图。AS200配置联邦,R2R3=AS2000.  R4=AS300

           R5 开启3个loopback 5.1.1.1; 5.1.1.2; 5.1.1.1.3

        需求。AS100只需要5.1.1.1的路由

                R1:

                        ip prefix-list test deny 5.1.1.2/31 le32

                        ip prefix-list test permit 0.0.0.0/0 ge 32

                        router bgp 100

                            nei 12.1.1.2 prefix-list test in

                        sho ip bgp  //就只能看到5.1.1.1的路由

                R2:

                        sho ip bgp neighbor 12.1.1.1 advertised-routes   //查看R2传给R1的路由

                        可以看到3条5.1.1.x的路由都传了

                R1:

                        router bgp 100

                            nei 12.1.1.2 capability orf prefix-list both

                R2:

                        router bgp 2000

                                nei 12.1.1.1 capability orf prefix-list both

                        sho ip bgp nei 12.1.1.1 ad  //可看到只传一条路由给R1 


思科的ORF类型只支持prefix-list


###############################################################

ASpath-list  过滤


   ◆本地配置 as-path access-list 

     router(config)#

            ip as-path access-list number permit/deny regexp

    ◆邻居配置filter-list

    rotuer(config-router)#

            neighbor ip-address filter-list as-path-filter  in/out


   使用正则表达式匹配

            |  :表示或,|两端任意匹配一个

             [ ] :   表示范围内的一个,[1234]  [1-4]

              .   :   表示任意一个字符  [1-3].[34]---213  和  3空格3

             ^   :   表示一个字符串的起始

              $  : 表示一个字符串的结束

             _    :   表示任意一个定界符(不能代表数字)

            ():表示一个组合,组合的结果再参与到大的表达式中

              \    :是转意字符,即还原后面字符中特殊符号的原有含义

               *   :零个或多个

                ?:零个活一个

                +  :一个活多个

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第3张图片

实例:  _100$           //起源于AS100的

             ^100_          //从邻居AS100过来的

             ^100$         //起源于AS100,且从邻居AS100过来的

             _100_          //起源于AS100的

                                    从邻居AS100过来的

                                    穿过AS100的

             ^[0-9]+$      //任何起源于邻居AS的

             ^$                //起源于本AS的

             .*                  //所有

             ^([0-9]+)(_\1)*4            //以任何数值标记的AS号以及重复出现的

 

◆可以在show 里配合正则表达式,只看自己想要的

例如:show ip bgp regexp ^$     //只看本地的路由

            show ip bgp regexp ^100$   //只看起源于且邻居是100的路由

           show ip bgp regexp _300$    //只看起源于300的路由

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第4张图片

上图,控制R1只收AS200的路由

        R1:ip  as-path access-list  1 permit ^200$

                router bgp 100

                    nei 12.1.1.2 filter-list 1 in


###############################################################

route-map


过滤处理顺序:

        入站    过滤列表(filter-list/AS-path)    路由映射    分布列表/前缀列表(prefix-list)

        出站    分布列表/前缀    由ORF接收到的前缀列表    过滤列表    路由映射


##############################################################

policy list


    可以用route-map去调用一个policy list

    在一个大型的ISP网络中,可预先配置一些policy list,然后在不同route-map里调用

    无需重复的配置相同的route-map的匹配项

    减少了重复的策略定义


例如:针对一个邻居只能使用一个route-map

            所以当对多个邻居使用route-map时,就要写过个重复策略的route-map

        只用route-map时

            route-map test permit 10

                match as-path 1

                match ip address prefix-list 1

                match community 1

            route-map test permit 1000

             route-map test-2 permit 10

                   match as-path 1

                    match ip add prefix-list 1

                    match commuinty 1


           而使用policy list 就可以简化配置

                ip policy-list test permit

                        match as-path 1

                        match ip add pre 1

                        match community 1

                route-map test

                        match policy-listy 1

                rotue-map test-2

                        match policy-list 1

           

##############################################################

限制接收BGP条目

    

    router(config-router)#

            neighbor ip-address maxinum-prefix maximum [threshold] [warning-only] [restart restart-interval]            


                    threshold  :超过阀值 默认75% 弹出log

                    warning-only:警告

                    restart :超限down邻居后的恢复时间

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第5张图片

R1:

        router bgp 100

                nei 12.1.1.2 maximum-prefix 10   //限制从邻居12.1.1.2收到最多10条路由


###############################################################

改良BGP收敛


    邻居路由更新时间默认:

                                            30 second for EBGP neighbor

                                            5   second for IBGP  neighbor



###############################################################

BGP peer group


用于减少BGP对路由器性能的占用

CCIE学习笔记 4---BGP 前缀列表;ORF;ASpath-list_第6张图片

针对不同邻居的相同策略定义一个模板:

 单指的一些参数可优先于peer-group


配置步骤:

            router bgp 100           

                    neighbor peer-group-name peer-group   //创建一个组

                    neighbor peer-group-name 参数                //定义模板里的参数

                    neighbor ip-address peer-group peer-group-name    //定义哪些邻居属于该组

            show ip bgp peer-group   //查看


###############################################################

BGP route dampening惩罚


指在减少路由条目的不稳定对路由器的影响

防止持续的路由震荡,而不会影响其他正常的路由

减少BGP更新的数量

通过抑制不稳定的路由最小化的减少BGP进程处理的数量


- 每一次EBGP路由的flap, 都会给1000点的惩罚值

- 惩罚值安装指数衰减算法

- 当惩罚值超过抑制限制,路由就被抑制

- 一条抑制的路由当惩罚值小于限制时,重新被传递

- 当惩罚值低于一半的重新加载值时将被清除

- 一条路由被抑制的时候不会超过最大惩罚值(60分钟)

- 一条不可达的路由将会以H的状态显示在BGP表

- 针对某个邻居过来的路径生效而不是这条路径本身


    - half-life       15 minutes

    - suppress     2000

    - reuse           750

    - max-suppress-time    60 minutes(4Xhalf-life)

    - per-flap penalty        1000 (non configure)


一次震荡:发出一条路由,又收回来

发生震荡会记录,每次记录会惩罚一个值;每隔15分会减半(半衰期);惩罚门限;随着半衰期逐渐减少直至到正常,重用门限值


配置:

        router bgp 200

            bgp dampening


        clear ip bgp x.x.x.x flap-statistics   //清零flap

        clear ip bgp dampening    //清除惩罚

        sho ip bgp dampening       //查看被惩罚的路由


###############################################################

  ◆客户与ISP之间如何部署


    静态路由

    BGP是唯一的动态路由


◆单线单宿主使用静态路由(客户端)

        用户用缺省路由指向运营商

        用户路由被运营商的BGP承载,而不是IGP,因此需要把客户的静态路由重分布到BGP

        客户小的地址快不应宣告到其他AS(可以用community控制传播范围)


实例 :客户-----------------------------------------------------------ISP

        ip route 0.0.0.0 0.0.0.0 s 0                                        ip  route 11.2.3.0 255.255.255.0 s 0

        router ospr 1                                                             router bgp 387

            default-information originate                                    redistribute static [rotue map]

                                                                                

            - 识别每种可能的提供给客户服务组合,包括QOS要求

            - 针对每类的QOS组合设置一个标记

            - 运营商对每个客户的静态路由配置一个合适的tag

            - 用route-map 重分布静态路由进BGP

            - 配置route-map 去匹配tag,然后设置一个BGP community或其他属性



        用户只有单个link连接到Internet

        用户有多个link连接到同一个运营商,并且链路或者设备失效能够被检测到

        其他环境都使用BGP


◆双线单宿主使用静态路由

     较之单线但宿主,多了冗余、负载均衡的技术

  

上图是双线客户的配置,其中默认路由最好加track配置