四.BGP路由汇总 协议默认路由 关键问题验证(附有拓展ACL匹配研究过程)

一 关键问题表述

(一)ACL怎样匹配子网相同,掩码不同的路由条目?如何匹配掩码相同,子网不同的条目?

(二)汇总路由为什么可能导致BGP邻居的翻滚

(三)使用attribite-map时,acl为什么无法匹配路由条目?

(四)怎样使用advertise-map,suppress-map,unsuppress-map,attribute-map,以及route-map五中路由图?给出实例。

(五)路由过滤的两种方案分别是?

(六)BGP产生协议默认路由的两种方式。


问题一:使用“标准ACL”匹配 掩码相同,子网不同的条目;使用“拓展ACL”匹配子网相同,掩码不同的路由条目。


因为标准ACL仅比较网络地址部分,不会检查网络掩码长度;扩展ACL就不仅比较网络地址部分,而且还检查网络掩码长度。这里的扩展ACL是一种特殊的扩展ACL,其基本格式为:

access-list access-list-number {deny | permit} ip source source-wildcard source-mask source-mask-wildcard。


实例:如图

195730861.jpg

基本配置结束后,可以在R2上检查到一共六条ospf路由:

195814925.jpg

下面我们在R2上使用分发列表distribute-list来操控路由:(Tips:一个路由进程下面仅能配置一条分发列表,否则,后配置的会覆盖之前配置


1)a.使用标准ACL能够匹配掩码相同,子网不同的条目的证据:

Distribute-list1 in

Access-list 1 deny 172.16.1.0 0.0.2.255 删除1.0,3.0路由

Access-list 1 permit any

195910995.jpg

结论:标准的ACL完全能够匹配掩码相同,子网不同的条目


b.使用标准ACL不能够匹配子网相同,掩码不同的路由条目:

Distribute-list 1 in

Access-list 1 deny 1.0.0.0

Access-list 1 permit any

195950501.jpg

结论:使用acl匹配1.0.0.0/8,但是实际效果却是拒绝了1.0.0.0/24,1.0.0.0/8两条路由,所以不适用!


2)a.使用拓展ACL能够匹配子网相同,掩码不同的路由条目:无法匹配

b.使用拓展ACL不能够匹配掩码相同,子网不同的条目的证据:无法匹配(这里先于笔者的技术水平,暂时不能够提供多种协议下的匹配方案,请大家见谅!!!

注意!!!实验失败!!!此种拓展的ACL不能匹配多种路由协议,例如OSPF,EIGRP,RIP等!目前仅仅在BGP 的定向过滤中使用

所以,再次尝试实验!



更改网络的基本配置使用BGP,再次实验!如图:

200024376.jpg

在r2上

Router bgp 100

Neighbor192.168.12.1 remote-as 100

Neighbor192.168.12.1 distribute-list 100 in

Access-list100 permit ip 1.0.0.0 0.0.0.0 255.0.0.0 0.0.0.0

200052311.jpg

总结:(目前仅仅使用与BGP的高级配置中neighbor x.x.x.x distribute-list x in ,其他协议中不做探究)


如下面的这两条扩展ACL配置是允许192.108.0.0/16路由,而禁止其中的任一明细路由,包括192.108.0.0/24。


access-list 101permit ip 192.108.0.0 0.0.0.0 255.255.0.0 0.0.0.0 !---表示要精确比较源地址和源掩码的每一位,只有完全相同时才允许

access-list 101 denyip 192.108.0.0 0.0.255.255 255.255.0.00.0.255.255 !---表示仅同时精确比较源地址和源掩码的前16位(后16位不比较),只要前16位相同则禁止,是在上面那条规则后进行比较的

而下面这两条扩展ACL配置是允许131.108.0/24路由,但禁止131.108/16路由和131.108.0.0中的其他所有子网路由。


access-list 101permit ip 131.108.0.0 0.0.0.0 255.255.255.0 0.0.0.0 !---表示要精确比较源地址和源掩码的每一位,只有完全相同时才允许

access-list 101 denyip 131.108.0.0 0.0.255.255 255.255.0.0 0.0.255.255!---表示仅同时精确比较源地址和源掩码的前16位(后16位不比较),只要前16位相同则禁止,是在上面那条规则后进行比较的



问题二:汇总路由为什么可能导致BGP邻居的翻滚


BGP中的路由条目,如果是通过联邦方式传递的话,那么必定会在汇总路由的AS-PATH上添加括号,以示区分。

图示:

200132559.jpg


以172.16.0.0/24为例,在R2上使用aggregate-address 172.16.0.0 255.255.252.0 as-set汇聚后,那么汇总路由的PATH属性可能为

((65530)(65531)),而在程序中是不支持此种命令的说!所以,我们需要在R2上,对于不同的联邦as,分别汇总!!!切记切记!


问题三:使用attribite-map时,acl为什么无法匹配路由条目?从而修改汇总之后的属性?


注意:当我们需要更改汇总路由的属性的时候,不需要再次匹配汇总路由,而是直接修改或者设置汇总路由的值即可。


例如:aggregate-address 172.16.0.0 255.255.254.0 as-set- attribute-mapattr1

route-map attr1 permit 10

match ipaddress 100(错误:attribute-map 只是针对汇总路由,不需要再做ACL的匹配)

setlocal-preference 99


问题四:

1)以上已经解释了attribute-map的使用,route-map的使用方法与attribute-map相同,但是这两个不能够共同存在的说

2)suppress-map需要在之后的路由图中匹配相应的子网,而不需要设置路由条目的属性值;unsuppress-map 与之类似,只是效果有所不一致!

3)advertise-map 需要在之后的route-map中,选定想要学习的路由条目(对象时路由条目,不是router-id)


问题五:

1)根据AS-PATH来过滤路由

Ip as-pathaccess-list 5 permit _200$//匹配起源于200的路由条目

Routerbgp 65532

Neighbor192.168.57.7 filter-list 5 in

2)根据目标路由条目来过滤distribute-list

a.全局过滤

Router bgp 100

Distribute-list1 in


b.针对某个邻居过滤

Routerbgp 100

Neighbor1.1.1.1 distribute-list 1 in


问题六:

1)ip route 0.0.0.0 0.0.0.0 null 0

router bgp 100

network 0.0.0.0

2)iproute 0.0.0.0 0.0.0.0 null 0

router bgp 100

redistribute static

default-information originate


你可能感兴趣的:(BGP,路由过滤,协议默认路由,拓展ACL匹配)