您的位置:首页 > 其它

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

2013-09-26 20:17 531 查看
一 关键问题表述
(一)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。

实例:如图



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


下面我们在R2上使用分发列表distribute-list来操控路由:(Tips:一个路由进程下面仅能配置一条分发列表,否则,后配置的会覆盖之前配置)
1)a.使用标准ACL能够匹配掩码相同,子网不同的条目的证据:Distribute-list1 inAccess-list 1 deny 172.16.1.0 0.0.2.255 删除1.0,3.0路由Access-list 1 permit any


结论:标准的ACL完全能够匹配掩码相同,子网不同的条目
b.使用标准ACL不能够匹配子网相同,掩码不同的路由条目:Distribute-list 1 inAccess-list 1 deny 1.0.0.0Access-list 1 permit any


结论:使用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,再次实验!如图:


在r2上Router bgp 100Neighbor192.168.12.1 remote-as 100Neighbor192.168.12.1 distribute-list 100 inAccess-list100 permit ip 1.0.0.0 0.0.0.0 255.0.0.0 0.0.0.0


总结:(目前仅仅使用与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上添加括号,以示区分。图示:



以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 10match 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 65532Neighbor192.168.57.7 filter-list 5 in2)根据目标路由条目来过滤distribute-lista.全局过滤Router bgp 100Distribute-list1 in
b.针对某个邻居过滤Routerbgp 100Neighbor1.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.02)iproute 0.0.0.0 0.0.0.0 null 0 router bgp 100 redistribute static default-information originate

本文出自 “人中雨田” 博客,请务必保留此出处http://nanjingzhonglei.blog.51cto.com/5890022/1302342
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: