BGP中的路由控制/过滤:
LAB1:Distribute-list调用ACL(较落后)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Step1:通过ACL定义BGP路由:
如果不打算建立route-map
那么Access-list里面的
(Deny:不允许)
(permit:允许)
R1(config)#access-list 1 permit 110.0.1.0 (0.0.0.0)
(ACL的最后,有隐患的Deny Any.)
Step2:通过distribute-list/分布列表
R1(config)#router bgp 120
R1(config-router)#neighbor 13.0.0.3 distribute-list 1 out
Step3:使用ACL的反掩码,定义有一定特征的路由:
3-1:定义有偶数特征的路由:
R2(config)#access-list 2 permit 110.0.0.0 0.0.254.0 (偶数)
R2(config-router)#neighbor 1.1.1.1 distribute-list 2 in
R1(config)# access-list 1 permit 110.0.1.0 0.0.254.0 (奇数)
Redistrubute:重分布,将一种路由注入到另外的一种路由中.
软清:
R3#clear ip bgp * soft out (使用在:出方向的策略发生改变时)
Step3:观察R3对R1发送了哪些BGP路由:
R3#show ip bgp neighbor 13.0.0.1 advertised-routes
提醒:在更新的IOS版本中,出现了“Distribute-list+prefix-list”
LAB2:通过neighbor命令,直接调用prefix-list(较先进,简洁)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
Step1:通过前缀列表/prefix-list,定义需要控制的BGP路由:
(Deny:不允许)
(Permit:允许)
R1(config)#ip prefix-list T-R3 seq 5 permit 110.0.1.0/24
R1(config)#ip prefix-list T-R3 seq 10 permit 110.0.3.0/24
(IP prefix-list 的最后,有隐含的Deny Any)
如果Prefix-list直接被BGP进程调用,则应该严格匹配路由表的路由长度!!
IP prefix-list的最后,有隐患的Deny Any.
Stet2:在R1对R3的出方向,调用prefix-list T-R3,进行路由过滤:
R1(config-router)#neighbor 13.0.0.3 prefix-list T-R3 out
在BGP进程中,不能对同一个邻居同时调用access-list和prefix-list
如果只打上:
neighbor 13.0.0.1 prefix-list maple out
而没有建立一个名为maple的prefix-list,则全部的路由都放行,即邻居把所有的路由都可以收到!!
LAB3:neighbor+route-map+ACL
(使用route-map,功能强大,实现复杂功能)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:通过ACL定义BGP路由:
(permit:匹配)
R1(config)#access-list 1 permit 110.1.0.0
R1(config)#access-list 3 permit 110.3.0.0
Step2:通过route-map,调用ACL,
让Route-map决定是否允许这些定义好的路由穿过本AS:
(permit:允许),(Deny:不允许)!!!
R1#
route-map Send-R3 permit 10
match ip address 1 (ACL 1)
后面 没有空的Route-map:Deny Any
Step3:
neighbor 13.0.0.3 route-map Send-R3 out
假如增加:
route-map Send-R3 permit 20
(Match any,set nothing!)
(是否有这一句空的route-map,决定了:
route-map中,没有明细定义的路由,将是否可以传到别的AS中)
(115.3.3.0/24)
LAB4:neighbor+Route-map+Prefix-list 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:通过前缀列表/prefix-list,定义需要控制的BGP路由:
(permit:匹配)
ip prefix-list B-130 seq 5 permit 110.0.1.0/24
ip prefix-list B-130 seq 10 permit 110.0.3.0/24
Step2:通过Route-map,决定是否允许特定路由传递给对方:
(permit:允许),(Deny:不允许)!~!!!
route-map SEND-R2 permit 10
match ip address prefix-list B-130
Step3:R1对邻居R3调用Route-map:
R1(config-router)#neighbor 13.0.0.3 route-map SEND-R3 out
如果写错了ROUTE-MAP的名字则不会发送任何路由出去
对于上述4个实验,如果在R3上做in方向的路由过滤,则需要硬清除.
Clear ip bgp * (会Reset TCP 的连接)
LAB5:BGP BackDoor/后门
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用于EBGP与IGP之间的AD竞选时,人为的让IGP优先进入路由表的一种操作.
    20    120 
人为的让IGP优先进入路由表的一种BGP路由操纵
    
R4/R5之间运行IGP:EIGRP
R4#做后门之前的路由
B   105.0.0.0/8 [20/0] via 24.0.0.2, 
后门的操作:
R4(config-router)#network 105.0.0.0 mask 255.0.0.0 backdoor
R4做后门的路由
D    105.0.0.0/8 [90/409600] via 45.0.0.5
LAB6:通过As-path List 控制穿越特定AS的BGP路由.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6-1:
^ (shift+6)               $  (shift+4)
开始标识符,                结束标识符
Step1:
只接收起源自AS150的BGP路由:
ip as-path access-list 1 permit _150$ (起源自AS150)
_:表示任意一个字符
Step2:通过filter-list,调用as-path list 150
R4(config)#router bgp 240
R4(config-router)#neighbor 2.2.2.2 filter-list 1 in
6-2:只接收与本AS直接相连的,那个AS110所发来的BGP路由:
R4(config)#ip as-path access-list 130 permit ^110$
6-3:只接收穿越了AS110的BGP路由:
ip as-path access-list 130 permit _110_
(与Access-list,prefix-list一样的,
As-path-list在列表的最后,都有隐含的Deny Any.)
6-4:接收所有Any路由:
R2(config)#ip as-path access-list 130 permit .* (permit any)
6-5:在一个AS-Path-list,中的多个匹配条件:(允许AS130t AS150)
ip as-path access-list 130 permit _130$
ip as-path access-list 130 permit ^150$
6-6:拒绝起源于AS110,但允许所有的BGP路由:
R4(config)#ip as-path access-list 130 deny ^110$
R4(config)#ip as-path access-list 130 permit .*
LAB7:BGP Damping
~~~~~~~~~~~~~~~~~~~~~~~~~~
背景知识:
BGP dampening:牺牲收敛性,强调稳定性。
Damp的惩罚值:1000(固定值)
15:(分钟) half-life   /半衰期  half-life time for the penalty
750:reusing          /重新启用路由的阀值  penalty to start reusing a route
2000:suppressing     /开始进行抑制的阀值  penalty to start suppressing a route
60:(分钟)  Maximum duration to suppress (设置为半衰期的4倍)
Maximum duration to suppress a stable route
    
    
Step1:通过前缀列表,定义需要进行Damp的BGP路由:
R3(config)#ip prefix-list B-105 permit 105.0.0.0/8
Step2:创建Route-map,对特定路由进行Damping,并且可以设定Damping的参数.
route-map DAMP permit 10
match ip address prefix-list B-10
set dampening 15 750 2000 60
Step3:在BGP进程中调用Route-map,进行BGP dampening
router bgp 130
Bgp dampening route-map DAMP
旧版本:
R3#show ip bgp flap-statistics
R3#show ip bgp dampened-paths
新版本:
R3#show ip bgp dampening flap-statistices
R3#show ip bgp dampening dampened-paths
clear ip bgp dampening (恢复正常)

1.7-BGP⑥的更多相关文章

  1. 1.7-BGP⑤

    BGP Attributes/BGP属性 (通过BGP的属性,实现对BGP路由的选择/操纵) BGP Route Selection/BGP的选路原则: 1: The BGP forwarding t ...

  2. 1.7-BGP④

    注意:默认路由ip route 0.0.0.0 0.0.0.0 12.1.1.1是不可以作为BGP邻居TCP始发连接的(但回包可以) 要配静态路由:ip route 13.1.1.3 255.255. ...

  3. 1.7-BGP③

    IBGP的水平分隔原则(Split Horizon Rule): IBGP的水平分割原则:by default,routes learned via IBGP are never propagated ...

  4. 1.7-BGP②

    BGP的更新源(BGP Neighbor Update Source Address): 原则1: 在默认情况下, BGP路由器以自己路由表中,到达对方BGP邻居的地址的那条路由所指示的出接口(物理接 ...

  5. 1.7-BGP①

    IGP:   包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议   运行在同一个AS中,   通过Cost/Metirc来判断路由的优劣(越小越好):   AS:自治系统(小)   A ...

  6. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  7. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

  8. 1.4-动态路由协议OSPF④

    多区域的OSPF: 划分多区域的主要目的: 1.减少每个区域中的路由条目,进而减少每个路由器的内存中的路由,及其内存消耗,提高转发效率. 2.因为每一个OSPF区域对应在一个OSPF LSDB,配合在 ...

  9. BGP MPLS IP V匹N基本概念

    BGP/MPLS IP VPN基本概念 Site 在介绍VPN时经常会提到"Site",Site(站点)的含义可以从下述几个方面理解: · Site是指相互之间具备IP连通性的一组 ...

随机推荐

  1. vue打包问题:Tip: built files are meant to be served over an HTTP server.

    npm run build之后,出现提示:Tip: built files are meant to be served over an HTTP server. Opening index.html ...

  2. 329 Longest Increasing Path in a Matrix 矩阵中的最长递增路径

    Given an integer matrix, find the length of the longest increasing path.From each cell, you can eith ...

  3. DataFrame编程模型初谈与Spark SQL

    Spark SQL在Spark内核基础上提供了对结构化数据的处理,在Spark1.3版本中,Spark SQL不仅可以作为分布式的SQL查询引擎,还引入了新的DataFrame编程模型. 在Spark ...

  4. kubernetes installing and using 单机版

    centos安装docker uname -r yum remove docker \ docker-client \ docker-client-latest \ docker-common \ d ...

  5. 【转】Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

    概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...

  6. CSS基础知识(定位、浮动)

    12.浮动 特点:将当前元素脱离文档流    float: left 即左浮动  float: right 即右浮动 注:*父与子元素,设置子元素浮动不能超出父元素的范围 *多个元素均设置为浮动时,将 ...

  7. SSH Secure Shell Client连接centos6.5时中文字乱码处理

    在学习Linux的过程中,最先碰到的是通过SSH终端连接时发现有乱码出现,使用这篇文章先从这里说起. 在 ssh , telnet 终端中文显示乱码解决办法#vim /etc/sysconfig/i1 ...

  8. 在已有spring的基础上集成hibernate

    1.导入hibernate的包和spring的包    hibernate3.hibernate-jpa-2.0-api-.必须的包,log4j,log4j配置文件  1.1 导入Spring的依赖包 ...

  9. PHP基础知识测试题及解析

      本试题共40道选择题,10道判断题,考试时间1个半小时 一:选择题(单项选择,每题2分): 1. LAMP具体结构不包含下面哪种(A ) A:Windows系统 B:Apache服务器 C:MyS ...

  10. 删除ListView item数据 页面不刷新

    最近碰到一个匪夷所思的事情.就是我删除listView中一条item数据  网络请求成功了 但是页面不成功,一番折腾 ,找到问题 ,原来我给item 添加了北京点击事假,又给listView 被禁设置 ...