一、策略路由介绍
策略路由(Policy-based routing)是一种网络路由技术,用于根据特定的策略或条件,对数据包进行选择性地选择不同的路由路径。它可以根据源IP地址、目标IP地址、传输协议、端口号等条件来决定数据包的路由路径。
通常,路由器根据目标IP地址来选择最佳的路由路径将数据包转发到目标主机。然而,有些情况下,根据目标IP地址的路由选择并不是最优的。策略路由的作用就是允许管理员根据特定的策略或需求来选择路由路径,从而实现更精细的流量控制和网络管理。
策略路由可以用于各种场景,例如:
- 负载均衡:根据源IP地址或传输协议等条件,将流量分散到不同的路径上,实现负载均衡。
- 流量控制:根据目标IP地址或端口号等条件,对特定的流量进行限制或优先级控制。
- 安全控制:根据源IP地址或传输协议等条件,将不同的流量转发到不同的防火墙或安全设备进行处理。
- QoS(Quality of Service)保证:根据流量的特性,为不同类型的流量分配不同的优先级和带宽。
策略路由可以通过配置路由器的路由表和路由策略来实现。路由器根据预先定义的策略,对数据包进行匹配和选择路由路径。
二、路由策略与策略路由之间的区别
路由策略
1.基于目的地址按路由表转发。
2.基于控制平面,为路由协议和路由表服务。
3.与路由协议结合完成策略。
4.应用命令:route-policy
策略路由
1.基于策略转发,失败后再查找路由表转发。
2.基于转发平面,为转发策略服务。
3.需要手工逐跳配置,以保证报文按策略转发。
4.应用命令:policy-based-route(本地策略路由)。
三、本地策略路由
命令 | 备注 |
policy-based-route pyy permit node 10 | 创建名为pyy的本地策略路由 |
if-match acl 3000 | 配置匹配条件为acl 3000(根据需求) |
if-match packet-length 64 1000 | 配置ip报文长度匹配条件(根据需求) |
apply output-interface g0/0/1 | 配置出接口(不推荐,涉及到arp的问题) |
apply ip-address next-hop 12.0.0.2 | 配置下一跳(推荐) |
ip local policy-based-route pyy | 调用本地策略路由 |
案例分析
两台路由器之间用静态路由通信,通过配置本地策略路由实现去往2.2.2.2的流量同样也走下面那条路。
配置前:去往2.2.2.2的流量走上面那条路,去往3.3.3.3的流量组下面那条路。
AR3:
[Huawei]acl 3000
[Huawei-acl-adv-3000]rule permit ip destination 2.2.2.2 0
[Huawei-acl-adv-3000]q
[Huawei]policy-based-route pyy permit node 10
[Huawei-policy-based-route-pyy-10]if-match acl 3000
[Huawei-policy-based-route-pyy-10]apply ip-address next-hop 10.1.2.2
[Huawei-policy-based-route-pyy-10]q
[Huawei]ip local policy-based-route pyy
配置后:去往2.2.2.2的流量也走下面那条路了。
四、接口策略路由
接口策略路由通过流策略技术实现。
流策略:将流分类和流行为关联,就是流策略,形成了“模板化”的配置方式,最大优点是可以节省配置,支持批量修改。
命令 | 备注 |
traffic classifiter pyy | 创建流分类 |
traffic behavior pyy | 创建流行为 |
traffic policy pyy | 创建流策略 |
traffic-policy pyy inbound | 调用流策略 |
技术:
traffic classifiter:用if-match语句设定流分类 的匹配规则。
traffic behavior :执行动作,例如重标记、重定向、负载分担、报文分片、流量限速、流量统计等。
traffic policy:将流分类和流行为关联,应用到流量的入接口。
案例分析
服务器和客户端同时开启http服务和ftp服务。
配置前:通过抓包发现ftp的流量都是走的上面那条路
现在我们通过配置接口策略路由实现ftp的流量都走下面的那条路。
AR1:(对请求的包做策略)
[Huawei]acl 3001
[Huawei-acl-adv-3001]rule permit tcp destination-port eq ftp
[Huawei-acl-adv-3001]q
[Huawei]traffic classifier FTP
[Huawei-classifier-FTP]if-match acl 3001
[Huawei-classifier-FTP]q
[Huawei]traffic behavior FTP
[Huawei-behavior-FTP]redirect ip-nexthop 10.1.2.2
[Huawei-behavior-FTP]q
[Huawei]traffic policy FTP
[Huawei-trafficpolicy-FTP]clas
[Huawei-trafficpolicy-FTP]classifier FTP behavior FTP
[Huawei-trafficpolicy-FTP]q
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]traffic-policy FTP inbound
AR2:(对响应的包做策略)
[Huawei]acl 3000
[Huawei-acl-adv-3000]rule permit tcp destination-port eq ftp
[Huawei-acl-adv-3000]q
[Huawei]traffic classifier FTP
[Huawei-classifier-FTP]if-match ACL 3000
[Huawei-classifier-FTP]q
[Huawei]traffic behavior FTP
[Huawei-behavior-FTP]redirect ip-nexthop 10.1.2.1
[Huawei-behavior-FTP]q
[Huawei]traffic policy FTP
[Huawei-trafficpolicy-FTP]classifier FTP behavior FTP
[Huawei-trafficpolicy-FTP]q
[Huawei]int G0/0/2
[Huawei-GigabitEthernet0/0/2]traffic-policy FTP inbound
配置后:通过抓包可以发现ftp流量都是走的下面那条路。
五、总结
本地策略路由:仅对本机下发的报文进行处理,对转发的报文不起作用。
接口策略路由:仅对转发的报文起作用,对本地下发的报文不起作用。