1.实验1说明:BGP的同步
2.实验2 BGP环回接口实验
3.实验3语法: Neighbor ip address /peer-group-name ebgp-multihop
作用:Ebgp邻居一般情况下直连,如果不是直连,可通过这个命令来修改 。值为1-255
如果不指定,默认为255 注意:如果要用多跳,一定要注意下一跳可达。
4.实验4语法:Neighbor ip address /peer-group-name next-hot-self
作用:在非广播多路访问时,有时有必要将下一跳改为自己.在下面的实验中,将从a 传过来的路由条目改为自己
5.实验6语法:Neighbor ip address/peer-group-name advertisementinterval seconds
作用:修改bgp触发时间。如果邻居是ibgp 则修改ibgp时间,如果是 ebgp则会修改ebgp
时间了。默认情况下,ibgp为5秒,ebgp为30秒。这是路由更新的最少时间。原因,就
是:当路由条目在一定时间闪动多次时,也只有到了最少触发时间才会发出触发更新。一般情况下,不必要修改。但是注意这个时间是可以修改的以行。
6.实验7语法:Neighbor ip address/peer-grouup-name timers keepalive holdtime
作用:用来修改bgp的存活时间与保持时间,默认为60秒与 180秒。一般情况下不用修改。
7.实验8语法:BGP实验1 路由汇总Aggregate-address + address mask
Aggregate-address +上需要汇总的地址和掩码
实验二Aggregate-address + address mask也可以用于接收路由器进行汇合。
实验三Aggregate-address + address mask+as-set 作用:来明确路由信息的as路径。
作用: bgp支持手动汇总,将多条精细路由汇总为一个汇总路由。既可以用始发路由器的汇合,也可以用于接收路由器的汇合。
注意:如果一个路由表中精细路由都没有了,那么汇总路由也就撤消了。汇总路由依赖于精细路由。
8.实验9语法:Aggregate-address address mask summary-only
作用: 只广播一条聚合路由,而抑制明确路由。
9.实验10语法:Neighbor ip address/peer-group-name route-map route-map-name out
作用:使用标准访问列表基本路由过滤
实验二 操作AS路径信息 通过route-map来改变经过的路径,可以虚拟出路由器经过的路径。Set as-path prepend x 假设经过的AS路径 下面set意思是首先经过as x这个路径
实验三:指定特定的as路由信息 route-map ccna permit 10  match ip add 1  set as pre 7
实验四 通过修改社区属性community首先一定要使用neighbor send-communit来广播设置 nei 10.1.1.1 send-community这个命令不要忘记,不然邻居学习不了。
10.实验11语法:Neighbor ip address /peer-group-name route-map route-map-name in
说明:使用标准访访问列表过滤
11.实验12语法:Aggregate-address address mask suppress-map route-map-name
作用: 通过route-map将能在抑制明确路由条目下广播聚合路由
12.实验十三语法:Auto summary
作用: 因为bgp是高级路径矢量路由协议。所以会在边界进行自动汇总。
13.实验14语法:Neighbor ip address/peer-group-name weight default-weight
作用:默认情况下,权重限于本地有效,当收到对方的广播时,它的权重为0.可以通过命令来修改收到的权重值,权重用在多出口选路时属性。越大越优先。
注意:权重是CISCO私有的属性。别的路由器不一定识别。
14.实验15语法:Neighbor ip address /peer-group-name filter-list as-path-list-number out
作用:通过 filter-list来精确过滤路由条目
实验一:过滤起始于as3的路由条目
正则表达式_3$ 的意思是起始于as3 而不管as路径长度
rb#conf
rb(config)#ip as-path access-list 1 deny _3$
rb(config)#ip as-path access-list 1 permit .*
rb(config)#router bgp 2
rb(config-router)#nei 10.1.1.1 filter-list 1 out
rb(config-router)#end
上面的意思是 在出的方向上过滤起始于as3的路由条目
实验二允许经过as3的路由条目,拒绝始发于as3的条目,先将上面的配置删除。更改一部分网络路径,看上去像是始发于其它的as
rb#conf t
rb(config)#ip as-path access-list 1 deny _3$
rb(config)#ip as-path access-list 1 permit .*
rb(config)#end
当然不要忘记
rb(config-router)#nei 10.1.1.1 filter-list 1 out
实验三拒绝所有含有as3的路由条目,先删除原来的配置,正则表达式_3_表过所有含有 as3的路径
rb#conf t
rb(config)#ip as-path access-list 1 deny _3_
rb(config)#ip as-path access-list 1 permit .*
rb(config)#end
当然要在b上面运用,并且要注意方向。
rb#conf t
rb(config-router)#nei 10.1.1.1 filter-list 1 out
rb(config-router)#end
实验四拒绝所有起始于直接相连的ebgp 邻居的所有的路由,正则表过式^2$表示直接相连的as2的路径
rb#conf t
rb(config)#ip as-path access-list 1 deny ^2$
rb(config)#ip as-path access-list 1 permit .*
rb(config)#end
上面的意思是拒绝直接相连的ebgp中含有as2的路由条目
15.实验4语法:Bgp fast-external-fallover 作用:默认情况下,这个命令是打开的,意思是当邻居 down 了,bgp 会话也立即关闭。可以用no掉,这样邻居连结关闭时,邻居关系仍存在,当然超过bgp配置时间,连结也会关闭.
16.实验17语法:Bgp dampening路由惩罚
作用:主要用在 ebgp 之间 ibgp 不适用.意思是:当路由条目发生抖动时,会给一个值为1000的惩罚值,当达到默认情况下的 2000 时,会产生抑制条目。在半衰期时间内,惩罚值会变为原来的一半,也就是如果原来是 3000惩罚值,当过去半衰期时间,也就是会变成1500.成数学指数递减的。重新启用值默认情况下为750。也就是值少于750时,这个条目在次被启用。注意,这一命令在实际工程中没有什么大的用处。
起用路由惩罚:rb#conf t
rb(config)#router bgp 2
rb(config-router)#bgp dampening
rb(config-router)#end
rb#sh ip b 172.16.1.0/24
Dampinfo: penalty 928, flapped 1 times in 00:01:42 可以看到路由衰减值为928
通过命令查看路由衰减,可以看到路径和时间,也就是在00:23:20 里,路由不发生变化 ,
那么这个时间到了,就会重新广播这条路由条目
验证总结:当在一个半衰期,惩罚值将变成原来的一半。比如,你在最后一次惩罚值为2522默认的半衰期15分种之内,将变成1261 这个值,只有当达到在次起用的值为750时候 ,才能重新使用这个路由
17.实验二。Bgp dampening half-life reuse suppress max-suppress-time
默认情况下值为:关衰期15分钟 抑制值为2000 重用为750 最大抑制时间为半衰期的四倍。Bgp dampening route-map route-map-name
实验一,通过route-map来设置变量
rb(config)#access-list 1 permit 172.16.1.0 0.0.0.255
rb(config)#access-list 2 permit 172.16.2.0 0.0.0.255
rb(config)#route-map ccna permit 10
rb(config-route-map)#mat ip add 1
rb(config-route-map)#set dampening 15 750 2000 60
rb(config)#route-map ccna permit 20
rb(config-route-map)#mat ip add 2
rb(config-route-map)#set dam 20 800 2200 80
rb(config)#router bgp 2
rb(config-router)#bgp dampening route-map ccna
实验二将不同的变量用在不同的as上面
rb#conf t
rb(config)#ip as-path access-list 1 permit ^1$
rb(config)#ip as-path access-list 2 permit ^3$
rb(config-router)#bgp dampening route-map ccna
rb(config)#route-map ccna permit 10
rb(config-route-map)#mat as-path 1
rb(config-route-map)#set dampening 15 750 2000 60
rb(config)#route-map ccna permit 20
rb(config-route-map)#match as-path 2
rb(config-route-map)#set dampening 20 800 2200 80
以上是对不同的as进和的路由惩罚的配置。
可以通过rb#sh ip b flap-statistics 命令来查看。
18.实验18语法:Network ip address backdoor
   ra(config)#router bgp 1
ra(config-router)#net 172.17.2.0 mask 255.255.255.0 backdoor
作用:当有更好的路径,用这个命令可以修改管理距离,忽略ebgp的管理距离
如果要修改管理距离,首先要确定有一个bgp条目在路由表中。
19.实验19语法:Default-information originate
作用: 允许邻居广播默认路由
Bgp 广播默认路由需要三个条件
一 创建静态路由
二 将静态路由重分配
三 使用Default-information originate
rb#conf t
rb(config)#ip route 3.3.3.3 255.255.255.255 s1
rb(config)#router bgp 2
rb(config-router)#red stat
rb(config-router)#default-information originate
20.实验20语法:Neighbor ip address /peer-group-name default-originate route-map route-
map-name作用:通过route-map来有条件的广播默认路由.如果静态路由接口down了,那么也不会广播路由了。没有route-map,不论在什么时候都会广播路由。
21.实验21语法:Distance bgp extermal intermal local
作用:修改 Exterma ebgp的管理距离,Intermal ibg 的管理距离,local 聚合得到的管
理距离rb(config)#router bgp 2
rb(config-router)#distance bgp 15 39 55
rb(config-router)#end
修改时顺序为 外部 ,内部,本地
22.实验22 语法:Distance admin-distance ip-source-address ip-address-mask
Distance admin-distance ip-source-address ip-address-mask ip-access-list-
number
说明:Distance 指定修改后的管理距离,而后面跟修改那里学过来的地址。也就是说,如果要修改从那一个邻居那里学到的管理距离,就跟在后面。当然,后来也可以是一个范围。说明二:也可以通过调用访问控制列表来修改不同的地址的管理距离
注意: 通过访问控制列表distance 管理距离 后面跟邻居的地址最后是列表的序列号。
实验二,通过调用访问控制列表来修改不同的管理距离
23.实验23语法:Default-metric metric
作用:指定重新分配路由的一个度量或是 med 值。大于为 1-4294967295.第一种方法,
当把路由重新分配到 bgp 时,不指定度量,那么重新分配的度量为0。第二种,当重新分配度量时,指定一个值。第三种,使用default-metric 命令指定度量或med值。
24.实验24语法:Bgp always-compare-med
作用:默认情况下,路由器将不比较来自不同as的 med 值,通过这个命令,将会比较来自所有as 的med值
25.实验25语法:Bgp default local-preference local-preference
说明:本地优先级的作用主要是在多出口之间进行选路,值越大越优先。
作用: 设置本地的优先级。默认为 100。这个值的大小为 1 -4294 9672 95 通过命令可
以设置本的广播的路由本地优先级。本地优先级的大小只能用在本自己治系统中。通过ibgp传播。
   总结一:如果广播是由路由器本身发出的,那么在bgp表中只有权重值为32768,med 为0path为 i 本地优先级为空。在广播给自己的ibgp时,本地优先级为100。权重为0其它的不变
实验一:改变广播权重的大小
rb(config-router)#bgp default local-preference 88
这条命令只能改变广播给自己ibgp邻居的路由条目中权重的变化 ,对自己与ebgp
没有影响.
26.实验26语法:Maximum-paths number-of-paths
作用:Bgp在ip路由表中只安装最好的路径,但是通过这一命令可以修改。最多能修到达同一目地为六条的等价路径。
rb(config)#router bgp 2
rb(config-router)#maximum-paths 2通过命令来修来使两条路径都放到路由表中
注意:是说maximum-paths只能用在ibgp邻居关系中
27.实验27语法: Neighbor ip address/peer-group-name default-originate
作用:每一个路由器都应当有一个默认路由。应用于向不是本的ip路由表中的网络发送数据包。确保每个路由,可以在每一台路由器上设置一个静态路由,用来设置默认路由。另处一种方法,可以创建一个默认路由,并把这个默认路由广播到邻居当中。注意:如果默认路由的接口关闭还是会向邻居广播这条静态路由。
如果要广播一条路由,在除了在邻居上用命令default-originate 外,还
要注意同步问题。现在路由表中有这条默认路由了。
实验二多个默认路由问题。当同一台路由器到达多个默认路由时,将会把路由器id 最小的广播的静态路由放到路由表中。
28.实验28语法:Bgp bestpath as-path ignore
作用:当决定那一个路径是最好的路径时,将忽略as-path属性
通过命令来修改配置,将忽略as-path 不参于最好路径的选择
rb#conf
rb(config)#router bgp 2
rb(config-router)#bgp bestpath as-path ignore
29.实验29语法:前缀列表实验1
Neighbor ip address/peer-group-name prefix-list prefix-list-name in
作用:在拒绝更明确的路由的同时,允许聚合路由
现在修改配置,只允许收到聚合的前缀
ra#conf t
ra(config)#ip prefix-list ccna seq 5 permit 172.16.0.0/22
ra(config-router)#nei 10.1.1.2 prefix-list ccna in
ra(config-router)#end
前缀列表与 route-map差不多。前缀列表是经过命名的。前且,前缀列表中的第一个说明都有一个序列号,前缀列表中的原素按照顺序扫执行,前且,当一个配置匹配时,进程就停止。默认情况下以5开始,并且以5为单位增加
Ip prefix-list squence-number default
查看命令 show ip prefix-list
实验二允许明确路由 拒绝聚合路由,先将上面的配置删除
ra(config)#ip prefix-list ccna permit 172.16.0.0/22 ge 23
上面的意思是在聚合路由中大于等于23掩码允许通过
30.实验30语法:Neighbor ip address /peer-group-name unsuppress-map route-map-name
说明:在使用aggregate-address时 summary-only 选项,会抑制聚合的更明确路由,也
会抑制更明确路由到达所有的邻居。可以使用非抑制的映射有选择的让更明确的路由到达特定的邻居。rb(config-router)#nei 10.1.2.2 unsuppress-map 1
31.实验31语法: Neighbor ip address/peer-group-name filter-list as-pash-list-number in
说明:通过 as路径来过滤特定的更新。
正则表达示_3$表示从as3始发的任何路径
ra#conf t
ra(config)#ip as-path access-list 1 deny _3$
ra(config)#ip as-path access-list 1 permit .*
ra(config)#router bgp 1
ra(config-router)#nei 10.1.1.2 filter-list 1 in
ra(config-router)#end
32.实验32语法:Aggregate-address address mask attribute-map route-map-name
作用:通过 attribute-map来修改聚合后的度量或med
启用聚合路由
ra#conf t
ra(config)#router bgp 1
ra(config-router)#aggregate-address 172.16.0.0 255.255.252.0
ra(config-router)#end
通过attribute-map来修改聚合后的度量
ra#conf t
ra(config)#router bgp 1
ra(config-router)#no aggregate-address 172.16.0.0 255.255.252.0
ra(config-router)#aggregate-address 172.16.0.0 255.25.252.0 att
ra(config-router)#$ddress 172.16.0.0 255.25.252.0 attribute-map ccna
ra(config-router)#end
ra(config)#route-map ccna permit 10
ra(config-route-map)#set metric 50
ra(config-route-map)#end
33.实验33语 法 : Neighbor ip address/peer-group-name maximum-prefix prexix-limit
threshodl-value
Neighbor ip address/peer-group-name maximum-prefix prefix-limit
threshold-value warning-only
作用:限制从特定邻居得到的前缀数目。Threshold-value 为产生报警的值,当达到prefix-
limit 这个上限时,路由器会切断连结。使用warning-only为当超过上限时,只是报警而不切断连结
说明:主要用在防止恶意攻击,如果一台路由器在短时间内收到超过一定的条目,则有可能发生了恶意攻击,使路由器瘫痪。可以通过设置来防止这种恶意攻击
ra(config-router)#nei 10.1.1.2 maximum-prefix 8
对于初始设置,在路由器上的默认极限值是75%。当从路由器a上收到 7 条路由时,将
发出一个警报
再增加一个路由条目
rb#conf t
rb(config)#router bgp 2
rb(config-router)#net 172.16.6.0 mask 255.255.255.0
rb(config-router)#end
收到一条警报
ra#
00:21:50: %BGP-4-MAXPFX: No. of prefix received from 10.1.1.2 (afi 0) reaches 7,
max 8
如果在增加一条前缀时,将达到上限
rb#conf t
rb(config)#router bgp 2
rb(config-router)#net 172.16.7.0 mask 255.255.255.0
rb(config-router)#end
如果在增加一条路由将中断连结
rb#conf t
rb(config)#router bgp 2
rb(config-router)#net 172.16.8.0 mask 255.255.255.0
rb(config-router)#end
ra#
00:27:37: %BGP-3-MAXPFXEXCEED: No. of prefix received from 10.1.1.2 (afi 0): 9
e
xceed limit 8
00:27:37: %BGP-5-ADJCHANGE: neighbor 10.1.1.2 Down BGP Notification sent
ra#
00:27:37: %BGP-3-NOTIFICATION: sent to neighbor 10.1.1.2 3/1 (update
malformed)
0 bytes
中断连结,当然如果只用warning-only时,只会报警,而不会中断连结
34.实验34语法:BGP的route-map实验,路由映射是路由过滤和属性的强大通用的工具。
注意:在route-map中如果只有set 表示上面挑剩下的所有的都怎样怎样。如果只有 match
表示只允许或拒绝
35.实验35语法:Neighbor ip address/peer-group-name remove-private-AS
作用:把更新中私有的自治系统移出邻居与对等组中.私有的 AS号是 64512-65535 只能用到下面的条件中
只能用于ebgp
如果在AS路径更新中只有私有的AS号 bgp就会移除它们
如果AS 路径中有既有公有AS 号也有私有的 AS号,这认为是一种错误的配置。BGP不会移出私有的AS号
如果AS路径中有ebgp邻居的AS号。Bgp不会移出这些私有的AS号
如果AS路径中有联盟,bgp就会移出出现在AS路径中联盟部分后面的私有AS号
   rb(config-router)#nei 10.1.2.2 remove-private-AS通过这个命令,将移除私有的AS号
36.实验36语法 :BGP路由重分配 Redistribute protocol 路由重分配在BGP中要注意.如果不指定度量的话,会学习从igp那里的度量。当然了,如果是eigrp那样,就会学会eigrp的度量。
37.实验37语法:Neighbor ip address /peer-group-name route-reflector-client
作用:当一个网络中为了减少 ibgp的交换,可以使用路由反射器.注意,在真实的工程环境中,路由反射器用的很少,一般用社团和组。
38.实验39说明:过滤总结
作用:通过路由如果要设置权重,那么只能设置在收的方向相邻的路由器的权重,而不能设置相邻路由器以外的权重。过滤来精确设置权重
设置权重是,注意使用route-map 还有 ip as-path access-list 来设置