控制网络流量可达性
思考:如何控制网络流量可达性?

解决方案一:可通过修改路由条目(即对接收和发布的路由进行过滤)来控制流量可达性,这种方式称为路由策略。
解决方案二:可直接通过依据用户制定的策略进行转发,且该策略优于路由表转发,这种方式称为策略路由。
- 策略路由 与 路由策略
区别和联系:两者都是为了改变网络流量的转发路径,目的一样, 但实现的方式不一样。

路由策略是通过更改某些路由参数影响路由表的路由条目来影响报文的转发 (例如:filter-policy 、route-policy、cost值修改、 优先级修改等)
策略路由是通过管理员在路由器上面配置策略强制数据包按照策略转发,策略路由优先于路由表。(比如:策略路由可以基于源地址定制数据的转发路径)
2.策略路由
策略路由PBR(Policy Based Routing)与单纯依照IP报文的目的地址查找路由表进行转发有所不同,它是一种依据用户制定的策略(例如:基于源地址)而进行流量转发的机制。策略路由的查找优先级比路由表高,当路由器接收到数据包并进行转发时,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由进行转发,否则按照路由表中的路由条目来进行转发。其中策略路由不改变路由表中的任何内容,它可以通过预先设置的规则来影响数据报文的转发。

2.1策略路由PBR分为:
- 本地策略路由:对本设备发送的报文实现策略路由,比如本机下发的ICMPBGP等协议报文。当用户需要实现不同源地址的报文或者不同长度的报文通过不同的方式进行发送时,可以配置本地策略路由。
常用Policy-Based-Route工具来实现。调试方式在全局下:
全局\]ip local policy-based-route aa (2)接口策略路由(最常用):对流经本设备的转发流量生效,对本机主动触发的报文(例如在R1上主动去ping目标192.168.1.1)不生效。当用户需要将收到的某些报文通过特定的下一跳地址进行转发时,需要配置接口策略路由。使匹配的报文通过特定的下一跳出口进行转发,不匹配的报文则根据路由表直接转发。接口策略路由多应用于负载分担和安全监控。 常用Traffic-Policy工具来实现。调用方式在接口下:int gi 0/0/1 traffic-policy aa inbound 对于进入接口的流量调用策略路由 (3)智能策略路由:基于链路质量信息为业务数据流选择最佳链路。当用户需要为不同业务选择不同质量的链路时,可以配置智能策略路由。常用Smart-Policy-Route工具来实现。 2.2路由策略与策略路由的区别  问题:常用调整网络流量路径的方式有哪些? 答:路由策略和策略路由。 3.路由策略配置  模拟环境中:路由设备选择AR3260 3.1基础信息配置 R1: sys un in en sysn R1 interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 12.1.1.1 255.255.255.0 interface GigabitEthernet0/0/2 ip address 13.1.1.1 255.255.255.0 interface LoopBack0 ip address 1.1.1.1 255.255.255.255 R2: sys un in en sysn R2 interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 interface GigabitEthernet0/0/1 ip address 24.1.1.2 255.255.255.0 interface LoopBack0 ip address 2.2.2.2 255.255.255.255 R3: sys un in en sysn R3 interface GigabitEthernet0/0/0 ip address 13.1.1.3 255.255.255.0 interface GigabitEthernet0/0/1 ip address 34.1.1.3 255.255.255.0 interface LoopBack0 ip address 3.3.3.3 255.255.255.255 R4: sys un in en sysn R4 interface GigabitEthernet0/0/0 ip address 24.1.1.4 255.255.255.0 interface GigabitEthernet0/0/1 ip address 34.1.1.4 255.255.255.0 interface GigabitEthernet0/0/2 ip address 192.168.3.1 255.255.255.0 interface LoopBack0 ip address 4.4.4.4 255.255.255.255 3.2配置ospf路由协议,使得PC1、PC2能够访问PC3 R1: ospf 1 router-id 1.1.1.1 area 0 network 1.1.1.0 0.0.0.255 network 12.1.1.0 0.0.0.255 network 13.1.1.0 0.0.0.255 network 192.168.1.0 0.0.0.255 R2: ospf 1 router-id 2.2.2.2 area 0 network 2.2.2.0 0.0.0.255 network 12.1.1.0 0.0.0.255 network 24.1.1.0 0.0.0.255 R3: ospf 1 router-id 3.3.3.3 area 0 network 3.3.3.0 0.0.0.255 network 13.1.1.0 0.0.0.255 network 34.1.1.0 0.0.0.255 R4: ospf 1 router-id 4.4.4.4 area 0 network 4.4.4.0 0.0.0.255 network 24.1.1.0 0.0.0.255 network 34.1.1.0 0.0.0.255 network 192.168.3.0 0.0.0.255  3.3修改路由的参数影响路由表进行转发  (1)通过修改R1接口的OSPF开销值影响路由表,使得PC1或者PC2走R2访问PC3。 \[R1\]int g0/0/2 \[R1-GigabitEthernet0/0/2\]ospf cost 2 \[R1-GigabitEthernet0/0/2\]quit \[R1\]dis ip routing-table   1. filter-policy(路由过滤)  在R4上接入PC4,配置接口IP地址,以及进行OSPF路由宣告 interface GigabitEthernet0/0/3 ip address 192.168.4.1 255.255.255.0 ospf 1 area 0 network 192.168.4.0 0.0.0.255 在R1上查看路由表,可以看到R1学习到192.168.4.0的网段,因为前面把接口的OSPF开销进行了修改,所以去往192.168.4.0经过R2进行转发。  接下来删除掉R1的G0/0/2接口下的OSPF开销值,恢复默认值 interface GigabitEthernet0/0/2 \[R1-GigabitEthernet0/0/2\]undo ospf cost  然后在R1上进行创建基本ACL,通过路由过滤的方式影响路由表,禁止PC1、PC2访问PC4。 R1: acl number 2024 rule 5 deny source 192.168.4.0 0.0.0.255 rule 10 permit ospf 1 filter-policy 2024 import  由以上的路由表可以看到R1去往的192.168.4.0的路由被过滤掉,经过R1是无法访问192.168.4.0,实现了路由策略的效果。  4.策略路由的配置 实验配置还是使用上面的拓扑图,把之前配置的路由过滤策略和ACL取消掉   4.1策略路由-本地方式 本地方式:只能对由本机主动触发的流量生效。对流经本机的 (转发流量)无效。 首先在R1的G0/0/2接口上多OSPF的开销进行修改,使得数据报文经过R2进行转发。 interface GigabitEthernet0/0/2 ospf cost 2  \[R1\]policy-based-route aa permit node 10 \[R1-policy-based-route-aa-10\]if-match acl 3001 如果报文匹配到ALC 3001 \[R1-policy-based-route-aa-10\]apply ip-address next-hop 13.1.1.3 指定强制报文的下一跳为13.1.1.3 \[R1-policy-based-route-aa-10\]quit \[R1\]acl number 3001 rule 5 permit ip destination 192.168.4.2 0 \[R1\]ip local policy-based-route aa 本地调用策略路由  在R1上通过tracert命令可以看到,该报文经过13.1.1.3进行转发到达192.168.4.2。 对于PC1、PC2去192.168.4.2,因为经过R1进行转发,还是走R2,不是通过R1主动的访问,所以策略路由无效。  4.2策略路由-接口方式 先将4.1配置的本地方式策略路由配置取消掉,在进行模拟基于接口的方式策略路由。 undo policy-based-route aa undo acl number 3001 undo ip local policy-based-route aa 场景:通过基于接口方式的策略路由实现PC1经过R2访问PC4,PC2经过R3访问PC4。 因为是PC1、PC2进行访问,所以策略路由做在R1上。  (1)流量分类 首先创建ACL acl number 2024 rule 5 permit source 192.168.1.2 0 acl number 2025 rule 5 permit source 192.168.1.3 0 然后创建分类,在流量分类下去调用ACL traffic classifier caiwubu if-match acl 2024 traffic classifier shichangbu if-match acl 2025 (2)定义不同的动作 traffic behavior caiwu redirect ip-nexthop 12.1.1.2 traffic behavior shichang redirect ip-nexthop 13.1.1.3 (3)创建策略,将动作与分类进行关联 traffic policy aa classifier caiwubu behavior caiwu classifier shichangbu behavior shichang (4)将创建的策略在接口下进行调用 注意:目前基于接口的策略路由只针对入方向生效。 interface GigabitEthernet0/0/0 traffic-policy aa inbound 财务部PC1访问PC4,其实在以上网络拓扑中不需要做策略路由也是可以访问到PC4的,因为原来路由表PC1访问PC4还是经过R2。实验可以让PC2访问PC4看到策略路由的效果。 PC1:  PC2:  查看流量策略(Traffic - Policy)的应用记录: display traffic-policy applied-record 