本文主要是介绍路由选路控制双点双向重分发(HCIP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、路由控制介绍
二、对流量行为的控制需求分析
1、控制网络流量的可达性:
if-match匹配实验:
route-policy应用实验:
实验:(ACL)
IP-Prefix List实验:
2、调整网络流量路径:
策略路由实验:
三、多协议复杂场景的流量路径(双点双向重分发引入的路由环路、回馈)
双点双向路由引入实验:
学习目标:
1、了解路由控制方式方法
2、了解ACL、ip-prefix list、route-policy的区别和使用
3、掌握双点双向重分发的问题以及解决方法
一、路由控制介绍
路由控制是一种工具,需要熟练使用。
企业网络中经常面临一些非法流量(非授权)访问产生安全性和流量路径不优等问题。
新的SDN基于业务的网络,APP1的流量走上边,APP2的流量走下边更适合现在网络,比传统的基于协议的网络更适合现在。
高端操作:SR、Evpn。
分段路由SR,学习难度比较高,得学习OSPF、ISIS、BGP、MPLS-vpn。
传统网络中要保证数据安全性、提高带宽利用率,需要控制流量可达性(通与不通,不通最安全)、调整网络流量路径等。
二、对流量行为的控制需求分析
1、控制网络流量的可达性:
市场部不能访问财务、研发、资料部。
过滤路由的2种情况:
1、在引入路由时对路由进行过滤,filter-policy export
2、在发布路由或接收路由时进行过滤:
(1)、filter-policy export(对距离矢量协议有效,对链路状态协议无效)
(2)、filter-policy import 对接收的路由做过滤(对距离矢量协议、链路状态协议都有效)
ip ip-prefix-list 前缀列表:可以匹配网络号、掩码长度、掩码范围。
ACL 访问控制列表:定义路由只能匹配网络号,不能匹配掩码,功能有限。比如:192.168.11.0/28不能匹配。
ip ip-prefix-list和ACL共同特点,只能匹配网络号,对路由的其他属性无法匹配,所以某些情况下工作量比较大
3、通过route-policy做操作,可以匹配网络号、掩码长度、掩码范围以及其他属性。
(1)、route-policy 可以匹配各种路由的特征,匹配能力更强、灵活、高效。
(2)、可以对路由的属性进行修改,BGP协议大量需要做路由属性编辑就需要使用router-policy。
route-policy匹配规则,按照node号,从小到大进行匹配,一条匹配就不会继续向下匹配,没有则继续向下,默认隐藏就是拒绝所有。
route-policy中的permit代表允许,deny代表拒绝引入。
node中存在多个if-match时,相同的if-match是“或”的关系,不同if-match之间是“与”的关系。
@存在的多个apply时,是“与”的关系(都要执行)。
@node中可以不存在if-match语句,没有if-match匹配所有路由。
总结:if-match和apply可以单独出现。
如果if-match中引入的ACL或者前缀列表prefix-list,而ACL和prefix-list使用的deny语句,会跳过这个node匹配下一个node。
if-match匹配实验:
ip ip-prefix 1 index 10 deny 4.4.4.0 24
route-policy R4 permit node 10
if-match ip-prefix 1
apply cost 111
route-policy R4 permit node 20
apply cost 222
import-route rip 1 route-policy R4
结果是引入了cost为120
R6结果:
route-policy应用实验:
6.6.6.6放行了,这个有问题:
两种手段:路由策略、流量过滤
(1)、路由策略:对接收或发布的路由进行过滤,来控制流量可达性(不发或者不收)。
@Filter-Policy:RIP、OSPF、ISIS、BGP协议都可以使用Filter-Policy对路由进行过滤。
实验:(ACL)
ACL只能匹配网络号,不能匹配掩码长度(思科可以用扩展ACL匹配掩码长度,华为不行)
华为Firster-Policy只能匹配ACL2000-2999,扩展3000的不能用。
链路状态协议(OSPF/ISIS),对引入路由做过滤:
1、在ASBR上做,使用Filter-Policy或者router-policy实现
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1-ospf-1]filter-policy 2000 export static
做之前:五类LSA两条
过滤之后:
过滤奇数路由:
过滤前:
执行过滤:
0 偶数 0000 0000
1 奇数 0000 0001
2 偶数 0000 0010
3 奇数 0000 0011
4 偶数 0000 0100
奇数和偶数只要关注最后1bit是否为0,为0就是偶数,不为0就是奇数
192.168.1.0
0 . 0 . 254 .0
写一个ACL
acl number 2000
rule 5 deny source 192.168.1.0 0.0.254.0
rule 10 permit
export:是在路由引入的时候做过滤,可以带参数。
import:对接收到的路由做过滤。
[R2-ospf-1]filter-policy 2000 import 对于接收的路由做过滤,对于链路状态协议来说不会过滤LSA,LSA依然可以泛洪给邻居
(如果是:[R2-ospf-1]filter-policy 2000 export 对链路状态协议发送的路由一点用也没有,对距离矢量协议有用)
R2过滤后:五类LSA算出的路由在加表的时候过滤。
但是R2身后的R3依旧有这些外部路由:OSPF之间传递LSA,无法被过滤,只能过滤路由产生的结果,但LSA依旧会泛洪给邻居。
距离矢量:传递路由的结果,干掉结果就传不出去了。
链路状态:传递链路状态,产生路由的原因,需要计算结果。
IP-Prefix List:不能用于IP报文的过滤,只能用于路由信息的过滤。
重点:
1、ip ip-prefix 也存在默认语句,拒绝所有的路由。
2、leght
3、ip ip-prefix-list 不能匹配奇偶网段
[R3]ip ip-prefix test index 10 permit 10.0.0.0 16 greater-equal 24 less-equal 28
匹配地址范围是10.0.0.0 - 10.0.x.x,掩码范围是大于等于24小于等于28,例如:10.0.1.0/24,10.0.125.0/26
[R3]ip ip-prefix pp index 10 permit 1.1.1.0 24 精确匹配1.1.1.0/24
[R3]ip ip-prefix pp index 10 permit 1.1.1.0 24 greater-equal 24 less-equal 24 精确匹配1.1.1.0/24
[R3]ip ip-prefix pp index 10 permit 1.1.0.0 16 greater-equal 24 匹配1.1.x.x掩码大于等于24小于等于32的路由
[R3]ip ip-prefix pp index 10 permit 1.1.1.0 16 less-equal 24 匹配1.1.x.x掩码大于16小于等于24的路由
特殊用法:
[R3]ip ip-prefix pp index 10 permit 0.0.0.0 0 匹配缺省路由
[R3]ip ip-prefix pp index 10 permit 0.0.0.0 0 less-equal 32 匹配所有路由
问题:用一条语句把192.168.1.0/24的所有子网匹配出来:
[R3]ip ip-prefix s10 index 10 permit 192.168.1.0 24 greater-equal 25 less-equal 32
问题:用一条语句匹配所有A类网段
0开头都是A类地址
[R1]ip ip-prefix aa index 10 permit 1.0.0.0 1 greater-equal 8 less-equal 8
IP-Prefix List实验:
写好ip ip-prefix list
在OSPF中使用
R2效果:
删除ip ip-prefix list的R2:
问题:用一条语句匹配所有B类网段
10开头都是B类地址
[R2]ip ip-prefix B index 2 permit 128.0.0.0 2 greater-equal 16 less-equal 16
(2)、流量过滤:使用ACL工具对数据报文进行过滤。
对路由没有影响,只是对报文转发时会影响。
2、调整网络流量路径:
都走上边会造成链路浪费,让市场走上边,财务走下边。
默认华为路由器的负载分担方式是基于流的负载分担(数据包五元组定义一股流【报文源目IP、源目MAC、端口号】,非TCP/UDP的包是二元组,根据源目IP)。
解决方法一:通过路由策略方式修改协议属性来控制路由表条目,从而调整流量路径(通过改开销,但是不会改变实际带宽)。
只能根据目的地址做转发,可能导致分流。
解决方法二:采用策略路由(PBR)方式在查找路由表之前控制流量行为(通过filter-policy)。
对流量的转发路径进行控制,控制的对象是报文,非路由表条目。
优点:在于灵活,不再根据目的IP进行报文转发,而是根据管理员定义的策略执行报文转发。
缺点:配置复杂,可能需要多台设备上做定制的配置,扩展性不是很好。
路由策略:
1、操作对象对象是路由表条目。
2、实现路由过滤,从而实现访问控制,引入时过滤,发送和接收路由过滤。
3、通过配置cost,来实现路径的控制。
策略路由:
1、对流量转发路径进行控制,可以基于报文的特征决定转发路径。
2、匹配报文的大小、入接口、优先级、端口号等特征。
第一步定义流量特征:
第二步流量分类:
第三步流量的行为:
重转发,指定下一跳
第四步流策略工具:
注释:策略之间关联定义的流分类做对应的流行为
策略路由实验:
第一步定义流量特征:
acl number 3000
rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq telnet
acl number 3001
rule 5 permit tcp source 192.168.2.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq telnet
traffic classifier B operator or(or是默认加的,如果有多个if-match是逻辑“或”的意思,满足其中一个就行。and就是满足所有)
if-match acl 3001
traffic classifier A operator or
if-match acl 3000
第二步定义流量行为:(redirect重定向)
traffic behavior B
redirect ip-nexthop 10.1.24.4
traffic behavior A
redirect ip-nexthop 10.1.23.3
第三步策略工具:
traffic policy AA
classifier A behavior A
classifier B behavior B
第四步应用策略:
[R2-GigabitEthernet0/0/0]traffic-policy AA inbound
R2回包:
ip route-static 192.168.1.0 255.255.255.0 10.1.12.1
ip route-static 192.168.2.0 255.255.255.0 10.1.12.1
结果:
三、多协议复杂场景的流量路径(双点双向重分发引入的路由环路、回馈)
多点双向的次优路径:(路由回馈)
多点双向的路由环路
RIP优先级100,ISIS优先级15
双点双向路由引入存在的问题:
1、次优路径
2、路由回馈:从一台路由器引出去的路由,又从另一条路由器引回来了。
3、路由环路
这些问题产生的根因是什么?如何解决?
次优路径产生的原因?协议优先级导致的问题,优先级低的路由引入到路由优先级高的协议中,产生次优路径,反之没有。
路由回馈:次优路径之后,再次将路由引入所导致,导致环路风险。
双点双向要解决的问题:
1、无次优路径
2、无路由回馈
3、无路由环路
双点双向做成功的标准,就是路由表没做和做之后是一样的。
双点双向路由引入实验:
R1配置:
[R1-GigabitEthernet0/0/0]ip address 10.1.12.1 24
[R1-LoopBack0]ip address 1.1.1.1 32
[R1]ip route-static 192.168.1.0 24 NULL 0
双点双向重引入之前的路由表信息:
AR3的OSPF路由表:
AR3的ISIS路由表:
环路的样子:
AR4的OSPF引入ISIS中
会进入ISIS的路由:
OSPF内部正常路径:
OSPF外部次优路径了:
AR3的ISIS引入OSPF中
R1是ASBR,R3这个时候也成为了ASBR,在R2上学到两条去往相同目的网络的LSA(192.168.2.0),由于引入的ISIS度量值为1小,R1产生度量值大为2,这个时候环路就产生了。
环路
产生环路的根因就是OSPF已经有一条外部路由了,进入到ISIS后优先级发生改变,再到OSPF引入到ISIS,环路产生。
优先级高往优先级低的引入不会有路由回馈,优先级低的引入优先级高的会引发路由回馈。
现网中双点双向重分发如何解决所面临的问题?(引进去、引回来)
产生问题就因为192.168.2.0的外部路由优先级150,引入到ISIS会回馈
[R3]route-policy oti deny node 10
[R3-route-policy]if-match tag 20
[R3]route-policy oti permit node 20
[R3-route-policy]apply tag 10
[R3-isis-1]import-route ospf 1 route-policy oti
[R3]route-policy ito deny node 10
[R3-route-policy]if-match tag 30
[R3]route-policy ito permit node 20
[R3-route-policy]apply tag 40
[R3-ospf-1]import-route isis 1 route-policy ito
[R3]route-policy ase permit node 10
[R3-route-policy]if-match tag 20(ISIS引入的)
[R3-route-policy]apply preference 150
绝杀:
[R3-ospf-1]preference ase route-policy ase 10
针对192.168.2.0的路由优先级改为10,ISIS的默认150
[R3-isis-1]cost-style wide (ISIS改为宽度量值【ISIS才支持协带Tag】,只有这样才能让ISIS协带Tag信息)
[R4]route-policy ito deny node 10
[R4-route-policy]if-match tag 10
[R4]route-policy ito permit node 20
[R4-route-policy]if-match tag 20
[R4-ospf-1]import-route isis route-policy ito
[R4]route-policy oti permit node 10
[R4-route-policy]apply tag 30
[R4]route-policy oti deny node 10
[R4-route-policy]if-match tag 40
[R4]route-policy ase permit node 10
[R4-route-policy]if-match tag 40
[R4-route-policy]apply preference 150
[R4-ospf-1]preference ase route-policy ase 10
[R4-isis-1]cost-style wide
做之前:
做之后:
通过打路由策略打Tag,修改度量值,解决了双点双向重分发环路,解决了次优路径,所有路由器路由表和做之前一模一样。
这篇关于路由选路控制双点双向重分发(HCIP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!