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⑤
BGP Attributes/BGP属性 (通过BGP的属性,实现对BGP路由的选择/操纵) BGP Route Selection/BGP的选路原则: 1: The BGP forwarding t ...
- 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. ...
- 1.7-BGP③
IBGP的水平分隔原则(Split Horizon Rule): IBGP的水平分割原则:by default,routes learned via IBGP are never propagated ...
- 1.7-BGP②
BGP的更新源(BGP Neighbor Update Source Address): 原则1: 在默认情况下, BGP路由器以自己路由表中,到达对方BGP邻居的地址的那条路由所指示的出接口(物理接 ...
- 1.7-BGP①
IGP: 包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议 运行在同一个AS中, 通过Cost/Metirc来判断路由的优劣(越小越好): AS:自治系统(小) A ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
- 1.4-动态路由协议OSPF④
多区域的OSPF: 划分多区域的主要目的: 1.减少每个区域中的路由条目,进而减少每个路由器的内存中的路由,及其内存消耗,提高转发效率. 2.因为每一个OSPF区域对应在一个OSPF LSDB,配合在 ...
- BGP MPLS IP V匹N基本概念
BGP/MPLS IP VPN基本概念 Site 在介绍VPN时经常会提到"Site",Site(站点)的含义可以从下述几个方面理解: · Site是指相互之间具备IP连通性的一组 ...
随机推荐
- 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 ...
- 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 ...
- DataFrame编程模型初谈与Spark SQL
Spark SQL在Spark内核基础上提供了对结构化数据的处理,在Spark1.3版本中,Spark SQL不仅可以作为分布式的SQL查询引擎,还引入了新的DataFrame编程模型. 在Spark ...
- kubernetes installing and using 单机版
centos安装docker uname -r yum remove docker \ docker-client \ docker-client-latest \ docker-common \ d ...
- 【转】Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...
- CSS基础知识(定位、浮动)
12.浮动 特点:将当前元素脱离文档流 float: left 即左浮动 float: right 即右浮动 注:*父与子元素,设置子元素浮动不能超出父元素的范围 *多个元素均设置为浮动时,将 ...
- SSH Secure Shell Client连接centos6.5时中文字乱码处理
在学习Linux的过程中,最先碰到的是通过SSH终端连接时发现有乱码出现,使用这篇文章先从这里说起. 在 ssh , telnet 终端中文显示乱码解决办法#vim /etc/sysconfig/i1 ...
- 在已有spring的基础上集成hibernate
1.导入hibernate的包和spring的包 hibernate3.hibernate-jpa-2.0-api-.必须的包,log4j,log4j配置文件 1.1 导入Spring的依赖包 ...
- PHP基础知识测试题及解析
本试题共40道选择题,10道判断题,考试时间1个半小时 一:选择题(单项选择,每题2分): 1. LAMP具体结构不包含下面哪种(A ) A:Windows系统 B:Apache服务器 C:MyS ...
- 删除ListView item数据 页面不刷新
最近碰到一个匪夷所思的事情.就是我删除listView中一条item数据 网络请求成功了 但是页面不成功,一番折腾 ,找到问题 ,原来我给item 添加了北京点击事假,又给listView 被禁设置 ...